Як відключити оформлення на стороні клієнта у всьому світі в GNOME?


16

Я використовую Ubuntu GNOME 17.04. Один зіштовхується з оформленням на стороні клієнта (CSD), оскільки більшість офіційних програм GNOME (Nautilus, gedit, Evince та ін.) Використовують GtkHeaderBars (комбінований рядок заголовків та панель інструментів, див. Пов’язані скріншоти), тоді як інші програми цього не роблять. Ця функція вимкнена в Unity, усі програми використовують традиційні окремі рядки заголовків.

Скріншоти (з цієї статті ):

  • Наутілус з GtkHeaderBar

  • Наутілус без GtkHeaderBar

Для послідовності я хочу відключити GtkHeaderBars в усьому світі (у всіх програмах, які його використовують) та використовувати окремі рядки заголовків. Чи є спосіб досягти цього?

Я чув про gtk3-nocsdпакет, але не зміг змусити його працювати з GNOME для всіх програм.

Відповіді:


15

Боюся, цього неможливо зробити, якщо розробник додатку не подбав про подібну функцію. Показ рядка заголовка у верхній частині вікон не означає, що CDS фактично вимкнено. У ньому все ще відсутній класичний макет вікна, тобто рядок заголовка, панель меню, панель інструментів, рядок стану.

Client Side Decorations знищив користувальницький інтерфейс Linux та зробив додатки та середовища для робочого столу некрасивими та не рідними.

Я сподіваюсь, що кожен розробник просто ігнорує керівні лінії Gnome та триматиме його додаток корисним та послідовним для всіх середовищ.


8

Хоча я погоджуюся з Василісом, що CSD - жахливі - на щастя, він помиляється щодо можливості їх відключення.

В Ubuntu встановіть gtk3-nocsdпакет, а потім вийдіть із системи та увійдіть назад.

Цей "хак" змушує програми GTK + більше не вимикати декор вікон менеджера вікон. Результат може виглядати трохи дивно - ось як виглядає програма калькулятора GNOME зі стандартним CSD:

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

І з хаком NOCSD:

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

Ви можете побачити кілька прикладів того, чому твердження Василіса про те, що CSD - це жахлива ідея, що знищила користувальницький інтерфейс Linux :

  1. Заголовок вікна, що не стосується CSD, показує "<2>", тому що я запускав 2 вікна калькулятора одночасно, щоб робити знімки екрана, а CSD також має назву "Калькулятор", але не показує його, тому якщо у вашому вікні менеджер має інтерфейс вікон списку (наприклад, "панель завдань"), і ви бачите там "Калькулятор" у списку, це не тривіально знайти його на екрані.
  2. Мій менеджер вікон увімкнув "тіні", що полегшує мені бачити, які вікна над іншими вікнами, але вікно CSD відключає його без поважних причин - робить мій екран знову складнішим для розуміння, ніж потрібно.
  3. Я багато використовую функцію "завжди зверху", тому я попросив свого менеджера вікон відобразити зручну кнопку, щоб увімкнути її поблизу інших кнопок роботи вікна, але додаток CSD, очевидно, не знає про це. не показуй. Ця ж проблема з кнопкою "прив’язати до поточної робочої області", хоча тут помилка є більш очевидною, оскільки вона є в конфігурації за замовчуванням, і GTK + повинен був знати це.
  4. Те, що не показано (бо я лінивий), - це меню операцій з вікнами (клацніть правою кнопкою миші на заголовку), що у вікні CSD є дуже обмежений набір опцій (в основному, 6 стандартних опцій і "завжди вгорі"), а мій менеджер вікон пропонує набагато більше функціоналів, якими я часто користуюся).
  5. Інша річ, яка не відображається, це те, що вікно CSD не змінює свій колір заголовка, коли воно не активне, на відміну від усіх інших вікон, які у мене є. Це було б більш очевидною помилкою, якби KDE не був таким чудовим середовищем робочого столу та налаштував додаток GTK + використовувати правильні кольори заголовків - для інших DE активний колір заголовка GTK + CSD навіть не відповідає активному "рідному" вікні колір заголовка

1
З питання: "Я чув про пакунок gtk3-nocsd, але не зміг змусити його працювати з GNOME для всіх програм."
муру

Хм ... Пропустив це, вибач. @pomsky: які проблеми у вас виникли gtk3-nocsd?
Гасс

Наприклад, з Nautilus це не працювало, наприклад, коли я намагався.
pomsky

Для мене це працює правильно на Kubuntu 17.10. Я не впевнений, коли Nautilus завантажується під час сесії Unity, але якщо це станеться перед gtk3-nocsdсценарієм XSession, то це може бути причиною. Якщо це все ще не працює для вас - пінг мені.
Гасс

4

Мені вдалося запустити програму evinceперегляду PDF з прикрасами, наданими моїм менеджером вікон (Openbox) на Ubuntu 18.04 таким чином:

$ sudo apt-get install gtk3-nocsd
$ gtk3-nocsd evince

Здається, gtk3-nocsd тепер автоматично відключає заголовки на настільних комп'ютерах, які не є GNOME, без будь-якої конфігурації для всіх програм gtk, включаючи Evince. webupd8.org/2014/08/how-to-disable-gtk3-client-side.html
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.