Depois de ler um pouco sobre o assunto e reler o readme.md
no projeto numix Percebi que eles realmente explicam como manualmente instalar e fazer alterações em seu tema.
A questão é que as instruções pressupõem muitos conhecimentos prévios - basicamente, você é um desenvolvedor C que conhece CSS.
Eu estou supondo que você sabe que o código-fonte para linguagens como C é compilado em executáveis binários e / ou arquivos de biblioteca, e que o SASS / SCSS é um pré-compilador (um tipo de linguagem "superior") compilado para CSS código-fonte que é interpretado - e não compilado em uma forma binária.
Pelo que posso dizer, a visão geral é assim:
+--------------------------------------------------------------+
+------+ | +---------------------+ |
| | you need to | | CSS files | Numix theme |
|SASS | "compile" | | ordinary text (code)| i.e. files in |
|files | SASS to CSS | | | /usr/share/themes/Numix Daily/gtk-3.0
| +-------------------------> <------------------------------------------+----------+
| | | +---------------------| | |
| | | +------------------------+ | |
+------+ | | gtk.resource | | |
If you change this | | (compiled binary <-----+ | |
you need to recompile | | file) | | | |
(update the CSS | +------------------------+ | | |
+--------------------------------------------------------------+ |
files) +----------------------+ | |
| GTK library | | +---------------------------+ |
+--------------------+ | (binary library) | | | GTK and C developer tools| |
| Application | | | | | used to recompile | |
| e.g. Gnome terminal| | Configured to use | | | gtk.gresource | |
| Nautilus etc | | Numix Theme | | | | |
| that uses GTK | | | +----+ | |
| library | | | | | |
| (binary | | | | | |
| executable) | | | +---------------------------+ |
+--------------------+ | | |
|Makes call to + |
|gtk_css_provider_load_from_file() +----------------------------------->
|
+----------------------+
Assim, o tema Numix e eu acho que muitos / todos os temas do GTK-3.0 são compostos por recursos binários e código CSS que é analisado pela chamada de função gtk_css_provider_load_from_file()
, que parece ser uma nova adição ao GTK-3.0.
O projeto numix sugere que você só precisa recompilar o gtk-gresource
se você alterar algum ativo. Então eu não me incomodaria com isso - a menos que você realmente precise. Se você realmente precisa, aqui, é uma introdução à construção de um recurso binário GTK
Recursos úteis
- GtkCssProvider - este é responsável por analisar o CSS - parece ser realmente a base para tornar as aplicações do GTK capazes para ler CSS. particularmente como o GTK lerá o código CSS para um tema na inicialização :
Um aplicativo pode fazer com que o GTK + analise uma folha de estilo CSS específica chamando gtk_css_provider_load_from_file () e adicionando o provedor com gtk_style_context_add_provider () ou gtk_style_context_add_provider_for_screen ().
Além disso, certos arquivos serão lidos quando o GTK + for inicializado. Primeiro, o arquivo $ XDG_CONFIG_HOME / gtk-3.0 / gtk.css é carregado se existir.
Então, o GTK + tenta carregar $ HOME / .themes / theme-name / gtk-3.0 / gtk.css, voltando ao datadir / share / themes / nome-do-tema / gtk-3.0 / gtk.css, onde nome-do-tema é o nome do tema atual (consulte a configuração "gtk-theme-name") e datadir é o prefixo configurado quando o GTK + foi compilado, a menos que seja substituído pela variável de ambiente GTK_DATA_PREFIX.
- Uma boa introdução aos temas do GTK - link
- documentos do Gnome sobre temas