Снова пара слов про i3wm. Опять от нечего делать.
Если сам по себе i3wm выглядит простым, как принято это называть минималистичным, то окна, которыми он управляет не всегда такие простые, минималистичные и не всегда следуют традициям unix-среды.
Сегодня речь пойдёт за квирки.
Generic-набор правил для окон обычно сводится в какой-то мере к такому виду:
for_window [window_role="(?i)pop-up"] floating enable
for_window [window_role="(?i)task_dialog"] floating enable
for_window [title="Preferences$"] floating enable
for_window [window_type="dialog"] floating enable
for_window [window_type="menu"] floating enable
for_window [window_type=tooltip] floating enable
for_window [window_role="(?i)about"] floating enable
В интернетах те или иные правила из этого списка тут-и-там иногда всплывают.
Но это естественно не всё. Есть правила, специфичные для производных Mozilla:
for_window [class="Firefox" instance="Dialog"] floating enable
for_window [class="Firefox" instance="Extension"] floating enable
for_window [class="Firefox" instance="Abp"] floating enable
for_window [class="Firefox" instance="Febe"] floating enable
for_window [class="Thunderbird" instance="Dialog"] floating enable
for_window [class="Thunderbird" instance="Extension"] floating enable
Есть правила для баблов от xfce4-notifyd:
for_window [class="Xfce4-notifyd"] floating enable
Также я обнаружил, что многие java-окна в принципе проблемные и их таки лучше оставлять во floating варианте, это в основном касается spalsh-скринов, но не только их:
for_window [instance="Java"] floating enable
for_window [class="net-sourceforge-jnlp-runtime-Boot"] floating enable, border none
for_window [class="sun-awt-X11-XFramePeer"] floating enable, border none
for_window [class="java-lang-Thread" instance="java-lang-Thread"] floating enable, border none
И, как частный случай - продукты jetbrains:
for_window [instance="^JetBrains Toolbox$" class="^jetbrains\-toolbox$"] floating enable
for_window [class="^jetbrains-.+$" title="win0"] floating enable, border none
for_window [class="^jetbrains-.+"][window_type=dialog] focus
for_window [class="^jetbrains-.+" title="Migrating Plugins"] floating enable, focus
Ну и до кучи steam for linux:
for_window [class="^Steam$" title="^Friends$"] floating enable
for_window [class="^Steam$" title="Steam - News"] floating enable
for_window [class="^Steam$" title=".* - Chat"] floating enable
for_window [class="^Steam$" title="^Settings$"] floating enable
for_window [class="^Steam$" title=".* - event started"] floating enable
for_window [class="^Steam$" title=".* CD key"] floating enable
for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable
for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable
for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
for_window [title="^Steam Keyboard$"] floating enable
То есть как видим, в основном все хаки касаются того, чтобы окошко не вписывать в тайл, а дать ему жить своей жизнью.