Onde posso encontrar um esquema de referência para temas do GNOME 3 (por exemplo, Adwaita)?

8

Atualizei para o Fedora 21, que destaca o GNOME 3.14 (mais o material relevante do GTK +). Infelizmente, parece que essa atualização em particular manipula muitos dos meus temas mais antigos, escritos para as versões atuais do GNOME 3. Onde antes eles poderiam ter gritado, agora parecem um pouco fora do lugar.

Não pretendo reinventar a roda: eu ficaria muito feliz em pegar um modelo CSS pré-existente (por exemplo, a especificação padrão do Adwaita 3.14) e ajustá-lo aqui e ali ao meu gosto; não haverá vôo chique. Imagine o cabelo que arranquei quando espiei /usr/share/themes/Adwaita/gtk-3.0/gtk.css:

/* Adwaita is the default theme of GTK+ 3, this file is not used */

Isso me coloca em apuros. Não tenho o Google-fu para desenterrar a documentação sobre onde isso pode estar (pior, sinto que isso é algo implicitamente óbvio para as pessoas do GNOME que estou perdendo) e, por alguma razão, o site do desenvolvedor do GNOME resiste minhas tentativas de pesquisar suas especificações temáticas.

Em resumo, eu gostaria de encontrar uma especificação de tema virgem para o GNOME 3.14, supondo que uma seja existente. Como posso fazer isso ou como posso modificar minha abordagem?

Kalvin Lee
fonte

Respostas:

13

Há apenas uma única linha nesse .cssarquivo específico porque o tema padrão (Adwaita) é fornecido como um binário:

Adwaita is a complex theme, so to keep it maintainable it's written and processed in SASS, the generated CSS is
then transformed into a gresource file during gtk build and used at runtime in a non-legible or editable form.

Como o código foi incluído gtk+, você pode visualizar os arquivos de origem AQUI . De acordo com readme:

_colors.scss        - global color definitions. We keep the number of defined colors to a necessary minimum, most colors 
                      are derived form a handful of basics. It covers both the light variant and the dark variant.
_colors-public.scss - SCSS colors exported through gtk to allow for 3rd party apps color mixing.
_drawing.scss       - drawing helper mixings/functions to allow easier definition of widget drawing under specific context.
                      This is why Adwaita isn't 15000 LOC.
_common.scss        - actual definitions of style for each widget. This is where you are likely to add/remove your changes.

Os .cssarquivos de referência são:

gtk-contained.css
gtk-contained-dark.css

Aqui está um tutorial antigo, algumas coisas não se aplicam mais (como eu disse, o código fonte está gtk+agora, como gnome-themes-standardfoi preterido), mas deve colocá-lo no caminho certo:

Como cortar o tema do GNOME Adwaita GTK

don_crissti
fonte
0

Estou copiando meu próprio TLDR aqui de uma pergunta semelhante sobre as cores da barra superior da janela

~ / .config / gtk-3.0 / gtk.css

/* REMOVE "-dark" IF USING LIGHT THEME */
@import url("resource:///org/gtk/libgtk/theme/Adwaita/gtk-contained-dark.css");

/* THIS ONE CHANGES TITLEBAR COLOR */
headerbar.titlebar,
headerbar.titlebar:active {
    background:#3F51B5;
}

/* THIS CHANGES NAUTILUS SEARCH BAR */
.horizontal.path-bar-box,
row:selected:backdrop {
     background:#3F51B5;
     border-color:#3F51B5;
}

Para depurar e encontrar seletores CSS adequados, abra um aplicativo GTK3 com a variável de ambiente GTK_DEBUG = interativa. Por exemplo,

GTK_DEBUG=interactive nautilus

Isso deve abrir um inspetor para a janela GTK. Se não estiver lá, pressione Ctrl + Shift + I.

captura de tela do inspetor

mcsy
fonte