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

8

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

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

    
задан Evan S 01.06.2015 в 11:15
источник

1 ответ

2

Я нашел ответ по следующей ссылке: Ссылка

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

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

Код :: Поддержка поддержки блоков ...

... не существует. Это связано с тем, что (для переносимости) Code :: Blocks GUI создается с использованием wxWidgets , который предлагает «собственный внешний вид и amp; чувствовать себя на каждой платформе ». Это эквивалентно тому, что думает окружающая среда рабочего стола.

Итак, чтобы получить темную тему в Code :: Blocks, вам нужна темная тема для всей среды рабочего стола? Да и нет.

Код :: Блоки для Linux явно создаются с помощью порта wxGTK, что означает, что API wxWidgets обернут вокруг API Gtk. Итак, в Linux, Code :: Blocks использует Gtk для своего графического интерфейса.

Теперь порт wxGTK не полностью обновлен, поэтому он не использует Gtk-3, а (более старый) Gtk-2. Это важно, потому что способ работы тем несколько изменился между этими версиями.

Для приложений, которые используют Gtk-3, Gnome 3 предлагает gtk-application-prefer-dark-theme -entry в его файле 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
);

(Из источника «Eye of Gnome», main.c line 175 ) Темная тема для Gtk2

Итак, я перешел на Gnome-Look.org и искал хорошую темную тему Gtk-2 и нашел «< a href="http://gnome-look.org/content/show.php/Elegant+Gnome+Pack?content=127826"> Элегантный гном ", чтобы быть хорошим совпадением. Затем я вручную скопировал саму тему [ Elegant-GTK ] на ~/.themes/ , а значок-theme [ 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 всегда начинал с темной темы Gtk-2. Если вы установите тему в общесистемной, , вам не нужно это делать .

Я поместил команду с временной темой в shell-скрипт и изменил файл /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: (

    
ответ дан Ciprian Tomoiagă 21.12.2015 в 13:51