जीटीके - प्रति-आवेदन के आधार पर डार्क थीम को सक्षम / सेट करें


54

क्या किसी एप्लिकेशन के लिए gtk-application-प्राथमिकता-अंधेरा-थीम सेट करने का कोई तरीका है?

यह सामान्य रूप से एप्लिकेशन द्वारा कोड में सेट किया गया है। आई ऑफ गनोम और टोटेम जैसे ऐप इसे चालू करते हैं। मैं चाहता हूँ, एक उपयोगकर्ता के रूप में इसे प्रति आवेदन ठिकानों पर चालू करें।

सूक्ति-टर्मिनल के लिए, मैं आमतौर पर काले रंग की पृष्ठभूमि योजना पर एक सफेद पाठ का उपयोग करता हूं, और अंधेरे खिड़की की सीमा होने से समग्र रूप में सुधार होगा।

मैं इसे vlc के लिए चालू करना चाहता हूं।

जवाबों:


61

साथ gtk+ ≥ 3.12आप एक विशिष्ट विषय और एक प्रति आवेदन पर अपने संस्करण (काले, प्रकाश) लोड कर सकते हैं 1 वातावरण चर के माध्यम से आधार GTK_THEME=theme:variantgtk+संदर्भ मैनुअल के अनुसार :

GTK_THEME.  If set, makes GTK+ use the named theme instead of the theme that is
specified by the gtk-theme-name setting [...] It is also possible to specify a
theme variant to load, by appending the variant name with a colon, like this:
GTK_THEME=Adwaita:dark.

तो, लोड करने के लिए 2 अंधेरे संस्करण आप चलाना होगा:

GTK_THEME=Adwaita:dark gedit

इसी तरह, विपरीत प्राप्त करने के लिए (जब डिफ़ॉल्ट विषय अंधेरा होता है), तो आप प्रकाश संस्करण को लोड करते हैं :

GTK_THEME=Adwaita:light gedit

ध्यान दें कि यदि आप इसे कस्टम लॉन्चर ( .desktopफ़ाइल) के माध्यम से उपयोग करना चाहते हैं, तो आपको लाइन envमें कमांड को प्रस्तुत करना होगा Exec:

Exec=env GTK_THEME=Adwaita:dark eog %U

1: वर्थ नोटिंग कि - देव निर्णय के अनुसार - gnome-terminalमेनू> वरीयताओं के माध्यम से नए का अपना विन्यास है और यह विषय को अनदेखा करता है। इसके अलावा, चूंकि यह नया सामान है, इसलिए कुछ gtk + 3 अनुप्रयोग GTK_THEMEपर्यावरण चर का सम्मान नहीं कर सकते (अभी तक) ।
2: यह काम नहीं करता है यदि आपके पास पहले से ही उस एप्लिकेशन का रनिंग इंस्टेंस है जैसे कि यदि nautilusपहले से ही डार्क मोड में चल रहा है तो रनिंग GTK_THEME=Adwaita:light nautilusएक नई nautilusविंडो खोलेगी लेकिन फिर भी डार्क मोड में। मुझे नहीं पता कि यह एक फीचर है या बग ...


इसलिए आप एक विशिष्ट विषय को नाम दे सकते हैं, लेकिन "जो भी विषय निर्धारित किया गया है उसके अंधेरे संस्करण" नहीं कह सकते हैं?
XTL

2
@XTL - बिल्कुल हालांकि GTK_THEME=:light eogयह भी काम करने लगता है ...
don_crissti

5
यह अधिकांश अनुप्रयोगों के लिए काम नहीं करता है।
थायने

1
मुझे एक एप्लिकेशन नहीं मिला है कि यह अभी तक काम करता है, जब मेरे पास एक डार्क थीम है।
थायने

2
मैंने ऊपर ( desktopफ़ाइलों के लिए) की कोशिश की है , लेकिन यह काम नहीं करता है, इसके साथ भी नहीं env। जब टर्मिनल से लॉन्च किया जाता है तो यह प्रीफेक्ट तरीके से काम करता है। मैं gtk 3.14.5-1 + deb8u1 का उपयोग करता हूं, और gedit के साथ 3.14.0-3 की कोशिश की, डेबियन "जेसी / स्थिर" 8. पर चल रहा है
aBarocio80

21

GTK + -3 अनुप्रयोगों के लिए, आप GtkSettings 'settings.ini का उपयोग करके डार्क थीम संस्करण को लागू कर सकते हैं:

