Aplicativos Flatpak parecem fora de lugar? Veja como aplicar temas GTK em aplicativos Flatpak

Aplicações Flatpak muitas vezes não combinam com os temas do sistema e parecem fora de lugar na sua configuração. Aqui está uma solução alternativa para aplicar os temas GTK a aplicativos Flatpak.

Aplicativos Flatpak parecem fora de lugar? Veja como aplicar temas GTK em aplicativos Flatpak

Uma das razões pelas quais alguns usuários evitam a instalação de aplicativos do Flatpak é que a maioria dos aplicativos Flatpak não mudam sua aparência de acordo com o atual tema do sistema. Isso faz com que as aplicações pareçam fora de lugar em sua configuração.

Aplicativos Flatpak não correspondem Tema do Sistema

Aplicativos Flatpak não combinam tema do sistema

A maneira oficial de aplicar os temas GTK a aplicativos Flatpak é por instalar o tema desejado como um Flatpak. No entanto, existem apenas alguns temas GTK que podem ser instalados como Flatpak.

Isso significa que, se você encontrou um lindo tema GTK, seus aplicativos Flatpak ainda estarão usando sua aparência padrão. Mas espere! Há uma solução alternativa.

Neste tutorial, eu vou te apresentar uma maneira de fazer aplicativos Flatpak aplicarem temas GTK externos.

Aplicando temas GTK para aplicativos Flatpak (nível intermediário)

Antes de prosseguirmos, vamos entender por que aplicativos Flatpak têm esse comportamento.

Aplicativos Flatpak rodam dentro de um "contêiner", para que eles não tenham acesso ao sistema de arquivos, rede ou dispositivos físicos do host sem definir explicitamente a permissão apropriada, e é isso que vamos fazer.

Como eu disse anteriormente, esta é uma solução alternativa, não uma solução impecável. Não espere que ele altere os temas dos aplicativos Flatpak automaticamente quando você altera o tema do sistema. Você pode, no entanto, alterá-lo para todos os aplicativos Flatpak em um único comando.

Vamos ver como conseguir isso. Observe que este tutorial requer que você esteja um pouco familiarizado com a linha de comando do Linux, assim você pode seguir com o terminal.

Passo 1: Dê acesso aos aplicativos Flatpak à localização dos temas GTK

Os temas GTK estão localizados em /usr/share/themes para todos os usuários, e em ~/themes para um usuário específico.

Para dar permissão para todos os pacotes Flatpak para acessar ~/.themes, execute o seguinte comando:

Comandos para usar no terminal

sudo flatpak override --filesystem=$HOME/.themes

Observe que você não pode dar acesso a /usr/share/themes porque, de acordo com a documentação do Flatpak, eles estão na lista negra.

Alternativamente, você pode fazer isso por cada aplicativo também. Você precisa especificar o ID do aplicativo para o qual você vai mudar o tema.

Comandos para usar no terminal

sudo flatpak override org.gnome.Calculator --filesystem=$HOME/.themes

Passo 2: Diga aos aplicativos Flatpak que tema para usar

Dar acesso a ~/.themes não é suficiente porque esse diretório pode conter vários temas. Para dizer ao Flatpak que tema GTK usar, primeiro saiba o nome do tema desejado e aplique o seguinte comando:

Comandos para usar no terminal

sudo flatpak override --env=GTK_THEME=meu-tema

Como você pode ver na captura de tela abaixo, há dois temas disponíveis, Ant-sangrento e orquis-escuro. Copie e cole o nome do tema exato no comando acima:

set gtk tema para apps flatpak

Configurando temas GTK para todos os aplicativos Flatpak

Alternativamente, para cada aplicação individual, execute:

Comandos para usar no terminal

sudo flatpak override org.gnome.Calculator --env=GTK_THEME=meu-tema

e substitua meu-tema pelo nome da pasta do tema que você deseja aplicar (e deve estar localizado em ~/.themes).

Etapa 3: Teste a alteração do tema executando um aplicativo Flatpak

Se o aplicativo já estava em execução, você terá que fechar e iniciá-lo novamente. Você verá que o aplicativo recém-iniciado usa o tema que você especificou anteriormente.

Aqui está uma captura de tela do GNOME Calculator e GNOME Builder (versão Flatpak) antes das etapas acima:

Aplicativos Flatpak com tema Adwaita padrão

Aplicações Flatpak com o tema Adwaita padrão

E depois dos passos acima (com o tema Canta GTK):

Aplicativos Flatpak com Tema Dark Canta

Aplicações Flatpak com Tema Canta Dark

Isso é melhor, certo? Agora, eu poderia deixar você aqui, mas seria apropriado mencionar os passos pararevertendo as alterações.

Revertendo as alterações

Você pode redefinir as alterações redefinindo todas as substituições de uma só vez. Por favor, note que isso redefinirá quaisquer substituições anteriores que você definiu explicitamente.

Comandos para usar no terminal

sudo flatpak override --reset

Como alternativa, você pode redefinir permissões no nível de pacote também:

Comandos para usar no terminal

sudo flatpak override --reset org.example.app

Se você já substituía o GTK_THEME ou o sistema de arquivos para um pacote específico de Flatpak usando "flatpak override", a redefinição irá ajudá-lo novamente.

Informações adicionais

Aplicativos normais GTK carregam o tema GTK especificado por gsettings, você pode executar o seguinte comando para obter os temas GTK atualmente aplicados:

Comandos para usar no terminal

gsettings get org.gnome.desktop.interface gtk-theme

E para definir o tema GTK, execute:

Comandos para usar no terminal

gsettings set org.gnome.desktop.interface gtk-theme meu-tema

Para fazer o acima com o Flatpak, você precisa inserir uma sessão do shell dentro do recipiente do aplicativo desejado executando:

Comandos para usar no terminal

flatpak run --command=bash org.gnome.Calculator

E dentro desta sessão, execute o comando acima:

Comandos para usar no terminal

gsettings set org.gnome.desktop.interface gtk-theme my-theme

Mas isso não funcionou comigo, então recorri para usar a variável de ambiente GTK_THEME, que deve ser usada para fins de depuração. Se você conseguiu fazer funcionar com gsettings, então me diga nos comentários.

Eu sei que não é uma solução automatizada, mas pelo menos dá a opção de alterar os temas para os aplicativos Flatpak com alguns comandos. Dessa forma, você pode fazer o aplicativo Flatpak integrar com o resto do sistema.

Espero que isso tenha lhe ajudado. Se você enfrentar quaisquer problemas, por favor mencione-os nos comentários.

Informações do autor: Este artigo foi contribuído pelo leitor Hamza Algohary e editado por Abhishek Prakash. Hamza é um estudante de engenharia de computadores e um entusiasta de código aberto e de código aberto. Ele também desenvolve aplicativos para o Linux Desktop. Você pode encontrar seu trabalho em seu perfil do github.

Última atualização deste artigo: 1 de november de 2021