在 xinitrc 中执行 wmctrl 命令

在 xinitrc 中执行 wmctrl 命令

我正在使用 XMonad 配置为通过它接受命令,wmctrl并希望通过它启动一些应用程序xinitrc并将它们移动到某个工作区。

当我通过终端使用时,这些命令有效:

# Launch a terminal with ncmpcpp and move it to workspace 9
urxvt -e ncmpcpp && wmctrl -r ncmpcpp -t 9 

但如果我尝试将它们放入我的电脑,.xinitrc它们就不再工作了。应用程序启动了,但没有移动到正确的屏幕。我怀疑这是因为调用在 xmonad 执行之前执行。

xinitrc

(urxvt -e ncmpcpp && wmctrl -r ncmpcpp -t 9) &
exec xmonad

我已经尝试添加睡眠时间,但这也无济于事,我想让它可靠地工作:

(urxvt -e ncmpcpp && sleep 5 && wmctrl -r ncmpcpp -t 9) &
exec xmonad

答案1

您需要在启动终端并尝试移动它们之前执行 xmonad。

xmonad &
(urxvt -e ncmpcpp && wmctrl -r ncmpcpp -t 9)

相关内容