Выполнить команды wmctrl в xinitrc

533
pmr

Я использую 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 
2

1 ответ на вопрос

2

You need to execute xmonad before launching terminals and trying to move them.

xmonad & (urxvt -e ncmpcpp && wmctrl -r ncmpcpp -t 9) 
Разве цель exec не состоит в том, чтобы заменить текущий процесс процессом, запущенным аргументами, и как команды выполняются после этого? pmr 10 лет назад 0
Это мое плохо, я устал думать прямо сейчас. 10 лет назад 0

Похожие вопросы