我有三个运行监视器命令的终端,它们在登录时加载。我将工作区配置为默认,左侧为2/3,右侧为1/3,右侧瓷砖垂直分割为1/1。我想在xmonad.hs中控制每个终端所在的哪个区块,但我不确定我需要使用哪些功能。我猜测一个新的Mangehook将是有序的,但除此之外,我已经失去了。
感激地接受任何指针。
TIA
答案 0 :(得分:3)
目前我通过滞后产生应用程序来使用脏黑客:
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
频道中的全知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
。