【问题标题】:Xmonad: when floating a window, move or resize itXmonad:浮动窗口时,移动或调整它的大小
【发布时间】:2012-02-06 08:24:59
【问题描述】:

我更喜欢使用键盘来浮动或下沉窗口。不幸的是,在浮动时,窗口不会移动或调整大小,因此几乎没有视觉迹象表明它们还没有平铺。理想情况下,在移动到浮动层时,我会让它们移动到屏幕中心和/或调整大小。

最好的解决方案是与下面的函数(或类似的东西)一起工作,我用键绑定调用它——我希望通过鼠标单击浮动以仍然正常工作。

toggleFloat = withFocused (\windowId -> do
                              { floats <- gets (W.floating . windowset);
                                if windowId `M.member` floats
                                then withFocused $ windows . W.sink
                                else float windowId })

(代码被盗,我仍然没有掌握 Haskell:c)

编辑:下面修改后的代码中的 keysMoveWindowTo 内容实际上可以替换“float windowId”,这使得它变得多余。

【问题讨论】:

    标签: haskell window-managers xmonad


    【解决方案1】:

    我想你已经安装了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
                                  }
                              ) 
    

    x,y,dx,dy,gx1,gy1,gx2,gy2 是您的设置。
    文档中提到的运算符%来自Data.Ratioa % b 表示有理数,分子为a,分母为b。如果你想使用它,你必须导入它:

    import Data.Ratio ((%))
    

    【讨论】:

    • 哈哈 30 分钟前,我克服了我莫名其妙的、自虐的拒绝甚至考虑在我的 xmonad.hs 中添加更多的贡献的东西,马上找到了 FloatKeys,摆弄了一分钟然后冲回这里说 N /M N/M 伙计们。但是在 StackOverflow.com 上不会有任何尊严被挽救......
    • 我试图这样做并发现当您执行 keysMoveWindow 或 keysResize 窗口时,窗口会自动浮动。所以我只为这些设置了键绑定,再加上sinkFocused = withFocused $ windows . W.sink 让它们再次下沉。
    • 谢谢,今天晚些时候我会更新答案,当时没有float 没有尝试过。
    【解决方案2】:

    mod+左拖浮动窗口,mod+右拖调整大小。

    【讨论】:

    • 你如何撤消它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    相关资源
    最近更新 更多