Örneğin, Ambiance'ı ana tema olarak tutabilir, ancak temel uygulamanın ilkine temayı atayabilir miyim?
Örneğin, Ambiance'ı ana tema olarak tutabilir, ancak temel uygulamanın ilkine temayı atayabilir miyim?
Yanıtlar:
GTK ortam değişkenini GTK_THEME=elementary
, temel temalı bir uygulama başlatmak için kullanabilirsiniz . Örneğin, koşu GTK_THEME=elementary pantheon-files
, temel GTK temasını kullanarak temel Dosyalar uygulamasını başlatır.
Bunu belirli bir uygulamayı her başlatışınızda uygulamak için, en iyi seçeneğiniz özel bir .desktop dosyası (başlatıcı) oluşturmaktır.
/usr/share/applications/
~/.local/share/applications/
Başlatıcıya gidin ve yapıştırın (Ctrl + V)Exec=
dahil etmek Exec=env GTK_THEME=elementary
ve hattın bir önceki mevcut içeriği. (Böylece Exec=pantheon-files
olur Exec=env GTK_THEME=elementary pantheon-files
)Uygulamayı Unity'den (veya tercih ettiğiniz uygulama başlatıcınızdan) bir sonraki başlatışınızda temel temayı kullanır.
Ayrıca, uygulamanın komut satırından başlatırken temel temayla başlamasını da isteyebilirsiniz. Böyle yaparak:
alias pantheon-files="GTK_THEME=elementary pantheon-files"
( pantheon-files
istediğiniz uygulamayla değiştirme )find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'
ve gedit
gösteri amaçlı bir örnek verebilir misiniz ? Örneğin GTK_THEME="HighContrast" gedit
veya env GTK_THEME="HighContrast" gedit
veya GTK_THEME=Adwaita:dark gedit
... hiçbir şey.
/usr/share/applications/<appname>.desktop
ve benim için çalıştı.
Soru hala geçerli ve bir yolunu buldum:
path/to/MY_FOLDER
/share/themes/
içinde bir klasör yarat path/to/MY_FOLDER/share/themes
.adlandırmak ANDA AKTİF THEME adının temasını.
Sonunda, bu komut bir uygulamanın aktif olanın yerine yeniden adlandırılmış temayı kullanmasını sağlar:
GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON
(Sonrasındaki yol GTK_DATA_PREFIX=
, ( ve yalnızca bu ) içerdiği klasöre ait olmalıdır /share/themes/RENAMED_THEME
. Bu yüzden DEĞİL path/to/MY_FOLDER/share/themes/RENAMED_THEME
, ama sadece path/to/MY_FOLDER
.)
Bir başlatıcının içinde olması için, uygun şekilde değiştirin:
Exec=sh -c 'GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATION'
GTK_DATA_PREFIX
?
~/.themes
(olmak Geçerli etkin sahiptir /usr/share/themes
) ve daha sonra bazı yolu kullanın GTK_DATA_PREFIX=path/to/nowhere
sadece ilk bakacağız, şimdiki birine uygulaması tema sıfırlayacak söz konusu uygulamayı başlatmak için ~/.themes
ve take orada aynı adı taşıyan kişi.
Kesinlikle mümkün, çok fazla tema deneyimine sahip değilim, ancak /usr/share/themes/*Theme Name*/gtk-3.0/apps/
dizine girdiğinizde , .css
temayı hedefleyen uygulamalarla adlandırılmış dosyaları bulursunuz , böylece evet, uygulamaya özel Temalar oluşturabilirsiniz.
Her tema uygulamaya özel stil yapılır hangi üstüne bir baz dosyası vardır beri uygulamalarınızın bazı çalışma gerektirebilir sen temasına belirtilen yolu (, aynı anda her iki Ambiance ve İlköğretim işi olması gibi (bir dosya sarf edilmesi gerektiğini ifade Not gtkrc
içinde Gtk 2.0 iken, Gtk3.0gtk.css
durumunda bir dosya ).
Ve bu temel tema dosyası, belirli temayı hedefleyen şekillendirme kurallarını içerir, bu nedenle Ambiance'ın temel tema dosyasından bazı ağır değişiklikler yapmadan İlkel görünüm ve his gibi hissedemezsiniz ve yapsanız bile, Ambiance'ın kendi görüntüsünü kaybedersiniz.
Ayrıca, GNOME'da, bir seferde yalnızca tek bir tema uygulamak mümkündür, Örneğin, Ubuntu 12.04'te Görünüm penceresini kullandıysanız gnome-tweak-tool
, kullanmanız durumunda, açılır listeden herhangi bir tek temayı seçebileceğinizi biliyorsunuzdur. Gtk, Pencere çerçeveleri ve simgeler için farklı temalar belirleyebilirsiniz, ancak yine de, belirli uygulamaları temaya hedeflemenize izin vermez, bu nedenle daha önce de söylediğim gibi, akıllıca çalışırsanız farklı uygulamalar için tamamen farklı temalar ayarlayabilirsiniz. temel tema dosyası, şu an itibariyle, hiçbir üçüncü taraf uygulaması tarafından kendi başına yapamaz.
Bunu kendi başınıza yapmanın bir yolu, temel tema dosyasının ( gtk.css
) yalnızca koyu veya açık olmak üzere herhangi bir temaya nötr olan temel kurallara sahip olmasına izin vermesidir. Ve asıl tema tasarımının yukarıda belirtilen dizinde yer alan uygulamaya özel dosyalarda yazılmasını sağlayın, örn. Nautilus'u şekillendirmek için gerekli tüm özellikleri nautilus.css
dosyaya yazabilirsiniz . Hedeflemek istediğiniz her uygulamayla aynı. Açıkçası, böyle bir şey yapmak, bazı iyi Gtk tema oluşturma deneyimini gerektiriyor.
Sen anlamlara gelebilir bu da iyi bir orada, şablonu kullanarak kendi temanızı oluşturmak için dokümantasyon GTK + themeing üzerinde.
Evet, basit yol, uygulamayı, rc dosyanızın yaşadığı gerekli yoldan, uygulamanızı çalıştıran komutta işaretlemektir:
GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape
Bu, inkscape (hala Gnome2 btw olan) için 12.04'te şunu üretir:
Burada çalışan Gtk2 teması hakkında daha fazla bilgi edinin .
Evet yapabilirsin, aslında googled ve bazı cevaplar aldım:
which ooffice
, terminali yaz.echo $PATH
terminalde ve olacak ge yolu. Yazarak giriş dizininizde bir bin klasörü oluşturmanızı öneririm.mkdir ~/bin
gedit ~/.bashrc
sizin bash rc dosyasını açmak için.export PATH=~/bin:${PATH}
Şimdi programınızı özel temayla çalıştıracak bir script yaratacağız:
gedit ~/bin/ooffice
Açılan dosyaya bu satırları yazın:
#!/bin/bash
env GTK2_RC_FILES=/usr/share/themes/SlicknessX/gtk-2.0/gtkrc /usr/bin/ooffice "$@"
Dosyanın modunu çalıştırılabilir olarak: ile yazarak değiştirin chmod +x ~/bin/ooffice
.
Umarım bu yardımcı olur, yalnızca tek bir şeyi hatırlamanız gerekir, komut dosyasının biçimi aşağıda gösterilmiştir:
#!/bin/bash
env GTK2_RC_FILES=PATH_TO_GTKRC PATH_TO_EXECUTABLE "$@"