Я нашел ответ по следующей ссылке: http://codeisland.org/2013/codeblocks-dark-theme/
Для меня, пользователя Linux Mint, общесистемная версия не работала.
Я сейчас воспроизведу это здесь, если ссылка исчезнет. Все кредиты идут к оригинальному поиску обходного пути.
Code :: Поддержка темы блоков…
... не существует. Это связано с тем, что (для переносимости) GUI Code :: Blocks создается с использованием wxWidgets , который предлагает «естественный вид на каждой платформе». Это эквивалентно тому, что окружение рабочего стола считает правильным.
Итак, чтобы получить темную тему в Code :: Blocks, вам нужна темная тема для всей среды рабочего стола? Да и нет.
Code :: Blocks для Linux явно создается с портом wxGTK, что означает, что API wxWidgets обернут вокруг API Gtk. Итак, в Linux Code :: Blocks использует Gtk для своего GUI.
Теперь порт wxGTK не полностью обновлен, поэтому он использует не Gtk-3, а (более старый) Gtk-2. Это важно, потому что способ работы тем немного изменился между этими версиями.
Для приложений, использующих Gtk-3, Gnome 3 предложенияgtk-application-prefer-dark-theme
-Посещение в это settings.ini-файл, который говорит все Gtk-3 приложения для использования версии темно в настоящее время заданную тему (если таковые имеются, например, Gnome 3 default- тема «Адвайта»). Это, однако, не влияет на приложения Gtk-2 (например, Code :: Blocks).
Кроме того, приложения Gtk-3 могут решить не использовать темную тему или всегда использовать ее (например, Eye of Gnome):
GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
"gtk-application-prefer-dark-theme", TRUE, NULL
);
(Из источника «Глаз Гнома», main.c line 175 ) Темная тема для Gtk2
Итак, я перешел на Gnome-Look.org и искал хорошую, темную тему Gtk-2 и нашел, что « Elegant Gnome » - хорошее совпадение. Затем я вручную скопировал саму тему [ Elegant-GTK
] ~/.themes/
и ее иконку-тему [ Elegant-AwOken
] ~/.icons/
.
Теперь, чтобы заставить Code :: Blocks использовать тему, у вас есть два варианта: сделать ее темой Gtk-2 по умолчанию или указать Code :: Blocks явно использовать загруженные вами файлы темы.
Я выбираю более поздний вариант. После некоторых исследований я наткнулся на сообщение в блоге, где нашел следующий метод:
GTK2_RC_FILES=/path/to/your/theme/gtkrc application
Это временно устанавливает переменную окружения GTK2_RC_FILES
на путь темы, для начала application
(в нашем случае codeblocks
). Code :: Blocks теперь должен выглядеть мрачно.
[...]
Включить все по умолчанию
И последнее, но не менее важное: я хочу, чтобы Code :: Blocks всегда начинался с темной темы Gtk-2. Если вы устанавливаете тему для всей системы, вам не нужно это делать .
Я поместил команду с временной темой в shell-скрипт и изменил /usr/share/applications/codeblocks.desktop
-file следующим образом:
[Desktop Entry]
Exec=/home/luke/.codeblocks/start_dark.sh
# More stuff down here...
Или вы можете скопировать файл в свой домашний каталог и изменить его там: cp /usr/share/applications/codeblocks.desktop ~/.local/share/applications/codeblocks.desktop
Сценарий выглядит так:
# It's important to give the path to the "gtkrc"-file here!
GTK2_RC_FILES=~/.themes/Elegant-GTK/gtk-2.0/gtkrc codeblocks
А теперь Code :: Blocks темно.
Избавляемся от оформления окон
Теперь у меня был черный редактор и тема GUI, но белое окно-заголовок. Чтобы избавиться от этого, я установил расширение «Maximus» для GnomeShell .
Будущее
Эта статья может не работать очень долго! Как размещено на стартовой странице 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 […]
Таким образом, это вопрос времени, когда Code :: Blocks перейдет и будет использовать Gtk-3, который затем не будет работать с шагами, описанными здесь. Я обновлю статью, как только у меня возникнут проблемы с этим. Я больше не использую code :: blocks :(