Ich habe eine Antwort unter folgendem Link gefunden: http://codeisland.org/2013/codeblocks-dark-theme/
Für mich als Linux Mint-Benutzer hat die systemweite Version nicht funktioniert.
Ich werde es jetzt hier reproduzieren, falls der Link verschwindet. Alle Credits gehen an den ursprünglichen Finder der Problemumgehung.
Code :: Blocks Theme-Unterstützung…
… Existiert nicht. Dies liegt an der Tatsache, dass die GUI von Code :: Blocks (aus Gründen der Portabilität) mit wxWidgets erstellt wird , das ein „natives Look & Feel auf jeder Plattform“ bietet. Dies entspricht dem, was die Desktop-Umgebung für richtig hält.
Um ein dunkles Thema in Code :: Blocks zu erhalten, benötigen Sie ein dunkles Thema für die gesamte Desktop-Umgebung? Ja und nein.
Code :: Blocks für Linux wird explizit mit dem wxGTK-Port erstellt, was bedeutet, dass die wxWidgets-API um die Gtk-API gewickelt ist. Unter Linux verwendet Code :: Blocks Gtk als GUI.
Jetzt ist der wxGTK-Port nicht vollständig auf dem neuesten Stand, daher wird nicht Gtk-3 verwendet, sondern der (ältere) Gtk-2. Dies ist wichtig, da sich die Funktionsweise von Themen zwischen diesen Versionen geringfügig geändert hat.
Für Anwendungen, die Gtk-3 verwenden, bietet Gnome 3 einen gtk-application-prefer-dark-theme
Eintrag in der Datei settings.ini an, der alle Gtk-3-Apps anweist, die dunkle Version des aktuell festgelegten Themas zu verwenden (falls verfügbar, z. B. die Gnome 3-Standarddatei). Thema "Adwaita"). Dies betrifft jedoch keine Gtk-2-Anwendungen (wie Code :: Blocks).
Außerdem können Gtk-3-Anwendungen entscheiden, das dunkle Thema nicht oder immer zu verwenden (wie Eye of Gnome):
GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
"gtk-application-prefer-dark-theme", TRUE, NULL
);
(Aus der "Eye of Gnome" -Quelle, main.c Zeile 175 ) Dunkles Thema für Gtk2
Also ging ich zu Gnome-Look.org und suchte nach einem guten, dunklen Gtk-2-Thema und fand, dass „ Elegant Gnome “ gut zu mir passt . Ich habe dann das Thema selbst [ Elegant-GTK
] manuell kopiert ~/.themes/
und es ist das Symbol-Thema [ Elegant-AwOken
] ~/.icons/
.
Damit Code :: Blocks das Thema verwenden kann, haben Sie zwei Möglichkeiten: Machen Sie es zum Standard-Gtk-2-Thema oder weisen Sie Code :: Blocks an, die heruntergeladenen Themendateien explizit zu verwenden.
Ich wähle die spätere Option. Nach einigen Recherchen bin ich auf einen Blog-Beitrag gestoßen, in dem ich die folgende Methode gefunden habe:
GTK2_RC_FILES=/path/to/your/theme/gtkrc application
Dadurch wird die Umgebungsvariable GTK2_RC_FILES
zu Beginn application
(in unserem Fall codeblocks
) vorübergehend auf den Themenpfad gesetzt . Code :: Blocks sollten jetzt ein dunkles Aussehen haben.
[...]
Aktivieren Sie standardmäßig alles
Zu guter Letzt möchte ich, dass Code :: Blocks immer mit dem dunklen Gtk-2-Thema beginnen. Wenn Sie das Thema systemweit festlegen, müssen Sie dies nicht tun .
Ich habe den Befehl mit dem temporären Thema in ein Shell-Skript /usr/share/applications/codeblocks.desktop
eingefügt und die -file in read geändert :
[Desktop Entry]
Exec=/home/luke/.codeblocks/start_dark.sh
# More stuff down here...
Oder Sie können die Datei in Ihr Ausgangsverzeichnis kopieren und dort ändern: cp /usr/share/applications/codeblocks.desktop ~/.local/share/applications/codeblocks.desktop
Das Skript sieht folgendermaßen aus:
# It's important to give the path to the "gtkrc"-file here!
GTK2_RC_FILES=~/.themes/Elegant-GTK/gtk-2.0/gtkrc codeblocks
Und jetzt ist Code :: Blocks dunkel.
Fensterdekoration loswerden
Jetzt hatte ich einen schwarzen Editor und ein GUI-Thema, aber eine weiße Fenstertitelleiste. Um dies zu vermeiden , habe ich die Erweiterung „Maximus“ für GnomeShell installiert .
Die Zukunft
Dieser Artikel funktioniert möglicherweise nicht sehr lange! Wie auf der Startseite von wxWidgets veröffentlicht:
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 […]
Es ist also eine Frage der Zeit, bis Code :: Blocks weitergeht und Gtk-3 verwendet, das dann mit den hier beschriebenen Schritten nicht funktioniert. Ich werde den Artikel aktualisieren, sobald ich Probleme damit habe. Ich benutze keinen Code mehr ::blöcke :(