Как в XFCE при автозапуске открыть окно программы на определенном рабочем столе и в определенном месте.
У некоторых возникает вопрос Как в XFCE в автозапуске открыть окно программы на определенном рабочем столе?
есть несколько способов как это сделать (я знаю два) очень удобен был способ при котором использовалась спец гуи утилита, с помощью которой можно было настроить правила для каждого окна любой программы. я пишу «было» потому, что основана она на питоне2, который практически выпилен из системы и его использовать не рекомендуют. когда создатели этих утилит очнуться и перепишут код, я добавлю этот обзор. а пока расскажу про несколько костыльный, но рабочий способ достичь желаемого. есть утилита wmctrl, которая позволяет сделать активным необходимый рабочий стол, рабочие столы нумеруются начиная с 0, запись вида wmctrl -s 1 означает сделать активным второй рабочий стол.
в Автозапуск приложений настроек Сеансы и запуск крысы нужно добавить строки подобного плана
записью sleep 10 контролируем последовательность активирования рабочих столов, а так же даем возможность отработать предыдущей команде с учетом времени активации окна. именно в этом и заключается костыльность такого способа, так как для каждого окна, каждой программы это значение придется подбирать индивидуально.
выше я привел примеры строк автозапуска коньков на первом рабочем столе и телеги на втором рабочем столе. первым делается активным второй рабочий стол и запускается телега, потом активируется первый рабочий стол и запускаются коньки.
зы. как расположить окно в нужном месте рабочего стола описано ниже в моем комментарии
есть несколько способов как это сделать (я знаю два) очень удобен был способ при котором использовалась спец гуи утилита, с помощью которой можно было настроить правила для каждого окна любой программы. я пишу «было» потому, что основана она на питоне2, который практически выпилен из системы и его использовать не рекомендуют. когда создатели этих утилит очнуться и перепишут код, я добавлю этот обзор. а пока расскажу про несколько костыльный, но рабочий способ достичь желаемого. есть утилита wmctrl, которая позволяет сделать активным необходимый рабочий стол, рабочие столы нумеруются начиная с 0, запись вида wmctrl -s 1 означает сделать активным второй рабочий стол.
в Автозапуск приложений настроек Сеансы и запуск крысы нужно добавить строки подобного плана
bash -c "sleep 1;wmctrl -s 1 && /opt/Telegram/Telegram -workdir /home/kostya/.local/shar/TelegramDesktop/ -autostart"
bash -c "sleep 10;wmctrl -s 0 && conky -c "/home/kostya/.conky/Conky_left_small_v3/conkysmall-v3-Manjaro/ConkySmall-3" &"
записью sleep 10 контролируем последовательность активирования рабочих столов, а так же даем возможность отработать предыдущей команде с учетом времени активации окна. именно в этом и заключается костыльность такого способа, так как для каждого окна, каждой программы это значение придется подбирать индивидуально.
выше я привел примеры строк автозапуска коньков на первом рабочем столе и телеги на втором рабочем столе. первым делается активным второй рабочий стол и запускается телега, потом активируется первый рабочий стол и запускаются коньки.
зы. как расположить окно в нужном месте рабочего стола описано ниже в моем комментарии