Como usar um tema GTK 3 diferente para aplicações específicas

31 de outubro de 2019

Este artigo explica como aplicar um tema GTK 3 diferente a aplicativos específicos (um tema diferente do tema GTK global/desktop).

Então, por que você precisa definir alguns aplicativos para usar um tema GTK3 diferente do tema definido para toda a sua área de trabalho? Existem casos em que um aplicativo não parece como deveria/parece quebrado com um tema específico, mas você deseja continuar usando esse tema para os outros aplicativos em seu desktop Linux. Ou talvez você prefira usar um tema específico apenas para um ou dois aplicativos, enquanto usa um tema diferente para o resto dos aplicativos, por exemplo, você pode definir editores de texto para usar um tema escuro, enquanto usa um tema claro para todos os outros aplicativos em sua área de trabalho.

Nesta captura de tela, o Tweaks usa o tema Mint-Y, o Nautilus usa tema Canta, o Gedit usa Yaru-dark e o navegador Eolie (instalado do Flathub) usa o tema Plata. Eles estão todos funcionando ao mesmo tempo.

Deixe-me lhe dar um exemplo.

O Ubuntu 19.10 usa um tema misto claro e escuro por padrão, mas diferente do usado nas versões anteriores do Ubuntu: o título da janela está escuro, mas a barra de menu agora está clara. Devido a isso, editores de código como Visual Studio Code, Atom ou Sublime Text, que usam temas de cores escuras por padrão, têm uma barra de menu branca, com todo o resto sendo escuro.

Se você preferir manter esta configuração (tema Yaru misto como seu tema GTK 3 global e um tema de cor escura para VS Code/Atom/Sublime Text), mas alterar a barra de menu VS Code/Atom/Sublime Text para uma cor escura para que não pareça fora do lugar, você pode usar as instruções neste artigo para definir VS Code/Atom/Sublime Text para usar o tema Yaru-dark, enquanto todos os outros aplicativos usam o tema Yaru misto padrão.

Para alterar o tema GTK por aplicativo, usaremos a variável de ambiente GTK_THEME, que "se destina principalmente a depurar facilmente problemas de tema" de acordo com esta página GNOME GTK. Devido a isso, não é garantido que esta opção funcione em todos os lugares (na verdade não funciona com aplicativos ativados por DBus) e pode parar de funcionar em algum ponto.

É importante mencionar que isso muda o tema do aplicativo para qualquer aplicativo GTK 3, mas as decorações da janela permanecem inalteradas (continua usando o tema GTK 3 global) para aplicativos que não usam decorações do lado do cliente.

Isso funciona para aplicativos nativos, bem como pacotes Flatpak e Snap, contanto que o tema que você deseja usar para um determinado aplicativo seja compatível com Flathub/Snapcraft (como uma observação lateral, os aplicativos Flatpak oferecem suporte a muito mais temas de terceiros do que Snap).

Lançamento de um aplicativo individual com um tema diferente do tema GTK3 global

Para sobrescrever o tema GTK padrão por aplicativo, defina a variável de ambiente GTK_THEME, com o tema que deseja que o aplicativo use como valor, ao iniciar o aplicativo. Tipo assim:

Comandos para usar no terminal

GTK_THEME=

Você precisará substituir <nome-do-tema> pelo nome do tema (conforme mostrado no aplicativo Tweaks, por exemplo) e <aplicativo> pelo executável do aplicativo.

É importante observar que você precisa fechar todas as instâncias em execução do aplicativo antes de executá-lo com um tema personalizado (caso esteja sendo executado em segundo plano, você pode matá-lo, por exemplo, para encerrar todas as instâncias do Nautilus em execução: killall nautilus) .

Vejamos um exemplo. Digamos que você queira lançar o Gedit com Yaru-dark como tema:

Comandos para usar no terminal

GTK_THEME=Yaru-dark gedit

Ou iniciar o Nautilus (aplicativo Arquivos) com Canta como tema, mantendo qualquer outro tema que você tenha definido para os outros aplicativos:

Comandos para usar no terminal

GTK_THEME=Canta nautilus

Caso o tema que você deseja definir tenha uma variante escura, mas não seja separado, especifique que deseja usar um tema escuro como este: GTK_THEME=theme-name:dark. Por exemplo, para fazer um aplicativo usar o tema escuro Adwaita (que não tem um pasta Adwaita-dark separada, mas tem suporte para tema escuro), inicie esse aplicativo assim:

Comandos para usar no terminal

GTK_THEME=Adwaita:dark

Sempre inicie aplicativos específicos com um tema GTK 3 personalizado

Caso você deseje iniciar um aplicativo com um tema GTK 3 específico (diferente do tema GTK de sua área de trabalho) toda vez que clicar no ícone desse aplicativo no menu de aplicativos ou inicializador, isso é o que você precisa fazer.

Comece copiando o arquivo da área de trabalho do aplicativo de /usr/share/applications para ~/.local/share/applications. Se você editar o arquivo da área de trabalho diretamente em /usr/share/applications, o arquivo da área de trabalho será sobrescrito em cada atualização do aplicativo, então você terá que refazer isso. Mas, ao copiar o arquivo da área de trabalho para ~/.local/share/applications, as modificações persistirão durante as atualizações (e afetarão apenas o seu usuário).

Em seguida, abra o arquivo da área de trabalho do aplicativo (localizado em ~/.local/share/applications) com um editor de texto como o Gedit, procure as linhas que começam com Exec= e, imediatamente após =, adicione env GTK_THEME=<nome-do-tema> seguido por Space. Substitua <nome-do-tema> pelo nome do tema (como é mostrado no aplicativo Tweaks, por exemplo), mas não modifique mais nada.

Exemplo. Digamos que você queira forçar o VS Code a usar Yaru-dark como tema, enquanto usa um tema diferente para todos os outros aplicativos em sua área de trabalho. Nesse caso, copie o arquivo code.desktop de /usr/share/applications para ~/.local/share/applications/, abra code.desktop deste novo local com um editor de texto e procure a linha Exec.

O arquivo de desktop original do VS Code (code.desktop) tem a seguinte linha Exec:

Exec=/usr/share/code/code --unity-launch %F

Depois de editá-lo para forçar o VS Code a usar o tema Yaru-dark, esta linha se torna:

Exec=env GTK_THEME=Yaru-dark /usr/share/code/code --unity-launch %F

Se o aplicativo tiver várias Exec linhas (por exemplo, se o arquivo da área de trabalho do aplicativo tiver suporte para ações da área de trabalho que aparecem quando você clica com o botão direito no ícone do aplicativo), faça isso para cada uma delas.

Lembre-se de fechar todas as instâncias em execução do aplicativo antes de executá-lo com um tema personalizado!

via r/Ubuntu (u/manyfacedgodd)

Esse post foi traduzido do site LinuxUprising.com pela rtland.team.

Linux Uprising Blog

Confira a versão original desse post em inglês:

How To Use A Different GTK 3 Theme For Specific Applications
Propaganda
Propaganda