Ustaw ciemny motyw dla paska menu itp. (NIE edytora) kod :: bloki

7

wprowadź opis zdjęcia tutaj

Zainstalowałem codeblocks-contrib, który dał mi więcej kontroli, takich jak ustawienia skrótów klawiaturowych. Jednak nadal nie mogłem wymyślić, jak zastosować ciemny motyw do wszystkich obszarów, w tym paska menu i lewego panelu innych niż obszary edytora, tak jak załączone zdjęcie. Ktoś wie

Poniższe zdjęcie to mój kod :: bloki, które motyw Dark zastosował tylko w obszarze edytora.

TYLKO EDYTOR W CIEMNYM TEMATIE

Evan S.
źródło

Odpowiedzi:

3

Znalazłem odpowiedź pod następującym linkiem: http://codeisland.org/2013/codeblocks-dark-theme/

Dla mnie, użytkownika Linux Mint, wersja ogólnosystemowa nie działała.

Teraz go odtworzę tutaj, na wypadek gdyby link zniknął. Wszystkie kredyty trafiają do oryginalnej wyszukiwarki obejścia.


Obsługa motywów Code :: Blocks…

… Nie istnieje. Wynika to z faktu, że (dla przenośności) GUI Code :: Blocks jest budowany przy użyciu wxWidgets , który oferuje „natywny wygląd i działanie na każdej platformie”. Jest to równoważne z tym, co środowisko pulpitu uważa za właściwe.

Tak więc, aby uzyskać ciemny motyw w Code :: Blocks, potrzebujesz ciemnego motywu dla całego środowiska pulpitu? Tak i nie.

Code :: Blocks for Linux jest jawnie tworzony przy użyciu portu wxGTK, co oznacza, że ​​interfejs API wxWidgets jest owinięty wokół interfejsu API Gtk. Tak więc w Linuksie Code :: Blocks używa Gtk jako GUI.

Teraz port wxGTK nie jest całkowicie aktualny, więc nie używa Gtk-3, ale (starszy) Gtk-2. Jest to ważne, ponieważ sposób działania motywów nieznacznie się zmienił między tymi wersjami.

W przypadku aplikacji, które wykorzystują Gtk-3, Gnome 3 ofertygtk-application-prefer-dark-theme -entry w jego settings.ini pliku, który informuje wszystkie Gtk-3 aplikacje do korzystania z wersji ciemnej aktualnie ustawionej tematu (jeśli są dostępne, na przykład Gnome 3 Default motyw „Adwaita”). To jest jednak nie wpływa Gtk-2 aplikacje (jak Code :: Blocks).

Ponadto aplikacje Gtk-3 mogą zdecydować, aby nie używać ciemnego motywu lub zawsze go używać (np. Eye of Gnome):

GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
    "gtk-application-prefer-dark-theme", TRUE, NULL
);

(Z źródła „Eye of Gnome”, linia main.c 175 ). Ciemny motyw dla Gtk2

Poszedłem więc na Gnome-Look.org i szukałem dobrego, ciemnego motywu Gtk-2 i znalazłem „ Elegant Gnome ”, który dobrze pasuje. Następnie ręcznie skopiowałem sam motyw [ Elegant-GTK] do ~/.themes/i jego ikonę-motyw [ Elegant-AwOken] do ~/.icons/.

Teraz, aby Code :: Blocks używał motywu, masz dwie opcje: Ustaw go jako domyślny motyw Gtk-2 lub powiedz Code :: Blocks, aby wyraźnie używał pobranych plików motywu.

Wybieram późniejszą opcję. Po kilku badaniach natknąłem się na post na blogu, w którym znalazłem następującą metodę:

GTK2_RC_FILES=/path/to/your/theme/gtkrc application

Tymczasowo ustawia zmienną środowiskową GTK2_RC_FILESna ścieżkę motywu na początek application(w naszym przypadku codeblocks). Code :: Blocks powinien teraz mieć ciemny wygląd.

[...]

Włącz wszystko jako domyślne

Na koniec chcę, aby Code :: Blocks zawsze zaczynał od ciemnego motywu Gtk-2. Jeśli ustawisz motyw dla całego systemu, nie musisz tego robić .

Umieściłem komendę z tymczasowym motywem w skrypcie powłoki i zmieniłem /usr/share/applications/codeblocks.desktopplik-na następujący:

[Desktop Entry]
Exec=/home/luke/.codeblocks/start_dark.sh
# More stuff down here...

Lub możesz skopiować plik do katalogu domowego i tam go zmodyfikować: cp /usr/share/applications/codeblocks.desktop ~/.local/share/applications/codeblocks.desktop

Skrypt wygląda następująco:

# It's important to give the path to the "gtkrc"-file here!
GTK2_RC_FILES=~/.themes/Elegant-GTK/gtk-2.0/gtkrc codeblocks

A teraz Code :: Blocks jest ciemny.

Pozbycie się dekoracji okien

Teraz miałem czarny edytor i motyw GUI, ale biały pasek tytułowy okna. Aby się tego pozbyć, zainstalowałem rozszerzenie „Maximus” dla GnomeShell .

Przyszłość

Ten artykuł może nie działać bardzo długo! Jak opublikowano na stronie początkowej wxWidgets:

2012-07-09

wxWidgets 2.9.4 has been officially released. […]

2.9 series bring many improvements compared to 2.8 series […] Compared to the previous 2.9.3 release, the most important change in this release is beta-level support for GTK+ 3 in wxGTK port.

we believe that 2.9.4 can be used in production environment […]

Jest więc kwestią czasu, zanim Code :: Blocks przejdzie dalej i użyje Gtk-3, który wtedy nie będzie działał z opisanymi tutaj krokami. Zaktualizuję artykuł, gdy tylko napotkam problemy. Nie używam już kodu :: blocks :(

Ciprian Tomoiagă
źródło