GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak používat jiné téma GTK 3 pro konkrétní použití

Tento článek vysvětluje, jak na konkrétní aplikace použít jiný motiv GTK 3 (odlišný motiv od globálního / desktopového motivu GTK).

Proč byste tedy chtěli nastavit některé aplikace tak, aby používaly jiné téma GTK3, než jaké je nastaveno pro celou vaši plochu? Existují případy, kdy aplikace nevypadá tak, jak by měla vypadat, s určitým motivem, ale přesto chcete toto téma použít pro ostatní aplikace na ploše Linuxu. Nebo možná dáváte přednost použití určitého motivu pouze pro jednu nebo dvě aplikace, zatímco pro ostatní aplikace používáte jiné téma, např. desktop.

Na tomto snímku obrazovky používá Tweaks motiv Mint-Y, Nautilus používá motiv Canta, Gedit používá Yaru-dark a web Eolie prohlížeč (instalovaný společností Flathub) používá téma Plata. Všechny běží ve stejnou dobu.


Uvedu vám příklad.

Ubuntu 19.10 používá ve výchozím nastavení smíšené světlé a tmavé téma, ale liší se od toho, které bylo použito v předchozích verzích Ubuntu:název okna je tmavý, ale panel nabídek je nyní světlý. To je důvod, proč editory kódu jako Visual Studio Code, Atom nebo Sublime Text, které ve výchozím nastavení používají motivy tmavých barev, bílý pruh nabídek, zatímco vše ostatní je tmavé.

Pokud byste raději ponechali toto nastavení (smíšené téma Yaru než vaše globální téma GTK 3 a téma tmavé barvy pro VS Code / Atom / Sublime Text), ale změňte panel nabídek VS Code / Atom / Sublime Text na tmavou barvu. nefunguje Pokud to nevypadá nepatřičně, můžete pomocí pokynů v tomto článku nastavit VS Code / Atom / Sublime Text tak, aby používal Yaru-dark motiv, zatímco všechny ostatní aplikace kombinují výchozí Použít Yaru design .

Mohlo by se vám také líbit:Jak získat tmavé nabídky a dialogy prostředí GNOME na Ubuntu 19.10 s motivem Yaru

Pro změnu motivu GTK pro každou aplikaci použijeme GTK_THEME Proměnná prostředí, která říká „určeno hlavně pro snadné ladění problémů s tématem“ na této stránce GNOME GTK . Z tohoto důvodu není zaručeno, že tato možnost bude fungovat všude (ve skutečnosti nefunguje s aplikacemi podporujícími DBus) a v určitém okamžiku může přestat fungovat.

Je důležité zmínit, že v tomto případě změní motiv aplikace pro každou aplikaci GTK 3, ale dekorace oken zůstanou nezměněny (Nadále používejte globální motiv GTK 3) pro aplikace, které nepoužívají dekorace na straně klienta.

Funguje to jak pro nativní aplikace, tak pro balíčky Flatpak a Snap, pokud motiv, který chcete pro danou aplikaci použít, podporuje Flathub / Snapcraft (jako vedlejší poznámka, aplikace Flatpak podporují mnohem více motivů třetích stran než Snap ).

Spuštění jednotlivé aplikace s jiným tématem než globálním tématem GTK3

Chcete-li přepsat výchozí motiv GTK na bázi aplikace, nastavte GTK_THEME Proměnná prostředí s tématem, které by měla aplikace použít jako hodnotu při spuštění aplikace. Takto:

GTK_THEME=<theme-name> <application>

Musíte nahradit <theme-name> s názvem tématu (jak je uvedeno například v aplikaci Tweaks) a <application> se spustitelnou aplikací.

Upozorňujeme, že před spuštěním této aplikace s vlastním motivem musíte zavřít všechny spuštěné instance aplikace (Pokud běží na pozadí, můžete jej ukončit, např. pro ukončení všech spuštěných instancí Nautilus:killall nautilus ).

Podívejme se na příklad. Předpokládejme, že chcete spustit Gedit s tématem Yaru-dark:

GTK_THEME=Yaru-dark gedit

Nebo spusťte Nautilus (aplikaci Files) s motivem Canta a ponechte si druhý motiv, který jste nastavili pro ostatní aplikace:

GTK_THEME=Canta nautilus


Pokud má motiv, který chcete nastavit, tmavou variantu, ale není samostatný, označte, že chcete použít tmavý motiv, jako je tento:GTK_THEME=theme-name:dark . Chcete-li například získat aplikaci pro použití tmavého motivu Adwaita (který nemá samostatnou složku Adwaita-dark, ale podporuje tmavý motiv), spusťte tuto aplikaci takto:

GTK_THEME=Adwaita:dark <application>

Vždy spouštějte určité aplikace s vlastním motivem GTK 3

V případě, že chcete spustit aplikaci s konkrétním motivem GTK 3 (jiným než je motiv GTK vaší plochy) pokaždé, když kliknete na ikonu této aplikace v nabídce aplikace nebo spouštěči, musíte tak učinit.

Začněte zkopírováním souboru plochy aplikace z /usr/share/applications~/.local/share/applications . Pokud upravíte soubor plochy přímo v /usr/share/applications , soubor plochy se při každé aktualizaci aplikace přepíše, takže to budete muset opakovat. Ale zkopírováním souboru plochy po ~/.local/share/applications , změny jsou zachovány při upgradech (a ovlivní pouze vašeho uživatele).

Dále otevřete soubor plochy aplikace (ten, který je v ~/.local/share/applications ) Pomocí textového editoru, jako je Gedit, najděte řádky, které začínají Exec= a hned za = Přidejte env GTK_THEME=<theme-name> následuje Space . Nahraďte <theme-name> s názvem motivu (jak se zobrazuje například v aplikaci Tweaks), ale nic jiného neměňte.

Příklad. Předpokládejme, že chcete přinutit VS Code používat Yaru-dark jako motiv a zároveň používat jiné téma pro všechny ostatní aplikace na vaší ploše. V tomto případě zkopírujte code.desktop Soubor z /usr/share/applications na ~/.local/share/applications/ , otevřená code.desktop z tohoto nového umístění pomocí textového editoru a vyhledejte Exec Management.

Původní soubor VS Code desktop (code.desktop) má následující:Exec Správa:

Exec=/usr/share/code/code --unity-launch %F

Po jeho úpravě, aby VS Code vynutil použití motivu Yaru-dark, se tento řádek změní na:

Exec=env GTK_THEME=Yaru-dark /usr/share/code/code --unity-launch %F

Pokud má aplikace několik Exec Řádky (pokud například soubor na ploše aplikace podporuje akce na ploše, které se zobrazí po kliknutí pravým tlačítkem na ikonu aplikace), udělejte to pro každý z nich.

Nezapomeňte zavřít všechny spuštěné instance aplikace, než ji spustíte s vlastním motivem!

výše r / Ubuntu (u / Manyfacedgodd)


Ubuntu
  1. Jak používat Inotifywait ke sledování adresáře pro vytváření souborů s konkrétní příponou?

  2. Jak používat Lightdm pro uživatelsky definované relace?

  3. Jak rychle minimalizovat všechna Windows pro jednu aplikaci?

  1. Jak spustit aplikaci po nastavenou dobu v prostředí Shell?

  2. Jak používat jiné téma GTK 3 pro konkrétní použití

  3. jak používat netstat na konkrétním portu v Linuxu

  1. Jak automaticky spouštět programy v konkrétních pracovních prostorech při spuštění?

  2. Jak nainstalovat téma Gtk na Ubuntu 15.04?

  3. Jak získat aplikace Flatpak, aby používaly správné téma Gtk