No Ubuntu 20.04.1 LTS
Versão do Gnome de acordo com a guia "Sobre" do aplicativo Configurações: 3.36.8
gnome-shell --version
GNOME Shell 3.36.4
Tema: Yaru (o padrão; não o "claro", não o "escuro")
Quando pressiono a supertecla ou ativo o canto de acesso, a tela "visão geral" aparece, onde posso pesquisar aplicativos, configurações, documentos e muito mais:
Problema/Desafio:
Acho essa sobreposição muito escura em comparação com a aparência normal da minha área de trabalho; cada vez que tenho que usá-lo, acho que tem um impacto intrusivo na experiência, e é um exercício cansativo para meus olhos se ajustarem.
Eu gostaria de tornar esta sobreposição um pouco mais clara/brilhante.
Eu examinei as configurações org.gnome.shell.extensions.dash-to-dock
com o dconf-editor, mas não encontrei nada para isso. (Eu não habilitei a extensão de shell Gnome adicional "Ubuntu Dock" em Tweaks.)
Então copiei o tema Yaru de /usr/share/themes/
para ~/.themes/
, e o ativei com o Gnome-Tweaks.
Em ~/.themes/My-Yaru/gtk-3.20/
eu exportei o conteúdo verdadeiro e sobrescrevi o arquivo gtk.css
com
gresource extract gtk.gresource /com/ubuntu/themes/Yaru/3.20/gtk.css > gtk.css
Agora, em vez da única linha original da instrução de importação, ela contém 12.637 linhas de CSS.
Tentei identificar o seletor CSS da sobreposição de traço, mas não encontrei nada. Então eu estava procurando por declarações de gradientes radiais (porque essa sobreposição parece ter um gradiente radial), mas o que encontrei não parece relacionado a essa sobreposição.
O que eu posso fazer agora? Será que estou no caminho certo?
Se sim, como eu poderia habilitar um modo de depuração do Gnome que - comparativamente às ferramentas de desenvolvedor dos navegadores da Web - revelaria interativamente o seletor CSS dessa sobreposição?
Se essa não for a direção certa, como eu poderia atingir o objetivo - de preferência sem ter que instalar um tema totalmente diferente?
Compatibilidade de resposta:
Ubuntu 20.04.1,
versão gnome-shell: 3.36.4
servidor de exibição: X.Org Server
O fundo escuro com um gradiente radial vem do lightbox.js da interface do usuário do shell do gnome.
https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-3-36/js/ui/lightbox.js
Parece haver 3 abordagens:
Por meio de parâmetros fornecidos ao lightbox.js da interface do usuário do gnome-shell
Eu não sei muito sobre isso. Não encontrei nada relevante em
dconf-editor
, além de que dois dos três parâmetros interessantes pareciam estar codificados para mim. Então eu fui para o código.Por meio da substituição do código lighbox.js da interface do usuário do gnome-shell
Alterar o comportamento do lighbox.js afeta não apenas as telas de visão geral da atividade e dos aplicativos, mas também outras caixas de diálogo, como: Executar um comando , Autenticação necessária , Desligar e muito mais.
No Ubuntu 20.04, o arquivo normalmente é empacotado dentro de
/usr/lib/gnome-shell/libgnome-shell.so
.Para substituí-lo, é preciso extrair uma cópia dele e pedir ao Gnome para usar essa cópia.
Crie esta estrutura de diretórios e
cd
lá em um terminal:Enquanto estiver neste diretório, faça o seguinte:
Edite o arquivo lightbox.js; altere as três variáveis próximas ao topo, como segue:
Agora precisamos informar ao Gnome sobre nosso arquivo modificado. Coloque a seguinte linha em
~/.profile
:O termo "sobreposições" aqui não se refere à sobreposição da caixa de luz; em vez disso, sugere como esse recurso de substituição de recursos do Gnome/GTK funciona.
Nota importante: antes de fazer tudo isso, eu já tinha o
libgtk-3-dev
pacote instalado no meu sistema. É para desenvolvimento / depuração, assim como o recurso de sobreposições de recursos parece ser. Portanto, no momento não posso determinar se respeitar aG_RESOURCE_OVERLAYS
variável de ambiente depende da presença deste pacote ou não... Apenas no caso de estar pronto para instalá-lo...De qualquer forma: para que as alterações entrem em vigor, saia e faça login novamente.
Ajustes adicionais
Para ver o efeito de mais ajustes nos parâmetros do lightbox, é necessário recarregar o shell do Gnome após cada edição. Isso pode ser feito emitindo o
r
comando através da caixa de diálogo Executar comando (revelada por Alt+F2).Interessante: Na minha experiência, quando se salva o arquivo lightbox.js com um erro de sintaxe, a caixa de diálogo do comando Executar parece não aparecer mais. Mas pode estar "lá", mas não "visível". Nesse caso, proceda como se estivesse lá: corrija a sintaxe e salve o arquivo, pressione Alt+F2, depois
r
, depois Enter.Outras considerações importantes sobre o impacto potencial do recurso de sobreposição de recursos na estabilidade do sistema são discutidas nesta resposta .
Referências / literatura:
Via CSS (tema personalizado gnome-shell)
Se você conseguiu substituir lightbox.js, esta parte pode oferecer apenas mais alguns ajustes para aprimorar um pouco mais a experiência.
No entanto, se você não substituiu lightbox.js, esta parte pode oferecer uma solução alternativa adicional com utilidade limitada para as telas de visão geral de Atividade e Aplicativos.
(Além disso, o seguinte foi minha resposta original para o problema, antes que eu pudesse colocar minha mão na substituição de javascript acima.)
Usando temas personalizados do shell do Gnome
O aplicativo Gnome Tweaks, bem como uma extensão do shell do Gnome, "User Themes" (parte do
gnome-shell-extensions
pacote, disponível via apt install), são necessários para isso.Abra o aplicativo Tweaks e ative a extensão "Temas do usuário" na guia "Extensões".
Criando um tema de shell Gnome personalizado
Esta parte não é comprovadamente o melhor método; é só que eu encontrei este caminho.
Crie a seguinte estrutura de diretórios:
copie este arquivo (a implementação do tema shell do tema Yaru padrão):
para este diretório recém-criado, então você acaba com isso:
Abrindo este diretório no terminal,
gresource list gnome-shell-theme.gresource
revela o conteúdo deste arquivo recém-copiado.Um script personalizado pode ajudar a extrair todo o conteúdo.
O conteúdo do script poderia ser algo assim, ou melhor (não sou um especialista em scripts bash) (já sei que as pessoas não gostam mais de backticks):
Observação: esse script personalizado não reproduz a estrutura de diretórios prescrita no arquivo .gresource; em vez disso, ele coloca os arquivos no diretório de destino (atual) de maneira simples. No entanto, ele imprime a definição de cada recurso que encontra, completa com seu caminho originalmente pretendido/definido. Embora nem sempre pareça ser necessário, em alguns casos (por exemplo, quando ícones quebrados ou fundos de widget são encontrados) pode valer a pena considerar reorganizar os arquivos em uma estrutura de diretório de acordo com o que as definições sugerem. Observe que deixei o arquivo .gresource original no diretório.
Script extrator alternativo: mais scripts desse tipo podem ser encontrados pesquisando a string "do gresource extract" neste site ou em outro lugar na internet.
Depois de executar o script do extrator e, em seguida, garantir rapidamente um backup do arquivo original,
o arquivo extraído
gnome-shell.css
está pronto para edição.ferramenta de desenvolvedor gnome-shell
Chama-se Espelho . Ele pode ser ativado emitindo o
lg
comando através da caixa de diálogo Executar comando (revelada por Alt+F2).Ajustes de CSS
As alterações abaixo funcionaram melhor para a cor de fundo da minha área de trabalho monótona; mas com alguns ajustes de cor pode ser útil para qualquer caso.
CSS funciona de tal forma que as definições feitas no final de um arquivo podem substituir as definições escritas anteriormente no mesmo arquivo. É por isso que não é necessário espalhar edições por todo o arquivo; apenas anexar a coisa certa no final faz o trabalho. Isso é o que eu acrescentei
gnome-shell.css
:Ativando o tema personalizado
Na guia "Aparência" do aplicativo Tweaks, na seção "Temas", há um campo chamado "Shell". O novo tema personalizado deve estar disponível no widget de seleção. Lembre-se, para que este widget esteja ativo, a extensão do shell do Gnome "Temas do usuário" precisa estar ativada.
Fazendo modificações CSS para entrar em vigor
Método 1: Emitir o
r
comando por meio da caixa de diálogo Executar comando (revelada por Alt+F2) recarrega o shell; ele também deve pegar as novas mudanças de CSS.Método 2: alternar entre os temas de shell padrão e personalizados parecia ser mais suave e gracioso em comparação com o Método 1. A alternância de temas pode ser obtida na interface do usuário do aplicativo Tweaks ou
gsettings
no cli, da seguinte maneira:Recuperação de um tema personalizado confuso
Se necessário, é possível voltar ao tema padrão executando o
gsettings set
comando acima em um console virtual (por exemplo, Ctrl+Alt+F3) (sem a necessidade de iniciar uma sessão gráfica).