我正在尝试设置主要应用程序的自动启动。
关注xmonad spawn on startup in different workspace我已将以下内容添加到startupHook
startup :: X ()
startup = do
setWMName "LG3D"
spawnOn "workspace1" "urxvt"
spawnOn "workspace2" "emacs"
spawnOn "workspace3" "chromium"
但有三个问题:
shellPromptOn
,但它需要一个额外的参数,我不知道从哪里获取它。xmonad --restart
上再次启动应用。我们怎能防范呢?能够在不退出的情况下重启xmonad是非常有用的,我不想失去这种能力。答案 0 :(得分:0)
terminal = "urxvt"
spawnOn "workspace1" terminal
答案 1 :(得分:0)
对于2.种情况,我能够执行以下操作:
启动时,我遇到的问题与问题类似,但工作区名称已更改
startup :: X ()
startup = do
spawnOn "ed" "code-insiders"
spawnOn "www" "opera"
spawnOn "slack" "slack"
这使它们从当前工作空间开始。要将它们移到各自的工作区,我必须添加一个ManageHook
,如下所示:
myManageHook :: ManageHook
myManageHook = composeAll
[ className =? "Code - Insiders" --> doShift "ed"
, className =? "Opera" --> doShift "www"
, className =? "Slack" --> doShift "slack"
, manageDocks
]
要了解应用程序的className
,例如上面的“代码-内部人员”,您需要在终端中运行以下程序
$ xprop | grep WM_CLASS
,然后使用给定的鼠标指针单击所需程序的窗口。这会将className
写入终端。