В i3wm как я могу открывать программы в другой рабочей области при запуске?

#i3

#i3

Вопрос:

Я пробовал несколько способов в своем конфигурационном файле, чтобы заставить chromium открываться на $ ws2, но он просто продолжает открываться на $ ws1 при запуске.

Ответ №1:

Сначала вам нужно найти WM_CLASS(STRING) из xprop. Откройте xprop и щелкните по целевому окну, вы увидите информацию об этом окне. Найдите WM_CLASS(STRING) вторую строку (для i3wm), затем перейдите к конфигурационному файлу i3 wm .config/i3/config и определите правило следующим for_window [class="Chromium"] move to workspace $ws2 for_window [class="TelegramDesktop"] move to workspace $ws3 class="String" образом: замените строку, которую мы нашли ранее, с помощью xprop. введите описание изображения здесь

введите описание изображения здесь

В качестве альтернативы, следуйте инструкциям в разделе 4.17 Руководства пользователя i3 и вставьте в свой конфигурационный файл assign объявление, например assign [class="Chromium"] $ws2 . Это откроет программу непосредственно в указанной рабочей области. Однако для программ с менее хорошим поведением, таких как Spotify, for_window ... move to workspace ... метод требуется для перемещения программы после ее открытия.

Комментарии:

1. Прежде всего, спасибо. Есть ли способ сделать это только при запуске?

2. Он будет открываться в определенной рабочей области каждый раз.

Ответ №2:

Чтобы открыть ПРОГРАММУ (в вашем случае chromium) в определенной рабочей области во время запуска и вернуться к своей первой рабочей области:

1. Добавьте следующее в свой файл ~/.config/i3/config.

exec —no-startup-id i3-msg ‘workspace $ ws2; exec PROGRAM; workspace $ ws1’

1a: замените имя рабочей области, которую вы хотите использовать, на ‘$ ws2’ в примере.

1b: замените имя программы для запуска (выполнения) любыми параметрами для PROGRAM . Для этого раздела кавычки не нужны

1c: Замените имя рабочей области, в которую вы хотите вернуться, на ‘$ ws1’ в примере, или оставьте «; workspace $ ws1», чтобы перейти в $ ws2.

1d: убедитесь, что у вас есть одинарные кавычки, которые я включил в пример

2. Сохраните редактирование (я оставляю редактор открытым на случай, если мне придется изменить файл обратно после перезагрузки на месте)

3: Для тестирования:

3a: i3 перечитал файл конфигурации (mod4 shift c в моей системе)

3b: перезапустите i3 на месте (mod4 shift r в моей системе)

Примечание: Я использую $ ws1 $ ws2 и т.д. В своей конфигурации, потому что после их настройки мне стало проще менять заголовки и потрясающие значки только в одном месте, а не во многих местах. Метод бесстыдно украден у i3 и других, как и все мои знания Linux. 🙂