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

13

Estou usando o Ubuntu GNOME 17.04. Um deles encontra a decoração do lado do cliente (CSD), já que a maioria dos aplicativos oficiais do GNOME (Nautilus, gedit, Evince etc.) usam 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.

Screenshots (de este artigo ):

  • Nautilus com GtkHeaderBar

  • Nautilus sem GtkHeaderBar

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

Eu ouvi falar de gtk3-nocsd package, mas não consegui fazer funcionar com o GNOME para todos os aplicativos.

    
por pomsky 02.10.2017 / 00:39

3 respostas

12

Eu tenho medo que isso não possa ser feito, a menos que o desenvolvedor de um aplicativo tenha cuidado de um recurso como este. Mostrando uma barra de título no topo das janelas, não significa que o CDS está realmente desativado. Ainda falta o layout de janela clássico, ou seja, barra de título, barra de menu, barra de ferramentas, barra de status.

As Decorações do lado do cliente têm destruído a interface de usuário do Linux e tornaram os aplicativos e os ambientes de área de trabalho feios e não nativos.

Espero que todos os desenvolvedores ignorem as diretrizes do Gnome e mantenham seu aplicativo útil e consistente para todos os ambientes.

    
por Vassilis 01.01.2018 / 23:04
6

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

No Ubuntu, instale o pacote gtk3-nocsd e, em seguida, efetue logout e login novamente.

Esse "hack" faz com que os aplicativos GTK + não desativem mais a decoração da janela do gerenciador de janelas. O resultado pode parecer um pouco estranho - veja como o aplicativo de calculadora do GNOME fica com o CSD padrão:

EcomohackNOCSD:

VocêpodeverváriosexemplosdeporqueaafirmaçãodeVassilisdequeosCSDssãoumaidéiahorrívelquedestruiuainterfacedeusuáriodoLinuxéverdadeira:

  1. OtítulodajanelanãoCSDmostra"< 2 >" porque eu corri duas janelas de calculadora ao mesmo tempo para tirar as capturas de tela, e o CSD também é intitulado "Calculadora", mas não mostra, então se o seu gerenciador de janelas tiver uma lista de janelas (como uma barra de tarefas) ") e você vê lá" Calculator "listado, não será trivial encontrá-lo na tela.
  2. Meu gerenciador de janelas tem "sombras" ativadas, o que facilita a visualização de quais janelas estão acima de outras janelas, mas a janela CSD a desativa sem justificativa - tornando a tela mais complicada de entender do que deveria.
  3. Eu uso muito a funcionalidade "always on top", por isso pedi ao meu gerenciador de janelas para exibir um botão prático para habilitá-lo próximo aos outros botões de operação da janela, mas o aplicativo CSD obviamente não sabe e não mostra isso. O mesmo problema com o botão "fixar no espaço de trabalho atual", embora 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 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 o meu gerenciador de janelas oferece muito mais funcionalidades que eu uso com frequência).
  5. Outra coisa que não é mostrada é que a janela do CSD não altera sua cor de título quando não está ativa, ao contrário de todas as outras janelas que eu tenho. Este seria um erro mais gritante se o KDE não fosse um ambiente de desktop tão incrível e configurasse o aplicativo GTK + para usar as cores de título corretas - em outros DEs a cor do título GTK + CSD ativo nem coincide com a janela "nativa" ativa cor do título.
por Guss 25.01.2018 / 10:20
2

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

$ sudo apt-get install gtk3-nocsd
$ gtk3-nocsd evince
    
por mpb 12.07.2018 / 01:33