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 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:
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.
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:
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:
Configurando temas GTK para todos os aplicativos Flatpak
Alternativamente, para cada aplicação individual, execute:
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:
Aplicações Flatpak com o tema Adwaita padrão
E depois dos passos acima (com o tema Canta GTK):
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.
sudo flatpak override --reset
Como alternativa, você pode redefinir permissões no nível de pacote também:
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:
gsettings get org.gnome.desktop.interface gtk-theme
E para definir o tema GTK, execute:
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:
flatpak run --command=bash org.gnome.Calculator
E dentro desta sessão, execute o comando acima:
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.
Via itsfoss.com. Você pode conferir o post original em inglês:
Flatpak Apps Look Out of Place? Here’s How to Apply GTK Themes on Flatpak ApplicationsÚltima atualização deste artigo: 1 de november de 2021