xmonad:将所有新窗口移动到当前关注的工作区

our*_*ros 8 haskell xmonad xterm

我知道可以将某些程序设置为在某些工作空间中生成,如下所示:

myManageHook = composeAll
    [ classname =? "XTerm" --> doShift "3" ]
main = xmonad $ defaultConfig
    { manageHook = myManageHook <+> manageHook defaultConfig }
Run Code Online (Sandbox Code Playgroud)

这样所有的实例Xterm都会在工作区"3"中产生.我想要做的是让所有新程序在工作区中产生,它们在启动时处于焦点,例如,如果我在工作区"1"并启动firefox,则快速切换到工作区"2" ,firefox窗口将保留在工作区"1".

我正在想一些有效的东西

import qualified XMonad.StackSet as W

myManageHook = composeAll
    [ classname =? ".*" --> doShift currentTag ]
main = xmonad $ defaultConfig
    { manageHook = myManageHook <+> manageHook defaultConfig }
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,但希望你能得到这个想法.

我的问题与意图中的这个问题非常相似,但是我希望所有程序都在最初聚焦的工作区中产生,但是我打开它们(dmenu,从终端等)