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_FILES
na ś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.desktop
plik-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 :(