Di mana saya dapat menemukan skema referensi untuk tema GNOME 3 (mis. Adwaita)?


8

Saya memutakhirkan ke Fedora 21, yang menyoroti GNOME 3.14 (ditambah materi GTK + yang relevan). Sayangnya sepertinya pembaruan khusus ini membuat banyak tema lama saya, ditulis untuk versi GNOME 3. yang sudah menua, di mana sebelumnya mereka mungkin telah mencicit, mereka sekarang terlihat agak tidak pada tempatnya.

Saya tidak beranggapan untuk menemukan kembali roda: Saya akan sangat senang untuk mengambil template CSS yang sudah ada sebelumnya (misalnya spec default Adwaita 3.14) dan mengubahnya di sana-sini sesuai dengan keinginan saya; tidak akan ada terbang mewah. Bayangkan rambut yang saya sobek ketika saya mengintip di /usr/share/themes/Adwaita/gtk-3.0/gtk.css:

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

Itu membuat saya acar. Saya tidak memiliki Google-fu untuk menggali dokumentasi tentang di mana ini mungkin (lebih buruk, saya punya firasat bahwa ini adalah sesuatu yang secara implisit jelas bagi orang-orang GNOME yang saya lewatkan), dan untuk beberapa alasan situs web pengembang GNOME menolak upaya saya meneliti spesifikasi tema mereka.

Singkatnya, saya ingin menemukan spesifikasi tema perawan untuk GNOME 3.14, dengan asumsi ada yang masih ada. Bagaimana saya melakukan ini, atau bagaimana saya bisa memodifikasi pendekatan saya?

Jawaban:


13

Hanya ada satu baris di .cssfile tertentu karena tema default (Adwaita) datang sebagai biner:

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.

Karena kode sudah dimasukkan gtk+, Anda dapat melihat file sumber DI SINI . Sesuai mereka 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.

File referensi .cssadalah:

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

Berikut ini cara yang lebih lama, beberapa hal tidak lagi berlaku (seperti yang saya katakan, kode sumbernya gtk+sekarang, seperti gnome-themes-standardsudah usang) tetapi seharusnya membuat Anda berada di jalur yang benar:

Cara meretas tema GNOME Adwaita GTK


0

Saya menyalin TLDR saya sendiri di sini dari pertanyaan serupa tentang warna topbar jendela

~ / .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;
}

Untuk men-debug dan menemukan Pemilih CSS yang sesuai, buka aplikasi GTK3 dengan variabel lingkungan GTK_DEBUG = interaktif. Sebagai contoh,

GTK_DEBUG=interactive nautilus

Ini harus membuka inspektur untuk jendela GTK. Jika tidak ada di sana, tekan Ctrl + Shift + I.

tangkapan layar inspektur

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.