![](/img/trans.png)
[英]Move window to workspace and focus that workspace (shiftAndView) on XMonad WM
[英]How to do spacing per window on focus with xmonad?
我试图在焦点而不是边框上围绕 window 做间距。 它更容易看到,window 的重点是什么。
XMonad.Actions.Spacing
模块不包含基于 window id 进行间距的方法,我可以这样做:
myHook ConfigureEvent{ev_event_type = focusIn, ev_window = id} = do
setSpacing id opacity
有没有办法,我需要什么?
免责声明:下面的代码尚未经过测试并且可能无法编译,即使它编译,也许xmonad
或xmonad-contrib
有充分的理由不导出此功能,因为它似乎破坏了平铺设置......这个答案不适合评论,但应将其视为建议而不是解决方案。
您可以复制粘贴一些操作代码并根据您的意愿进行修改。 例如,从XMonad.Actions.NoBorders
中模仿toggleBorder
,您可以获得宽度和高度属性并将它们设置为原始的 95%。
-- Maybe more inputs are necesary, check for compiler errors
import XMonad
resizeOnFocus :: Window -> X ()
resizeOnFocus w = do
withDisplay $ \d -> io $ do
windowW <- wa_width <$> getWindowAttributes d w
windowH <- wa_height <$> getWindowAttributes d w
let newW = floor $ fromIntegral windowW * 0.95
newH = floor $ fromIntegral windowH * 0.95
resizeWindow d w newW newH
将其与withFocused
用作标准操作((modMask x, xK_g ), withFocused resizeOnFocus )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.