$ mkdir -p $HOME/.config/gnome-terminal/gtk-3.0 # the path before gtk-3.0 is arbitrary
$ cat >> $HOME/.config/gnome-terminal/gtk-3.0/settings.ini << EOF
[Settings]
gtk-application-prefer-dark-theme=true
EOF
$ echo 'alias gnome-terminal="XDG_CONFIG_HOME=$HOME/.config/gnome-terminal gnome-terminal" >> $HOME/.bashrc

गैर जीटीके + जैसे अनुप्रयोगों के लिए vnc, आप अभी भी स्थापना करके अंधेरे विंडो सजावट लागू कर सकते हैं _GTK_THEME_VARIANTप्रकार के एक्स संपत्ति UTF8_STRINGके लिए dark। ऐसा करने के लिए xprop, निम्न कमांड टाइप करें और बाद में विंडो पर क्लिक करें:

$ xprop -f _GTK_THEME_VARIANT 8u -set _GTK_THEME_VARIANT "dark"

xpropWM_NAMEप्रॉपर्टी (टाइटल बार लेबल) या विंडो आईडी द्वारा भी विंडो का चयन कर सकते हैं :

$ xprop -f _GTK_THEME_VARIANT 8u -set _GTK_THEME_VARIANT "dark" -name "Spotify Premium - Linux Preview"
$ xprop -f _GTK_THEME_VARIANT 8u -set _GTK_THEME_VARIANT "dark" -id 0x380002b

विंडो आईडी और नाम प्राप्त करने के लिए, उपयोग करें xlsclients -l


किसी कारण gnome-terminalके लिए यह अंधेरे विषय के लिए कोड रखने के लिए बहुत अधिक प्रयास का फैसला किया है, इसलिए जब तक अपने distro इस अभ्यस्त काम में वापस पैच नहीं किया हैgnome-terminal
MattSturgeon

6

यहां एक बैश स्क्रिप्ट है जिसका उपयोग मैंने एक अलग थीम के साथ एक एप्लिकेशन लॉन्च करने के लिए किया है। हालांकि वर्षों में इसका उपयोग नहीं किया गया है, इसलिए मुझे नहीं पता कि यह वर्तमान GTK के साथ काम करेगा या नहीं।

#!/bin/bash
# lauch a gtk application with a different theme
# set GTKRCFILE variable to your favourite theme
GTKRCFILE=Clearlooks
GTK2_RC_FILES=/usr/share/themes/"$GTKRCFILE"/gtk-2.0/gtkrc "$@"

यहाँ जानकारी का एक सा है मैं ubuntu चौकों अभिलेखागार से दूर हो गया। यकीन नहीं हुआ तो दिक्कत होगी। ( यहाँ ) इस विधि को थोड़ा और विस्तार देते हुए एक ब्लॉग पोस्ट भी है। ( यहाँ ) और ( यहाँ )। इस साइट पर भी एक ऐसा ही सवाल है जिसका जवाब पहले ही दिया जा चुका है। ( यहाँ )

सूक्ति के तहत, एप्लिकेशन सूक्ति-सेटिंग्स-डेमन से अपनी थीम प्राप्त करते हैं। यह तुरंत सभी सक्रिय अनुप्रयोगों के लिए किसी भी विषय परिवर्तन को लागू करता है, जिससे प्रति-एप्लायंस विषय को बदलना असंभव हो जाता है।


5
टाइपो या गलती? ('सूक्ति-सेटिंग-दानव') ... शब्द डेमॉन है (दानव नहीं) .. इसका एक बहुत अलग मूल अर्थ है: …(in ancient Greek belief) Daemons are good or benevolent supernatural beings between mortals and gods... डेमन = अच्छा / दानव = बुरा ... en.wikipedia.org/wiki / Daemon_% 28classical_mythology% 29 .. (स्पष्ट दिन-सोम )
Peter.O

टाइपो, यही तो होता है जब आप हर चीज की जांच नहीं करते हैं: |
जिओडामिलियो

2
@ पीटर.ओ: वर्तमान अंग्रेजी में अलग अर्थ, लेकिन वास्तव में एक ही मूल। etymonline.com/index.php?term=demon
जॉइस

1
के साथ कोशिश की GTK2_RC_FILES=/usr/share/themes/Adwaita/gtk-2.0/gtkrc /opt/ide/eclipseऔर काम नहीं किया
रॉबी नेस्पू

1

विशेष रूप से gnome-terminal, आप विशिष्ट एप्लिकेशन को अंधेरा बनाने के लिए निम्नलिखित का उपयोग कर सकते हैं:

gsettings set org.gnome.Terminal.Legacy.Settings theme-variant 'dark'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.