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

7

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

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

Следующая фотография - мой код :: блокирует темную тему, примененную только к области редактора.

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

Эван С
источник

Ответы:

3

Я нашел ответ по следующей ссылке: 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 :(

Ciprian Tomoiagă
источник