Como desabilito a decoração do lado do cliente globalmente no GNOME?

16

Estou usando o Ubuntu GNOME 17.04. Um encontra a decoração do lado do cliente (CSD), pois a maioria dos aplicativos oficiais do GNOME (Nautilus, gedit, Evince etc.) usa GtkHeaderBars (uma barra de título e barra de ferramentas combinadas, veja capturas de tela vinculadas), enquanto outros aplicativos não. Esse recurso está desativado no Unity, todos os aplicativos usam barras de título separadas tradicionais.

Capturas de tela ( deste artigo ):

  • Nautilus com GtkHeaderBar

  • Nautilus sem GtkHeaderBar

Para maior consistência, quero desativar o GtkHeaderBars globalmente (em todos os aplicativos que o utilizam) e usar barras de título separadas. Existe uma maneira de conseguir isso?

Já ouvi falar de gtk3-nocsdpacote, mas não consegui fazê-lo funcionar com o GNOME para todos os aplicativos.

pomsky
fonte

Respostas:

15

Receio que isso não possa ser feito, a menos que o desenvolvedor de um aplicativo cuide de um recurso como este. Mostrar uma barra de título na parte superior da janela, não significa que o CDS esteja realmente desativado. Ainda falta o layout clássico da janela, como barra de título, barra de menus, barra de ferramentas e barra de status.

Decorações do lado do cliente destruíram a interface do usuário do linux e fizeram com que aplicativos e ambientes de desktop parecessem feios e não nativos.

Espero que todo desenvolvedor apenas ignore as diretrizes do Gnome e mantenha sua aplicação útil e consistente para todos os ambientes.

Vassilis
fonte
8

Embora eu concorde com Vassilis que os CSDs são horríveis - felizmente, ele está errado sobre a possibilidade de desativá-los.

No Ubuntu, instale o gtk3-nocsdpacote, efetue logout e logon novamente.

Esse "hack" faz com que os aplicativos GTK + não desabilitem mais a decoração da janela do gerenciador de janelas. O resultado pode parecer um pouco estranho - eis a aparência da aplicação da calculadora do GNOME no CSD padrão:

insira a descrição da imagem aqui

E com o NOCSD hack:

insira a descrição da imagem aqui

Você pode ver vários exemplos de por que a afirmação de Vassilis de que os CSDs são uma ideia horrível que destruiu a interface do usuário do Linux é verdadeira:

  1. O título da janela que não é da CSD mostra "<2>" porque eu executei duas janelas da calculadora ao mesmo tempo para tirar as capturas de tela, e a da CSD também é intitulada "Calculadora", mas não mostra, por isso, se sua janela O gerenciador possui uma interface do usuário da lista de janelas (como uma "barra de tarefas") e você vê lá "Calculadora" listada, não será fácil encontrá-la na tela.
  2. Meu gerenciador de janelas tem "sombras projetadas" ativadas, o que facilita a visualização de quais janelas estão acima de outras janelas, mas a janela do CSD a desativa por um bom motivo - tornando a minha tela mais complicada de entender do que o necessário.
  3. Eu uso muito a funcionalidade "sempre no topo", e é por isso que pedi ao meu gerenciador de janelas para exibir um botão útil para habilitá-lo perto dos outros botões de operação da janela, mas o aplicativo CSD obviamente não sabe disso e não sabe mostre isso. O mesmo problema com o botão "fixar na área de trabalho atual", embora aqui o erro seja mais evidente porque está na configuração padrão e o GTK + deveria saber disso.
  4. O que não é mostrado (porque eu era preguiçoso) é o menu de operações da janela (clique com o botão direito no título) que a janela do CSD tem um conjunto muito limitado de opções disponíveis (basicamente as 6 operações padrão e "sempre no topo") enquanto meu O gerenciador de janelas oferece muito mais funcionalidades que eu costumo usar).
  5. Outra coisa que não é mostrada é que a janela do CSD não muda a cor do título quando não está ativa, ao contrário de todas as outras janelas que tenho. Isso teria sido um erro mais flagrante se o KDE não fosse um ambiente de desktop tão impressionante e configurasse o aplicativo GTK + para usar as cores de título corretas - em outros DEs a cor do título do GTK + CSD ativo nem sequer corresponde à janela "nativa" ativa cor do título.
Guss
fonte
11
Da pergunta: "Eu ouvi falar do pacote gtk3-nocsd, mas não consegui fazê-lo funcionar com o GNOME para todos os aplicativos."
Muru
Hmm ... senti falta disso, desculpe. @pomsky: que problemas você teve gtk3-nocsd?
Guss
Não funcionou com o Nautilus, por exemplo, da última vez que tentei.
Pomsky
Funciona corretamente para mim no Kubuntu 17.10. Não tenho certeza de quando o Nautilus é carregado em uma sessão do Unity, mas se isso ocorrer antes do gtk3-nocsdscript XSession, talvez seja essa a causa. Se isso ainda não funcionar para você - envie-me um ping.
Guss
4

Consegui executar o evincevisualizador de PDF com as decorações fornecidas pelo meu gerenciador de janelas (Openbox) no Ubuntu 18.04 da seguinte maneira:

$ sudo apt-get install gtk3-nocsd
$ gtk3-nocsd evince
mpb
fonte
Parece que o gtk3-nocsd agora desativa automaticamente as barras de cabeçalho em áreas de trabalho que não são do GNOME sem nenhuma configuração para todos os aplicativos gtk, incluindo o Evince. webupd8.org/2014/08/how-to-disable-gtk3-client-side.html