У оконного менеджера kwin из состава KDE есть множество полезных функций, о полезности которых многие даже не догадываются. Одна из них — это возможность тонкой настройки поведения окон самых разных приложений.
Эти настройки доступны в KDE Control Center на странице Desktop ⇒ Window-Specific Settings.
Рассмотрим возможности этой функциональности на простом примере. Итак, у нас имеется Jabber-клиент Gajim, главное окно которого (ростер/roster) мы хотим немного улучшить: разместить его поверх всех, убрать кнопку окна с таскбара и из списка переключения окон (обычно вызываемого через хоткей Alt+Tab). Запускаем Gajim (естественно, настраиваем его, чтобы появилась иконка в трее) и открываем Control Center ⇒ Desktop ⇒ Window-Specific Settings.
В списке мы уже видим несколько элементов, которые задают некоторые параметры для некоторых окон. Кликаем New…, чтобы открыть диалог создания нового элемента, в нём кликаем Detect, а затем кликаем по окну ростера Gajim. Появляется вот такое окно:
Выбираем в нём пункт «Use window class and window role (specific window)» и кликаем ОК. Замечательно, теперь у нас есть новый элемент в списке, который определяет свойства данного окна этого приложения. Нас интересуют табы «Preferences» и «Workarounds». На первом табе («Preferences») включаем пункт «Keep above», выбираем из списка рядом «Apply Initially» и включаем крыжик рядом со списком. Теперь у нас данное окно при каждом его создании автоматически будет размещено поверх остальных окон.
Аналогично действуем с пунктами «Skip taskbar» и «Skip page». Первый удаляет кнопку приложения из таскбара, второй — из списка переключения окон. Должно получиться примерно так:
Переходим к табу «Workarounds», в нём нас интересует пункт «Window Type». Включаем его, выбираем «Force», из списка рядом выбираем, например, «Utility window» (или любой другой тип, который вам нравится). Вот что должно получиться:
Теперь кликаем OК и Apply. Открываем и закрываем ростер Gajim (кликом по его иконке в трее) и voila! Получилось именно то, чего мы добивались — окно ростера висит поверх всех остальных и при этом не путается в таскбаре и при переключении окон.
P.S. Да, я знаю, что окно ростера Gajim’а можно убрать с таскбара путём настройки самого Gajim’а. Цель этой статьи состоит в демонстрации возможности проделать эту операцию для произвольного приложения.