LINUX.ORG.RU

История изменений

Исправление Zubok, (текущая версия) :

Но там есть возможность изменить декорации определённому приложению, а не просто классу окон?

Так класс приложения можно сузить до окна. class/role/instance/name/program и т. д. Можно, в общем-то, спуститься до нужного окна. Но в IceWM поменять тему саму нельзя, можно кнопки управления окном убрать/отобразить. Не сделали такого целиком с темами. Видимо, никто не просил. Может, другие WM позволяют. По большому счету вполне можно предложить механизм через обмен properties у окон, чтобы приложение просило что-то поменять оконный менеджер, но таких стандартных договоренностей просто нет. Технически они возможны.

Ну а если приложение хочет свои декорации рисовать, то ему оконный менеджер типа IceWM может не мешать. Допустим, evince на gtk3 рисует свои декорации, IceWM рисует еще дополнительно свои. Вот IceWM конкретно и куча других менеджеров с правилами, а также через devilspie (наверное, так как не помню, можно ли декорации убрать, но, кажется, да), можно попросить по правилам у evince декорации WM не рисовать, а оставить декорации приложения. Но я вообще наоборот делаю: я подавляю CSD и прошу оставить декорации WM:

~/.config/gtk-3.0/settings.ini

[Settings]
gtk-decoration-layout = menu,appmenu

Разумно говорить только про то, что есть, а не про то, что можно сделать вообще. Так-то много чего можно сделать.

Исходная версия Zubok, :

Но там есть возможность изменить декорации определённому приложению, а не просто классу окон?

Так класс приложения можно сузить до окна. class/role/instance/name/program и т. д. Можно, в общем-то, спуститься до нужного окна. Но в IceWM поменять тему саму нельзя, можно кнопки управления окном убрать/отобразить. Не сделали такого. Видимо, никто не просил. Может, другие WM позволяют. По большому счету вполне можно предложить механизм через обмен properties у окон, чтобы приложение просило что-то поменять оконный менеджер, но таких стандартных договоренностей просто нет. Технически они возможны.

Ну а если приложение хочет свои декорации рисовать, то ему оконный менеджер типа IceWM может не мешать. Допустим, evince на gtk3 рисует свои декорации, IceWM рисует еще дополнительно свои. Вот IceWM конкретно и куча других менеджеров с правилами, а также через devilspie (наверное, так как не помню, можно ли декорации убрать, но, кажется, да), можно попросить по правилам у evince декорации WM не рисовать, а оставить декорации приложения. Но я вообще наоборот делаю: я подавляю CSD и прошу оставить декорации WM:

~/.config/gtk-3.0/settings.ini

[Settings]
gtk-decoration-layout = menu,appmenu

Разумно говорить только про то, что есть, а не про то, что можно сделать вообще. Так-то много чего можно сделать.