[НЕ РЕШЕНО] Как отключить гномооформление окон?

В последнее время всё больше приложений (обычно с гномьим происхождением) рисуют себе окна с каким-то странным самопальным оформлением, хотя оформлением должен занимать WM. Примеры - gnome-screensaver, five-or-more, gnome-disks.
Есть ли способ отучить их от этой самодеятельности?

Это не просто каприз. Гномооформление зачастую реально неудобно: например, непонятно, в фокусе окно или нет (в нормальном оформлении у меня это сразу видно по цвету полосы заголовка). А если средствами менеждера прозрачности сделать притенение неактивных окон, то вылазит другое безобразие: вокруг гномоокон получается широкая рамка, притеняющая то, что под ними.
Я пошел другим путем: потихоньку отказываюсь от такого софта.
Самым простым и действенным решением, по-моему, было бы запретить WM прятать свой штатный заголовок по запросу таких программ.

К примеру, оконный менеджер xfce вообще (пока что) не понимает таких запросов, и в нём у всех гномовских программ сохраняются штатные заголовки.

К сожалению, Опенбокс эти запросы понимает и выполняет, и судя по всему, не предоставляет пользователю возможность изменить это поведение.

Наверное, придётся либо просить его разработчиков добавить фичу запрета на отключение заголовка, либо самостоятельно пытаться её реализовать.

Пока что я нарыл в сети только одно временное и не очень удобное решение:
https://github.com/PCMan/gtk3-nocsd
https://aur.archlinux.org/packages/gtk3-nocsd/
Этот костыль в виде библиотеки принудительно подключается к gtk3-программам через подсовывание им соответствующих переменных окружения.

Неудобство состоит в том, что просто так глобально экспортировать эти переменные нельзя, ибо другие, НЕ гткашные программы, с этой штукой в окружении могут и не запуститься. В результате, требуется экспортировать переменные только при запуске для определённых программ, которым вы хотите не дать отключить заголовок окна.
Natrio
Этот костыль
С WM оформлением окна с CSD выглядят все же не комильфо. Уж лучше искать замену, гном движется куда то не туда имхо.
Можно еще использовать пакеты от форков гнома - cinnamon, mate. Пока собирают без CSD.
Например
gnome-screensaver - mate-screensaver
gnome-disks - mate-disk-utility
насколько я понимаю, можно пойти другим путем - настроить оформление гтк под WM (Так делается в кде). И проги наместе, и вырвиглазные различия не заметно...
Я, например, вообще выпилил из системы GTK3 программы. Самое нормальное решение проблемы, я считаю.
На мой взгляд, не всё так страшно :)


Для избирательного экспорта переменной можно сделать такой скрипт где-нибудь в /usr/local/bin/ (и симлинки на него на каждую программу).
#!/bin/bash

NAME="${0##*/}"

LD_PRELOAD=/usr/lib/gtk3-nocsd.so exec /usr/bin/"$NAME" "$@"
На самом деле ситуация ещё интереснее. В lubuntu 14.04, где тоже openbox, и где нет gtk3-nocsd, гномоокна не наблюдаются. Выходит, есть ещё какое-то решение, менее костыльное...
akorop
В lubuntu 14.04, где тоже openbox, и где нет gtk3-nocsd, гномоокна не наблюдаются
14.04 означает апрель 2014 года
Может, тогда их ещё не было, или опенбокс их ещё не поддерживал?

Кстати, в каком смысле они не наблюдаются? Нет вторых кнопок или просто есть нормальный заголовок над ними?
Natrio
akorop
В lubuntu 14.04, где тоже openbox, и где нет gtk3-nocsd, гномоокна не наблюдаются
14.04 означает апрель 2014 года
Может, тогда их ещё не было, или опенбокс их ещё не поддерживал?
Да, похоже, тогда этой болезни ещё не было. Поставил "на поглядеть" daily build lubuntu 15.04 - там уже эта красота в полный рост. Но openbox тут ни при чём, в нём давно ничего не менялось.
Natrio
Кстати, в каком смысле они не наблюдаются? Нет вторых кнопок или просто есть нормальный заголовок над ними?
Обычный классический интерфейс, с обычным меню и обычными кнопками. Увы, в прошлом...

Ну а в приделывании заголовка к гномоокну особого смысла нет IMHO. Только место зря занимает.
Так что остаюсь на выделении активного окна при помощи затенении неактивных, а лёгкое затенение вокруг неактивного гномоокна - фиг с ним, выдержать можно.
 
Зарегистрироваться или войдите чтобы оставить сообщение.