xmonad:移动新的浮动窗口

Xyr*_*rox 5 haskell window-managers xmonad

正如描述的这个这个问题,我的浮动窗口有时会落后于其他窗口一起使用xmonad与康普顿时呈现.我想尝试的一种可能的解决方法是使xmonad稍微移动新的浮动窗口,这应该将它们渲染到其他窗口之上.但是,作为xmonad和Haskell的新手,我不知道如何实现这一目标.

如何告诉xmonad"当创建一个新的浮动窗口时,向右移动一个像素"?

(xmonad-0.10和xmonad-contrib-0.10)

Mar*_*189 1

对于真正想要移动窗户的人来说,可以按照以下方法操作:

在您的 $HOME/.xmonad.xmonad.hs 中:

添加一些导入(您可以跳过现有的,注意 Xmonad.StackSet 的限定导入和下面的“W.shift”,如果您使用其他名称导入它,则必须调整名称)

import XMonad.Hooks.XPropManage
import qualified XMonad.StackSet as W
import XMonad.Actions.TagWindows
import Data.List
Run Code Online (Sandbox Code Playgroud)

并添加

manageHook = xPropManageHook xPropMatches

xPropMatches :: [XPropMatch]
xPropMatches = [ ( [(wM_CLASS, any (const True))], (return (W.shift "2"))) ]
Run Code Online (Sandbox Code Playgroud)

这应该适用于所有窗口。如果你想控制搭配,

(const True)
Run Code Online (Sandbox Code Playgroud)

可以替换为具有该类型的任何内容

String -> Bool
Run Code Online (Sandbox Code Playgroud)

例如

("Vimperator" `isInfixOf`)
Run Code Online (Sandbox Code Playgroud)

ETC

来源: XPropManage