【问题标题】:Xmonad - Spawn a program silently on specified monitor and workspace?Xmonad - 在指定的监视器和工作区上静默生成程序?
【发布时间】:2021-02-22 01:09:06
【问题描述】:

如何在特定的显示器和特定的工作空间上静默启动程序而不专注于它,有点像按Mod + Shift + n 时所做的那样?以下方法的问题

className =? "ProgramClass" --> doShift ( workspaces !! n ),

是它不仅将窗口移动到工作区,还打开了一个工作区,我宁愿避免。 spawnOn 本质上是一样的。

这是我目前的config

【问题讨论】:

  • 对不起,“打开工作区”是什么意思?
  • 当应用程序转移发生时,工作区变为活动状态,假设我希望程序启动第三个工作区和第二个屏幕,同时在屏幕 1 和屏幕 2 上保持工作区 1 和工作区 2 处于活动状态,
  • @DanielWagner 我认为他们的意思是工作空间偷走了焦点

标签: haskell xmonad


【解决方案1】:

好的,我的问题是 XMonad.Hooks.EwmhDesktops 从配置中删除后 doShift 可以正常工作而不会窃取我的注意力,并将项目移动到专用工作区而不激活它。

【讨论】:

    【解决方案2】:

    这里的评论太长了。我还没有测试解决方案:

    doShift 没有将工作空间更改为文档,问题是新窗口是直接在新工作空间中打开的。我认为你应该定义 ManageHook 并执行它:

    -- neccesary imports
    import XMonad.ManageHook
    import qualified XMonad.StackSet as W
    
    -- creates a new ManageHook
    openSilent :: WorkspaceId -> ManageHook
    openSilent tows = do
       fromws <- liftX $ return . W.currentTag . windowset =<< get -- get the current ws tag
       wid    <- ask                                             -- get opened windowId
       doF $ W.view fromws . W.insertUp wid . W.view tows
    --       |               |                |- move focus to "to" workspace
    --       |               |- insert window
    --       |- move focus back to "from" workspace
    

    钩子应该像常规一样使用

    className =? "ProgramClass" --> openSilent "workspaceName"
    

    【讨论】:

    • xmonad.hs:320:33:错误:变量不在范围内:w | 320 | doF $ 查看 fromws 。插入向上 w 。查看拖车| ^
    • xmonad.hs:320:33:错误:变量不在范围内:w | 320 | doF $ 查看 fromws 。插入向上 w 。查看拖车| ^
    • xmonad.hs:320:10: 错误: • 变量不在范围内:view :: t0 -> b0 -> WindowSet • 也许您的意思是“W.view”(从 XMonad.StackSet 导入) | 320 | doF $ 查看 fromws 。插入向上 w 。查看拖车| ^^^^
    • xmonad.hs:318:31: 错误: • 变量不在范围内:currentTag :: WindowSet -> t0 • 也许您的意思是其中之一:'W.currentTag'(从 XMonad.StackSet 导入), 'currentTime' (从 XMonad 导入), 'W.current' (从 XMonad.StackSet 导入) | 318 | fromws
    • @AndriusSolopovas 抱歉,我错过了合格的进口。在没有可用编译器的情况下编写代码。检查编辑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多