Jawaban terkini ara tentang Gtk2, saya bertanya tentang Gtk3.
neonboy
Saya mengedit pertanyaan untuk lebih mencerminkan apa yang Anda cari. Maaf, tetapi jawaban singkat dari penelitian saya adalah tidak , Anda tidak bisa tanpa harus menghabiskan usaha membuat tema "hibrid" baru seperti yang dijelaskan @Kush :( Tidak lagi sesederhana GTK2 lagi.
ish
Jawaban:
32
Anda dapat menggunakan variabel lingkungan GTK GTK_THEME=elementaryuntuk meluncurkan aplikasi dengan tema dasar. Misalnya, menjalankan GTK_THEME=elementary pantheon-filesakan meluncurkan aplikasi File dasar menggunakan tema SD GTK.
Untuk menerapkan ini setiap kali Anda meluncurkan aplikasi tertentu, opsi terbaik Anda kemungkinan akan membuat file .desktop (peluncur) khusus.
Buat file .desktop kustom
Buka browser file Anda
Navigasi ke /usr/share/applications/
Salin peluncur (sorot dan Ctrl + C) untuk aplikasi yang ingin Anda luncurkan dengan tema dasar
Navigasikan ke ~/.local/share/applications/dan tempel peluncur (Ctrl + V)
Klik kanan dan buka peluncur dengan editor teks
Ubah baris yang dimulai dengan Exec=untuk memasukkan Exec=env GTK_THEME=elementarydan kemudian isi baris yang ada sebelumnya. (Jadi Exec=pantheon-filesakan menjadi Exec=env GTK_THEME=elementary pantheon-files)
Simpan dan tutup file
Lain kali Anda meluncurkan aplikasi dari Unity (atau peluncur aplikasi pilihan Anda) itu akan menggunakan tema dasar.
Bonus: membuatnya berfungsi saat menggunakan baris perintah
Anda mungkin juga ingin aplikasi untuk memulai dengan tema dasar ketika meluncurkannya dari baris perintah. Untuk melakukannya:
Buka aplikasi Terminal Anda
Ketik alias pantheon-files="GTK_THEME=elementary pantheon-files"(ganti pantheon-filesdengan aplikasi yang diinginkan)
tekan enter
Peringatan:
Ini tidak akan mengubah tema manajer jendela Anda ke tema dasar.
Ini (berdasarkan desain) hanya akan berlaku untuk akun Anda, bukan root atau siapa pun di mesin.
Nama tema adalah cAsE-sEnsItiVe dan harus dicocokkan dengan nama folder tema.
Jawaban yang bagus tapi saya tidak bisa mendapatkan ini berfungsi untuk tema apa pun. Bisakah Anda memberi contoh menggunakan terminal, find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'dan gedituntuk tujuan demonstrasi? Misal GTK_THEME="HighContrast" geditatau env GTK_THEME="HighContrast" geditatau GTK_THEME=Adwaita:dark gedittidak sama sekali.
Redsandro
Saya baru saja mengubahnya /usr/share/applications/<appname>.desktopdan itu berhasil untuk saya.
Drew Chapin
Adakah cara untuk melakukan ini dari kode di dalam aplikasi?
Anony-Mousse
1
Perlu dicatat bahwa nama tema peka terhadap huruf besar-kecil.
Cedric Reichenbach
Ini berfungsi untuk beberapa aplikasi tetapi tidak untuk semua.
10
Pertanyaannya masih valid dan saya menemukan cara:
buat folder apa saja path/to/MY_FOLDER
buat /share/themes/folder di dalamnya (yaitu path/to/MY_FOLDER/share/themes).
letakkan tema GTK3 di dalam yang terakhir
ubah nama tema menjadi nama TEMA AKTIF SAAT INI.
Akhirnya, perintah ini akan membuat aplikasi menggunakan tema yang diganti nama bukan yang sedang aktif:
GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON
(Path after GTK_DATA_PREFIX=harus seperti itu ( dan hanya itu ) ke folder yang berisi/share/themes/RENAMED_THEME . Itu sebabnya BUKANpath/to/MY_FOLDER/share/themes/RENAMED_THEME , tapi adil path/to/MY_FOLDER.)
Untuk memilikinya di dalam peluncur, ganti yang sesuai:
Sekarang ini benar-benar berfungsi bahkan dengan Eclipse, tidak seperti jawaban lain yang saya coba.
Ruslan
2
file / folder mana yang tepat kita tunjuk untuk digunakan GTK_DATA_PREFIX?
runDOSrun
1
Ini agak membingungkan, tetapi saya telah menemukan jawabannya dan mengedit jawabannya.
Cara lain adalah dengan memasukkan tema berganti nama khusus aplikasi ke dalam ~/.themes(aktif saat ini harus dalam /usr/share/themes) dan kemudian menggunakan beberapa jalur GTK_DATA_PREFIX=path/to/nowhere untuk meluncurkan aplikasi itu, yang akan mengatur ulang tema aplikasi ke yang saat ini, hanya itu akan terlihat pertama masuk ~/.themesdan mengambil satu dengan nama yang sama di sana.
1
@runDOSrun - path setelahnya GTK_DATA_PREFIX=harus berupa ( dan hanya itu ) ke folder yang berisi/share/themes/RENAMED_THEME . Itu sebabnya BUKANFOLDER/share/themes/RENAMED_THEME , tapi adil FOLDER.
8
Tentunya mungkin, saya tidak memiliki banyak pengalaman tema, tetapi ketika Anda menavigasi ke /usr/share/themes/*Theme Name*/gtk-3.0/apps/direktori, Anda akan menemukan .cssfile, dinamai dengan aplikasi yang ditargetkan untuk tema, jadi ya Anda dapat membuat Tema khusus aplikasi.
Perhatikan bahwa cara yang Anda sebutkan untuk tema aplikasi Anda mungkin memerlukan beberapa pekerjaan yang harus dilakukan (seperti memiliki Ambiance dan Elementary bekerja secara bersamaan, karena setiap tema memiliki file dasar di atas yang mana styling khusus aplikasi dilakukan, (file gtkrcdalam Gtk 2.0 sementara, file gtk.cssdalam kasus Gtk3.0 ).
Dan file tema dasar ini berisi aturan gaya yang secara khusus menargetkan tema yang diberikan, maka Anda tidak dapat membuat tampilan dan nuansa Elementary dari file tema dasar Ambiance tanpa membuat beberapa perubahan berat, dan bahkan jika Anda melakukannya, Anda akan kehilangan Ambiance terlihat dengan sendirinya.
Juga, di GNOME, dimungkinkan untuk hanya menerapkan satu tema pada satu waktu, Sebagai contoh, jika Anda telah menggunakan jendela Appearance di Ubuntu 12.04, Anda tahu dapat memilih satu tema dari dropdown, jika Anda telah menggunakan gnome-tweak-tool, daripada Anda dapat mengatur tema yang berbeda, untuk Gtk, Bingkai jendela, dan ikon, tetapi tetap saja, itu tidak memungkinkan untuk menargetkan aplikasi tertentu ke tema, jadi seperti yang saya katakan sebelumnya, Anda dapat mengatur tema yang sama sekali berbeda untuk aplikasi yang berbeda jika Anda bekerja dengan cerdik dengan file tema dasar, sampai sekarang, tidak ada aplikasi pihak ketiga yang dapat melakukannya dengan sendirinya.
Salah satu cara Anda dapat melakukannya sendiri adalah, biarkan file tema dasar ( gtk.css) hanya memiliki aturan penting yang netral untuk tema apa pun, menjadi gelap atau terang. Dan memiliki desain tema aktual yang ditulis dalam file khusus aplikasi yang berada di direktori yang disebutkan di atas, yaitu untuk menata Nautilus, Anda dapat menulis semua properti yang diperlukan dalam nautilus.cssfile. Sama dengan setiap aplikasi yang ingin Anda targetkan. Jelas, melakukan hal tersebut membutuhkan pengalaman tema Gtk yang layak.
Anda dapat merujuk ini untuk membuat tema Anda sendiri menggunakan template, Juga ada dokumentasi yang layak tentang tema Gtk +.
Saya tidak ingin membuat tema baru, saya ingin menetapkan yang sudah ada.
neonboy
@neonboy: Seperti yang saya katakan bahwa dengan GTK3, tidak sesederhana itu, sebuah tema didistribusikan ke beberapa file, dan jika dependensi tidak terpenuhi, hanya tema yang rusak yang akan Anda dapatkan. Itu sebabnya saya memposting jawaban yang menunjukkan kemungkinan solusi dengan GTK3, dan bukan GTK2 (di mana melakukan ini cukup mudah).
Kushal
6
Ya, cara sederhananya adalah dengan mengarahkan aplikasi ke jalur yang diperlukan tempat file rc Anda berada, dalam perintah yang menjalankan aplikasi Anda:
Pertanyaannya adalah tentang Gtk3 bukan Gtk2, terima kasih.
neonboy
Anda tidak menentukannya di pertanyaan awal Anda. Harap tidak memusuhi para penanya.
Martin Owens -doctormo-
5
Awalnya itu adalah "Bisakah saya menggunakan tema GTK3 berbeda untuk aplikasi individual?" yang masih memiliki subjek Gtk3 dalam pertanyaan, kemudian kebebasan fosil meminta saya untuk mengomentari jawaban yang tidak valid dan mengedit pertanyaan jika perlu, saya tidak memusuhi siapa pun.
neonboy
1
Ya Anda bisa, sebenarnya saya mencari di Google dan mendapat beberapa jawaban:
Cari executable yang tepat untuk program yang ingin Anda ubah temanya. Misalnya, jika Anda menginginkannya untuk kantor, ketikkan which oofficeterminal.
Cari folder bin tempat semua aplikasi meletakkan executable biner mereka. Ketik echo $PATHterminal dan Anda akan menemukan jalurnya. Saya sarankan Anda untuk membuat folder bin di direktori home Anda dengan mengetikmkdir ~/bin
Ketik gedit ~/.bashrcuntuk membuka file bash rc Anda.
Buka bagian bawah file ini dan tambahkan baris ini export PATH=~/bin:${PATH}
Sekarang kita akan membuat skrip yang akan menjalankan program Anda dengan tema khusus:
Buat file skrip aplikasi dengan mengetik: gedit ~/bin/ooffice
Sangat mungkin untuk aplikasi GTK2 menggunakan GTK2_RC_FILES env. variabel. Juga, tema apa yang Anda bicarakan tentang kompilasi? Pertanyaannya adalah tentang tema GTK seluruh sistem yang tersedia di Ubuntu.
ish
1
Saya percaya metode yang Anda sebutkan menargetkan Gtk2.0 sementara Ubuntu 12.04 menggunakan Gtk3.0 untuk tema, jadi jika mungkin tidak berhasil.
Kushal
6
Maaf, itu solusi untuk Gtk2, pertanyaannya adalah tentang Gtk3.
Jawaban:
Anda dapat menggunakan variabel lingkungan GTK
GTK_THEME=elementary
untuk meluncurkan aplikasi dengan tema dasar. Misalnya, menjalankanGTK_THEME=elementary pantheon-files
akan meluncurkan aplikasi File dasar menggunakan tema SD GTK.Untuk menerapkan ini setiap kali Anda meluncurkan aplikasi tertentu, opsi terbaik Anda kemungkinan akan membuat file .desktop (peluncur) khusus.
Buat file .desktop kustom
/usr/share/applications/
~/.local/share/applications/
dan tempel peluncur (Ctrl + V)Exec=
untuk memasukkanExec=env GTK_THEME=elementary
dan kemudian isi baris yang ada sebelumnya. (JadiExec=pantheon-files
akan menjadiExec=env GTK_THEME=elementary pantheon-files
)Lain kali Anda meluncurkan aplikasi dari Unity (atau peluncur aplikasi pilihan Anda) itu akan menggunakan tema dasar.
Bonus: membuatnya berfungsi saat menggunakan baris perintah
Anda mungkin juga ingin aplikasi untuk memulai dengan tema dasar ketika meluncurkannya dari baris perintah. Untuk melakukannya:
alias pantheon-files="GTK_THEME=elementary pantheon-files"
(gantipantheon-files
dengan aplikasi yang diinginkan)Peringatan:
Sumber:
sumber
find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'
dangedit
untuk tujuan demonstrasi? MisalGTK_THEME="HighContrast" gedit
atauenv GTK_THEME="HighContrast" gedit
atauGTK_THEME=Adwaita:dark gedit
tidak sama sekali./usr/share/applications/<appname>.desktop
dan itu berhasil untuk saya.Pertanyaannya masih valid dan saya menemukan cara:
path/to/MY_FOLDER
/share/themes/
folder di dalamnya (yaitupath/to/MY_FOLDER/share/themes
).ubah nama tema menjadi nama TEMA AKTIF SAAT INI.
Akhirnya, perintah ini akan membuat aplikasi menggunakan tema yang diganti nama bukan yang sedang aktif:
GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON
(Path after
GTK_DATA_PREFIX=
harus seperti itu ( dan hanya itu ) ke folder yang berisi/share/themes/RENAMED_THEME
. Itu sebabnya BUKANpath/to/MY_FOLDER/share/themes/RENAMED_THEME
, tapi adilpath/to/MY_FOLDER
.)Untuk memilikinya di dalam peluncur, ganti yang sesuai:
sumber
GTK_DATA_PREFIX
?~/.themes
(aktif saat ini harus dalam/usr/share/themes
) dan kemudian menggunakan beberapa jalurGTK_DATA_PREFIX=path/to/nowhere
untuk meluncurkan aplikasi itu, yang akan mengatur ulang tema aplikasi ke yang saat ini, hanya itu akan terlihat pertama masuk~/.themes
dan mengambil satu dengan nama yang sama di sana.GTK_DATA_PREFIX=
harus berupa ( dan hanya itu ) ke folder yang berisi/share/themes/RENAMED_THEME
. Itu sebabnya BUKANFOLDER/share/themes/RENAMED_THEME
, tapi adilFOLDER
.Tentunya mungkin, saya tidak memiliki banyak pengalaman tema, tetapi ketika Anda menavigasi ke
/usr/share/themes/*Theme Name*/gtk-3.0/apps/
direktori, Anda akan menemukan.css
file, dinamai dengan aplikasi yang ditargetkan untuk tema, jadi ya Anda dapat membuat Tema khusus aplikasi.Perhatikan bahwa cara yang Anda sebutkan untuk tema aplikasi Anda mungkin memerlukan beberapa pekerjaan yang harus dilakukan (seperti memiliki Ambiance dan Elementary bekerja secara bersamaan, karena setiap tema memiliki file dasar di atas yang mana styling khusus aplikasi dilakukan, (file
gtkrc
dalam Gtk 2.0 sementara, filegtk.css
dalam kasus Gtk3.0 ).Dan file tema dasar ini berisi aturan gaya yang secara khusus menargetkan tema yang diberikan, maka Anda tidak dapat membuat tampilan dan nuansa Elementary dari file tema dasar Ambiance tanpa membuat beberapa perubahan berat, dan bahkan jika Anda melakukannya, Anda akan kehilangan Ambiance terlihat dengan sendirinya.
Juga, di GNOME, dimungkinkan untuk hanya menerapkan satu tema pada satu waktu, Sebagai contoh, jika Anda telah menggunakan jendela Appearance di Ubuntu 12.04, Anda tahu dapat memilih satu tema dari dropdown, jika Anda telah menggunakan
gnome-tweak-tool
, daripada Anda dapat mengatur tema yang berbeda, untuk Gtk, Bingkai jendela, dan ikon, tetapi tetap saja, itu tidak memungkinkan untuk menargetkan aplikasi tertentu ke tema, jadi seperti yang saya katakan sebelumnya, Anda dapat mengatur tema yang sama sekali berbeda untuk aplikasi yang berbeda jika Anda bekerja dengan cerdik dengan file tema dasar, sampai sekarang, tidak ada aplikasi pihak ketiga yang dapat melakukannya dengan sendirinya.Salah satu cara Anda dapat melakukannya sendiri adalah, biarkan file tema dasar (
gtk.css
) hanya memiliki aturan penting yang netral untuk tema apa pun, menjadi gelap atau terang. Dan memiliki desain tema aktual yang ditulis dalam file khusus aplikasi yang berada di direktori yang disebutkan di atas, yaitu untuk menata Nautilus, Anda dapat menulis semua properti yang diperlukan dalamnautilus.css
file. Sama dengan setiap aplikasi yang ingin Anda targetkan. Jelas, melakukan hal tersebut membutuhkan pengalaman tema Gtk yang layak.Anda dapat merujuk ini untuk membuat tema Anda sendiri menggunakan template, Juga ada dokumentasi yang layak tentang tema Gtk +.
sumber
Ya, cara sederhananya adalah dengan mengarahkan aplikasi ke jalur yang diperlukan tempat file rc Anda berada, dalam perintah yang menjalankan aplikasi Anda:
Ini pada 12,04 untuk inkscape (yang masih Gnome2 btw) menghasilkan ini:
Lihat informasi lebih lanjut tentang tema Gtk2 yang berjalan di sini .
sumber
Ya Anda bisa, sebenarnya saya mencari di Google dan mendapat beberapa jawaban:
which ooffice
terminal.echo $PATH
terminal dan Anda akan menemukan jalurnya. Saya sarankan Anda untuk membuat folder bin di direktori home Anda dengan mengetikmkdir ~/bin
gedit ~/.bashrc
untuk membuka file bash rc Anda.export PATH=~/bin:${PATH}
Sekarang kita akan membuat skrip yang akan menjalankan program Anda dengan tema khusus:
gedit ~/bin/ooffice
Ketik baris ini di file yang dibuka:
Mengubah modus file ke executable dengan mengetik:
chmod +x ~/bin/ooffice
.Semoga ini bisa membantu, Anda harus mengingat hanya satu hal, format skrip seperti yang ditunjukkan di bawah ini:
sumber