Come posso disabilitare la decorazione lato client a livello globale in GNOME?


16

Sto usando Ubuntu GNOME 17.04. Si incontra la decorazione lato client (CSD) poiché la maggior parte delle applicazioni GNOME ufficiali (Nautilus, gedit, Evince ecc.) Usano GtkHeaderBars (una barra del titolo e una barra degli strumenti combinate, vedere schermate collegate) mentre altre applicazioni no. Questa funzione è disabilitata in Unity, tutte le applicazioni utilizzano barre del titolo separate tradizionali.

Schermate (da questo articolo ):

  • Nautilus con GtkHeaderBar

  • Nautilus senza GtkHeaderBar

Per coerenza, desidero disabilitare GtkHeaderBars a livello globale (in tutte le applicazioni che lo utilizzano) e utilizzare barre del titolo separate. C'è un modo per raggiungere questo obiettivo?

Ho sentito parlare del gtk3-nocsdpacchetto, ma non sono riuscito a farlo funzionare con GNOME per tutte le applicazioni.

Risposte:


15

Temo che ciò non possa essere fatto, a meno che lo sviluppatore di un'applicazione non abbia curato una funzionalità come questa. Mostrare una barra del titolo nella parte superiore di Windows non significa che il CDS sia effettivamente disabilitato. Manca ancora il layout classico della finestra, ovvero barra del titolo, barra dei menu, barra degli strumenti, barra di stato.

Client Side Decorations ha distrutto l'interfaccia utente di Linux e ha reso brutte e non native le app e gli ambienti desktop.

Spero che ogni sviluppatore possa semplicemente ignorare le linee guida di Gnome e mantenere la sua applicazione utile e coerente per tutti gli ambienti.


8

Mentre sono d'accordo con Vassilis sul fatto che i CSD siano orribili, fortunatamente ha torto sulla possibilità di disabilitarli.

In Ubuntu, installa il gtk3-nocsdpacchetto, quindi esci e accedi nuovamente.

Questo "hack" fa sì che le applicazioni GTK + non disabilitino più la decorazione della finestra del gestore finestre. Il risultato può sembrare un po 'strano: ecco come appare l'applicazione calcolatrice di GNOME con il CSD standard:

inserisci qui la descrizione dell'immagine

E con l'hack NOCSD:

inserisci qui la descrizione dell'immagine

Puoi vedere diversi esempi del perché l'affermazione di Vassilis secondo cui i CSD sono un'idea orribile che ha distrutto l'interfaccia utente di Linux è vera:

  1. Il titolo della finestra non CSD mostra "<2>" perché ho eseguito 2 finestre della calcolatrice contemporaneamente per acquisire le schermate e quella CSD è anche denominata "Calcolatrice" ma non la mostra, quindi se la tua finestra manager ha un'interfaccia utente con un elenco di finestre (come una "barra delle applicazioni") e viene visualizzato "Calcolatore" elencato, non sarà banale trovarlo sullo schermo.
  2. Il mio gestore delle finestre ha "ombreggiature" abilitate che mi rende più facile vedere quali finestre sono sopra le altre finestre, ma la finestra CSD lo disabilita senza una buona ragione - rendendo il mio schermo ancora più complicato da capire di quanto sia necessario.
  3. Uso molto la funzionalità "sempre in primo piano", motivo per cui ho chiesto al mio gestore di finestre di visualizzare un comodo pulsante per abilitarlo vicino agli altri pulsanti operativi della finestra, ma l'app CSD ovviamente non lo sa e non lo fa non mostrarlo. Stesso problema con il pulsante "Aggiungi allo spazio di lavoro corrente", anche se qui l'errore è più evidente perché è nella configurazione predefinita e GTK + avrebbe dovuto saperlo.
  4. Ciò che non viene mostrato (perché ero pigro) è il menu delle operazioni della finestra (tasto destro del mouse sul titolo) che la finestra CSD ha un set molto limitato di opzioni disponibili (fondamentalmente le 6 operazioni standard e "sempre in primo piano") mentre il mio window manager offre molte più funzionalità che uso spesso).
  5. Un'altra cosa che non viene mostrata è che la finestra CSD non cambia il colore del titolo quando non è attiva, a differenza di tutte le altre finestre che ho. Questo sarebbe stato un errore più evidente se KDE non fosse un ambiente desktop così eccezionale e avesse configurato l'applicazione GTK + per usare i colori corretti del titolo - su altri DE il colore del titolo GTK + CSD attivo non corrisponde nemmeno alla finestra "nativa" attiva colore del titolo.

1
Dalla domanda: "Ho sentito parlare del pacchetto gtk3-nocsd, ma non sono riuscito a farlo funzionare con GNOME per tutte le applicazioni."
muru

Hmm ... Mi mancava, scusa. @pomsky: con quali problemi hai avuto gtk3-nocsd?
Guss,

Non ha funzionato con Nautilus per esempio l'ultima volta che ho provato.
pomsky

Funziona correttamente per me su Kubuntu 17.10. Non sono sicuro quando Nautilus viene caricato in una sessione Unity, ma se accade prima dello gtk3-nocsdscript XSession, potrebbe essere questa la causa. Se questo non funziona ancora per te, ping me.
Guss,

4

Sono stato in grado di eseguire il evincevisualizzatore PDF con decorazioni fornite dal mio gestore di finestre (Openbox) su Ubuntu 18.04 come segue:

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

Sembra che gtk3-nocsd ora disabiliti automaticamente le barre di intestazione sui desktop non GNOME senza alcuna configurazione per tutte le app gtk incluso Evince. webupd8.org/2014/08/how-to-disable-gtk3-client-side.html
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.