为菜单栏等设置深色主题(不是编辑器)代码::块

Eva*_*n S 9 themes code-blocks

在此处输入图片说明

我安装了 codeblocks-contrib,它为我提供了更多控件,例如键盘快捷键设置。但是,我仍然无法弄清楚如何将黑暗主题应用于所有区域,包括菜单栏和左窗格,而不是编辑器区域,就像附加照片一样。有人知道吗?

下面的照片是我的代码::块,深色主题仅应用于编辑器区域。

黑暗主题的唯一编辑器

Cip*_*agă 3

我在以下链接中找到了答案:http://codeisland.org/2013/codeblocks-dark-theme/

\n\n

对于我这个 Linux Mint 用户来说,系统范围的版本不起作用。

\n\n

我现在将在这里复制它,以防链接消失。所有积分均归解决方法的原始发现者所有。

\n\n
\n\n

代码::块主题支持\xe2\x80\xa6

\n\n

\xe2\x80\xa6 不存在。这是因为(为了可移植性) Code::Blocks GUI 是使用wxWidgets构建的,它在每个平台 \xe2\x80\x9d 上提供 \xe2\x80\x9cnative 外观和感觉。这相当于桌面环境认为正确的任何事情。

\n\n

那么,要在 Code::Blocks 中获得深色主题,您需要为整个桌面环境提供深色主题吗?是和不是。

\n\n

Code::Blocks for Linux 是使用 wxGTK 端口显式创建的,这意味着 wxWidgets API 包装在 Gtk API 周围。因此,在 Linux 上,Code::Blocks 使用 Gtk 作为它\xe2\x80\x99s GUI。

\n\n

现在,wxGTK 端口还没有完全更新,所以它\xe2\x80\x99 不使用 Gtk-3,而是使用(较旧的)Gtk-2。这很重要,因为这些版本之间主题的工作方式略有不同。

\n\n

对于使用 Gtk-3 的应用程序,Gnome 3 在 it\xe2\x80\x99s settings.ini 文件中提供了一个gtk-application-prefer-dark-theme-entry,它告诉所有 Gtk-3 应用程序使用当前设置主题的深色版本(如果可用,对于例如 Gnome 3 默认主题 \xe2\x80\x9cAdwaita\xe2\x80\x9d)。然而,这不会影响Gtk-2 应用程序(如 Code::Blocks)。

\n\n

此外,Gtk-3 应用程序可以决定不使用深色主题或始终使用它(例如 Eye of Gnome):

\n\n
GtkSettings *settings = gtk_settings_get_default ();\ng_object_set (G_OBJECT (settings),\n    "gtk-application-prefer-dark-theme", TRUE, NULL\n);\n
Run Code Online (Sandbox Code Playgroud)\n\n

(来自 Gnome\xe2\x80\x9d-source 的 \xe2\x80\x9cEye,main.c 第 175 行)\nGtk2 的深色主题

\n\n

因此,我访问Gnome-Look.org并搜索了一个好的深色 Gtk-2 主题,并发现 \xe2\x80\x9c Elegant Gnome \xe2\x80\x9d 是一个很好的匹配。然后,我手动将主题本身 [ Elegant-GTK] 复制到~/.themes/,并将 it\xe2\x80\x99s 图标主题 [ Elegant-AwOken] 复制到~/.icons/

\n\n

现在,要让 Code::Blocks 使用该主题,您有两个选择:将其设为默认 Gtk-2 主题或告诉 Code::Blocks 显式使用您下载的主题文件。

\n\n

我选择后面的选项。经过一番研究,我偶然发现了一篇博客文章,其中我发现了以下方法:

\n\n
GTK2_RC_FILES=/path/to/your/theme/gtkrc application\n
Run Code Online (Sandbox Code Playgroud)\n\n

这会暂时将环境变量设置GTK2_RC_FILES为主题路径,以开始application(在我们的例子中codeblocks)。Code::Blocks 现在应该具有深色外观。

\n\n

[...]

\n\n

默认启用所有内容

\n\n

最后但并非最不重要的一点是,我希望 Code::Blocks 始终以深色 Gtk-2 主题开始。如果您在系统范围内设置主题,则不需要执行此操作

\n\n

我将带有临时主题的命令放入 shell 脚本中,并将 -file 更改/usr/share/applications/codeblocks.desktop为:

\n\n
[Desktop Entry]\nExec=/home/luke/.codeblocks/start_dark.sh\n# More stuff down here...\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者您可以将该文件复制到您的主目录并在那里修改:cp /usr/share/applications/codeblocks.desktop ~/.local/share/applications/codeblocks.desktop

\n\n

该脚本如下所示:

\n\n
# It\'s important to give the path to the "gtkrc"-file here!\nGTK2_RC_FILES=~/.themes/Elegant-GTK/gtk-2.0/gtkrc codeblocks\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在,Code::Blocks 一片漆黑。

\n\n

摆脱窗户装饰

\n\n

现在,我有一个黑色的编辑器和 GUI 主题,但有一个白色的窗口标题栏。为了摆脱这个问题,我安装了GnomeShell 的 \xe2\x80\x9cMaximus\xe2\x80\x9d 扩展

\n\n

未来

\n\n

这篇文章可能很长时间都不起作用!正如 wxWidgets 主页上发布的:

\n\n
2012-07-09\n\nwxWidgets 2.9.4 has been officially released. [\xe2\x80\xa6]\n\n2.9 series bring many improvements compared to 2.8 series [\xe2\x80\xa6] 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.\n\nwe believe that 2.9.4 can be used in production environment [\xe2\x80\xa6]\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,Code::Blocks 迟早会继续使用 Gtk-3,而 Gtk-3 将无法执行此处描述的步骤。一旦遇到问题,我\xe2\x80\x99就会更新这篇文章。我不再使用 code::blocks :(

\n