Como posso controlar todas as sombras da janela?

Como posso controlar todas as sombras da janela?

Como posso controlar todas as sombras da janela/caixa? Os temas do Gnome parecem ter sombras de tamanhos diferentes, então presumo que seja possível.

Aqui está o que eu tentei:

  1. Editando o gtk.css em "~/.config/gtk-3.0/gtk.css" adicionando:

    .window-frame {box-shadow: none;}
    .window-frame:backdrop {box-shadow: none;}
    
  2. Adicionei o mesmo css a uma cópia de um tema baixado instalado em "~/.themes/" - ele não tinha classe .window-frame, então adicionei-o.

  3. Eu adicionei o mesmo css, bem como um dos temas padrão (Albatross) copiado de "/usr/share/themes/" - ele tinha uma classe .window-frame em "gtk-widgets.css", então eu o modifiquei.

Reiniciei o shell do Gnome após cada um. As tentativas 1 e 2 não fizeram nada. A tentativa 3 eliminou as sombras, mas também pareceu afetar a atualização nos aplicativos - a rolagem do texto não é atualizada.

--

Especificações: Ubuntu 18.04 com Gnome/Mutter

Responder1

A solução para isso é editar o "gtk.css" em qualquer tema que você esteja usando - os temas controlam a sombra suspensa/caixa. Eu testei isso no Ubuntu 18.04. Você pode editar o padrão em "~/.config/gtk-3.0/gtk.css" ou, uma ideia muito melhor, pode editar seu próprio tema instalado, mesmo que seja uma cópia do tema padrão. Instale o seu tema na pasta "~/.themes/" do seu diretório inicial e encontre o arquivo "gtk.css" na pasta "gtk-3.0". Abra o arquivo em um editor de texto e procure por “decoration” e “decoration:backdrop”. Para remover a sombra do Windows, comente a linha box-shadow e adicione seu próprio conjunto para "none", assim:

decoration
{
    border-radius: 6px 6px 0 0;
    border-width: 0px;
    /*box-shadow: 1px 12px 12px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.18);*/
    box-shadow: none;
    margin: 4px;
}

decoration:backdrop
{
    border-radius: 6px 6px 0 0;
    border-width: 0px;
    /*box-shadow: 1px 12px 12px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.18);*/
    box-shadow: none;
    margin: 4px;
}

Salve o arquivo. Em Configurações > Aparência você precisará carregar o tema - se você já o estava usando, mude para outro tema e depois volte para o seu tema novamente. O Windows agora não deve ter sombras – veja a imagem abaixo.

insira a descrição da imagem aqui

Responder2

Sempre podemos ativar o GTK Inspector ( gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true) e dar uma olhada nos bastidores.

Aqui está o meu~/.config/gtk-3.0/gtk.css

window decoration, window paned, window paned headerbar {
/* square top corners */
    border-radius: 0;
}

window paned headerbar
{
/* header top shadow */
    box-shadow: none;
}   

window decoration
{
/* Remove shadows */
    box-shadow: none;
/* window border */
    border: 1px solid silver;
}

insira a descrição da imagem aqui

informação relacionada