Установить темную тему для меню и т. д. (НЕ редактора) code::blocks

Установить темную тему для меню и т. д. (НЕ редактора) code::blocks

введите описание изображения здесь

Я установил codeblocks-contrib, который дал мне больше элементов управления, таких как настройки сочетаний клавиш. Однако я все еще не мог понять, как применить темную тему ко всем областям, включая строку меню и левую панель, кроме областей редактора, как на прикрепленном фото. Кто-нибудь знает?

На следующем фото показан мой код::блоки, к которым темная тема применена только в области редактора.

ТОЛЬКО РЕДАКТОР В ТЕМНОЙ ТЕМЕ

решение1

Ответ я нашел по следующей ссылке:http://codeisland.org/2013/codeblocks-dark-theme/

Мне, пользователю Linux Mint, общесистемная версия не помогла.

Я воспроизведу его здесь, на случай, если ссылка исчезнет. Все кредиты принадлежат первоначальному искателю обходного пути.


Поддержка темы Code::Blocks…

… не существует. Это связано с тем, что (для переносимости) Code::Blocks GUI создан с использованием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 по умолчанию, «Adwaita»). Однако это ненетвлияют на приложения 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 строка 175) Темная тема для Gtk2

Итак, я пошёл кGnome-Look.orgи искал хорошую, темную тему Gtk-2 и нашел «Элегантный Гном” для хорошего соответствия. Затем я вручную скопировал саму тему [ Elegant-GTK] в , ~/.themes/а ее icon-theme [ Elegant-AwOken] в ~/.icons/.

Теперь, чтобы заставить Code::Blocks использовать тему, у вас есть два варианта: сделать ее темой Gtk-2 по умолчанию или указать Code::Blocks явно использовать загруженные вами файлы темы.

Я выбрал последний вариант. После некоторых исследований я наткнулся на запись в блоге, где нашел следующий метод:

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

Это временно устанавливает переменную окружения GTK2_RC_FILESв theme-path для начала application(в нашем случае codeblocks). Code::Blocks теперь должен иметь темный вид.

[...]

Включить все по умолчанию

И последнее, но не менее важное: я хочу, чтобы Code::Blocks всегда запускался с темной темой Gtk-2. Если вы установите тему для всей системы,вам не нужно этого делать.

Я поместил команду с временной темой в скрипт оболочки и изменил файл /usr/share/applications/codeblocks.desktopследующим образом:

[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 :(

Связанный контент