1

我正在寻找一种将doCenterFloat我的管理钩子中的行为复制到键绑定的方法。我想保持窗户“自然”的大小。例如,当我创建一个大小为 800x600 的 OpenGL 窗口时,我必须手动将窗口的标题添加到我的 XMonad 配置中,否则它将被平铺并且窗口的内容将被拉伸。

这是我试图复制到键绑定的代码

myManageHook = composeAll
     [ title =? "OpenGL"              --> doCenterFloat ]

上面的代码使窗口正确显示。我已经尝试过切换普通浮动(不是 centerFloat)的功能,但它们以平铺大小显示,例如 Xmonad: Float and resize windows to its “natural size

任何帮助深表感谢

4

1 回答 1

1
runQuery :: Query a -> Window -> X a

http://hackage.haskell.org/package/xmonad-contrib-0.16/docs/XMonad-Config-Prime.html#v:runQuery

withFocused :: (Window -> X ()) -> X ()

http://hackage.haskell.org/package/xmonad-contrib-0.16/docs/XMonad-Config-Prime.html#v:withFocused

使用上述两个功能,myQuery将在哪里设置你的Query(如doCenterFloat)。

myQuery = undefined :: Query
withFocused (\window -> runQuery myQuery window)
于 2021-05-04T11:52:22.127 回答