xmonad - 打开一个特定图块的窗口

问题描述 投票:4回答:1

我有三个运行监视器命令的终端,它们在登录时加载。我将工作区配置为默认,左侧为2/3,右侧为1/3,右侧瓷砖垂直分割为1/1。我想在xmonad.hs中控制每个终端接入哪个磁贴,但我不确定我需要使用哪些功能。我猜测一个新的Mangehook将是有序的,但除此之外,我迷失了。

感激地接受任何指针。

TIA

window position xmonad
1个回答
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频道的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.ComboPXMonad.Layout.TwoPane

© www.soinside.com 2019 - 2024. All rights reserved.