use*_*815 6 haskell window-managers xmonad
我更喜欢用键盘来漂浮或下沉窗户.不幸的是,当浮动时,窗户不会移动或调整大小,因此很少有视觉指示它们仍然没有平铺.理想情况下,在转移到浮动层时,我会将它们移动到屏幕中心和/或调整大小.
最好的解决方案将与下面的函数(或类似的东西)一起工作,我用keybind调用 - 我想通过鼠标点击浮动仍然可以正常工作.
toggleFloat = withFocused (\windowId -> do
{ floats <- gets (W.floating . windowset);
if windowId `M.member` floats
then withFocused $ windows . W.sink
else float windowId })
Run Code Online (Sandbox Code Playgroud)
(代码被盗,我仍然没有掌握Haskell:c)
编辑:keysMoveWindowTo下面修改过的代码中的东西实际上只能替换"float windowId",这是多余的.
我想你已经xmonad-contrib
安装了包.然后你应该看看XMonad.Actions.FloatKeys
我猜修改的功能将是:
...
import XMonad.Actions.FloatKeys
...
toggleFloat = withFocused (\windowId -> do
{ floats <- gets (W.floating . windowset);
if windowId `M.member` floats
then withFocused $ windows . W.sink
else do
keysMoveWindowTo (x, y) (gx1, gy1) windowId
keysResizeWindow (dx, dy) (gx2, gy2) windowId
}
)
Run Code Online (Sandbox Code Playgroud)
其中x
,y
,dx
,dy
,gx1
,gy1
,gx2
,gy2
是你的设置.文档中提到的
运算符%
来自Data.Ratio
; a % b
指分子a
和分母的有理数b
.如果要使用它,则必须导入:
import Data.Ratio ((%))
Run Code Online (Sandbox Code Playgroud)