serii81
@serii81
Я люблю phр...

Как в i3wm запустить программы на разные мониторы?

Добрый день.
xubuntu 22.04, сверху натянул i3wm.

В i3conf прописаны настройки по запуску приложений
exec_always --no-startup-id /usr/bin/skypeforlinux;
exec_always --no-startup-id /usr/bin/google-chrome;
exec_always --no-startup-id /usr/bin/qbittorrent;
exec_always --no-startup-id /usr/bin/telegram-desktop;

assign [class="firefox"] → 5
assign [class="bomi" instance="bomi"] → 1
assign [class="figma-linux" instance="figma-linux"] → 1
assign [class="Code"] → 2
assign [class="jetbrains-phpstorm"] → 2
#assign [class="Google-chrome"] → 3
assign [class="Skype"] → 4
assign [class="Slack"] → 5
assign [class="Local" instance="local"] 6
assign [class="TelegramDesktop" instance="telegram-desktop"] → 7
assign [class="TelegramDesktop" instance="telegram-desktop"] → 7
assign [class="qBittorrent" instance="qbittorrent"] → 8
assign [class="Gimp" instance="gimp"] → 10
assign [class="Audacious" instance="audacious"] → 9


После загрузки системы, программы запускаются на том мониторе, где есть фокус мышки.
А можно как-то назначить запуск на определенный монитор, у меня их два?

И еще, если это возможно, то дома тоже такой же конфиг используется, и возможно использовать if или другие логические конструкции, чтобы определить, есть ли такой монитор.

На худой конец создам 2 файла с конфигами.

Или есть возможность импортировать часть конфигов?

Заранее извиняюсь за столь многие вопросы и благодарен за ответ.
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
serii81
@serii81 Автор вопроса
Я люблю phр...
Получилось

Через xrandr узнаем какие мониторы у нас подключены, и потом запускаем программы на определенном мониторе.

Вот мой полный конфиг
exec_always --no-startup-id lxpolkit
exec_always --no-startup-id /usr/bin/skypeforlinux;
exec_always --no-startup-id /usr/bin/google-chrome;
exec_always --no-startup-id /usr/bin/copyq;
exec_always --no-startup-id /usr/bin/local;
exec_always --no-startup-id /home/serii/.local/share/JetBrains/Toolbox/scripts/phpstorm;

assign [class="bomi" instance="bomi"] → 1
assign [class="figma-linux" instance="figma-linux"] → 1
assign [class="Code"] → 2
assign [class="jetbrains-phpstorm"] → 2
# assign [class="Google-chrome"] → 1
assign [class="Skype"] → 4
assign [class="Slack"] → 5
assign [class="firefox"] → 5
assign [class="Local" instance="local"] 6
assign [class="TelegramDesktop" instance="telegram-desktop"] → 7
assign [class="qBittorrent" instance="qbittorrent"] → 8
assign [class="Audacious" instance="audacious"] → 9
assign [class="Gimp" instance="gimp"] → 10


workspace 1 output VGA-1
workspace 2 output DP-2
workspace 4 output DP-2
workspace 6 output DP-2

# for_window [class="figma-linux"] focus
for_window [class="Skype"] focus
# for_window [class="Slack"] focus
# for_window [class="firefox"] focus
for_window [class="jetbrains-phpstorm"] focus
# for_window [class="Code"] focus
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы