Bagaimana cara menonaktifkan dekorasi sisi klien secara global di GNOME?

16

Saya menggunakan Ubuntu GNOME 17.04. Seseorang menjumpai dekorasi sisi klien (CSD) karena sebagian besar aplikasi resmi GNOME (Nautilus, gedit, Evince dll.) Menggunakan GtkHeaderBars (bilah judul dan bilah alat gabungan, lihat tangkapan layar yang ditautkan) sedangkan aplikasi lain tidak. Fitur ini dinonaktifkan di Unity, semua aplikasi menggunakan bilah judul tradisional yang terpisah.

Tangkapan layar (dari artikel ini ):

  • Nautilus dengan GtkHeaderBar

  • Nautilus tanpa GtkHeaderBar

Untuk konsistensi, saya ingin menonaktifkan GtkHeaderBars secara global (di semua aplikasi yang menggunakannya) dan menggunakan bilah judul terpisah. Apakah ada cara untuk mencapainya?

Saya telah mendengar tentang gtk3-nocsdpaket, tetapi tidak dapat membuatnya bekerja dengan GNOME untuk semua aplikasi.

pomsky
sumber

Jawaban:

15

Saya khawatir ini tidak dapat dilakukan, kecuali pengembang aplikasi telah menangani fitur seperti ini. Menampilkan bilah judul di bagian atas jendela, tidak berarti bahwa CDS sebenarnya dinonaktifkan. Masih belum ada tata letak jendela klasik yaitu bilah judul, bilah menu, bilah alat, bilah status.

Dekorasi Sisi Klien telah merusak antarmuka pengguna linux dan membuat aplikasi serta lingkungan desktop terlihat jelek dan bukan asli.

Saya berharap bahwa setiap pengembang hanya akan mengabaikan garis panduan Gnome dan menjaga aplikasinya berguna dan konsisten untuk semua lingkungan.

Vassilis
sumber
8

Sementara saya setuju dengan Vassilis bahwa CSD mengerikan - untungnya, dia salah tentang kemungkinan menonaktifkan mereka.

Di Ubuntu, instal gtk3-nocsdpaket dan kemudian keluar dan masuk kembali.

"Retasan" ini menyebabkan aplikasi GTK + tidak lagi menonaktifkan dekorasi jendela manajer jendela. Hasilnya mungkin terlihat sedikit aneh - inilah tampilan aplikasi kalkulator GNOME dengan CSD standar:

masukkan deskripsi gambar di sini

Dan dengan peretasan NOCSD:

masukkan deskripsi gambar di sini

Anda dapat melihat beberapa contoh mengapa pernyataan Vassilis bahwa CSD adalah ide mengerikan yang menghancurkan antarmuka pengguna Linux adalah benar:

  1. Judul jendela non-CSD menunjukkan "<2>" karena saya telah menjalankan 2 jendela kalkulator pada saat yang sama untuk mengambil tangkapan layar, dan yang CSD juga berjudul "Kalkulator" tetapi tidak menunjukkannya, jadi jika jendela Anda Manajer memiliki daftar jendela UI (seperti "taskbar") dan Anda melihat ada "Kalkulator" terdaftar, itu tidak akan sepele menemukannya di layar.
  2. Manajer jendela saya telah mengaktifkan "drop shadows" yang membuatnya lebih mudah bagi saya untuk melihat jendela mana yang di atas jendela lain, tetapi jendela CSD menonaktifkannya tanpa alasan yang baik - membuat layar saya lagi lebih rumit untuk dipahami daripada yang seharusnya.
  3. Saya sering menggunakan fungsionalitas "selalu di atas", itulah sebabnya saya meminta manajer jendela untuk menampilkan tombol praktis untuk mengaktifkannya di dekat tombol operasi jendela lainnya, tetapi aplikasi CSD jelas tidak tahu tentang hal itu dan tidak akan menunjukkannya. Masalah yang sama dengan tombol "pin to workspace", meskipun di sini kesalahan lebih mencolok karena berada dalam konfigurasi default dan GTK + seharusnya tahu itu.
  4. Apa yang tidak ditampilkan (karena saya malas) adalah menu operasi jendela (klik kanan pada judul) bahwa jendela CSD memiliki set pilihan yang sangat terbatas (pada dasarnya 6 ops standar dan "selalu di atas") sementara saya window manager menawarkan lebih banyak fungsi yang sering saya gunakan).
  5. Hal lain yang tidak ditampilkan adalah bahwa jendela CSD tidak mengubah warna judulnya ketika tidak aktif, tidak seperti semua jendela lain yang saya miliki. Ini akan menjadi kesalahan yang lebih mencolok jika KDE bukan lingkungan desktop yang luar biasa dan mengkonfigurasi aplikasi GTK + untuk menggunakan warna judul yang benar - pada DE lain warna judul GTK + CSD yang aktif bahkan tidak cocok dengan jendela "asli" yang aktif. warna judul.
Guss
sumber
1
Dari pertanyaan: "Saya telah mendengar tentang paket gtk3-nocsd, tetapi tidak dapat membuatnya bekerja dengan GNOME untuk semua aplikasi."
muru
Hmm ... melewatkan itu, maaf. @ pomsky: masalah apa yang Anda miliki gtk3-nocsd?
Guss
Itu tidak berfungsi dengan Nautilus misalnya terakhir kali saya mencoba.
pomsky
Ini berfungsi dengan benar untuk saya di Kubuntu 17.10. Saya tidak yakin kapan Nautilus dimuat di bawah sesi Persatuan, tetapi jika itu terjadi sebelum gtk3-nocsdskrip XSession, maka itu mungkin menjadi penyebabnya. Jika ini masih tidak berhasil untuk Anda - ping saya.
Guss
4

Saya dapat menjalankan evincepenampil PDF dengan dekorasi yang disediakan oleh manajer jendela saya (Openbox) di Ubuntu 18.04 sebagai berikut:

$ sudo apt-get install gtk3-nocsd
$ gtk3-nocsd evince
mpb
sumber
Tampaknya gtk3-nocsd sekarang secara otomatis menonaktifkan bilah header di desktop non-GNOME tanpa konfigurasi untuk semua aplikasi gtk termasuk Evince. webupd8.org/2014/08/how-to-disable-gtk3-client-side.html