我有三个运行监视器命令的终端,它们在登录时加载。我将工作区配置为默认,左侧为2/3,右侧为1/3,右侧瓷砖垂直分割为1/1。我想在xmonad.hs中控制每个终端接入哪个磁贴,但我不确定我需要使用哪些功能。我猜测一个新的Mangehook将是有序的,但除此之外,我迷失了。
感激地接受任何指针。
TIA
目前我正在使用滞后产生应用程序的脏黑客:
myStartupHook = do
spawnOn "workspace" "app3"
spawnOn "workspace" "sleep 0.5; app2"
spawnOn "workspace" "sleep 1; app1" -- will be placed in master if default not changed, see last paragraph
在#xmonad
频道的Know-it-all Geekosaur先生指出你也可以这样做
spawnAndDo (doShift "workspace" <+> doF W.shiftMaster) "app"
但这只适用于你想要一个主应用程序和一个奴隶应用程序。否则你会遇到和以前一样的问题......
请查看contrib包中的XMonad.Hook.InsertPosition
。有了它的帮助,您可以重新定义添加新窗口的默认位置 - 这可能对您有所帮助。
编辑:我想出了另一种方法:在左上方放置mutt
,在左右放置newsbeuter
,在整个右侧放置irssi
,我将ComboP
的布局和排序(在主人或奴隶上)进行排序。为了将mutt放在上面我从上面使用Geekosaurs提示。
相关代码:
import XMonad.Layout.TwoPane
import XMonad.Layout.ComboP
...
myLayout = combineTwoP (TwoPane (3/100) (2/3)) (Mirror $ ResizableTall 1 (3/100) (2/3) []) (ResizableTall 1 (3/100) (1/2) []) (Title "mutt" `Or` Title "newsbeuter")
查看文档以修改我需要的设置:XMonad.Layout.ComboP
,XMonad.Layout.TwoPane
。