為選單列等(不是編輯器)設定深色主題代碼::blocks

為選單列等(不是編輯器)設定深色主題代碼::blocks

在此輸入影像描述

我安裝了 codeblocks-contrib,它為我提供了更多控件,例如鍵盤快捷鍵設定。但是,我仍然無法弄清楚如何應用深色主題所有區域,包括功能表列和左窗格,而不是編輯器區域,就像所附照片一樣。有人知道嗎?

下面的照片是我的程式碼::僅在編輯器區域套用深色主題的區塊。

唯一的深色主題編輯器

答案1

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

對於我這個 Linux Mint 使用者來說,系統範圍的版本不起作用。

我現在將在這裡複製它,以防連結消失。所有積分均歸解決方法的原始發現者所有。


代碼::塊主題支援...

……不存在。這是因為(為了可移植性)Code::Blocks GUI 是使用建構的wxWidgets,它提供了“在每個平台上的原生外觀和感覺”。這相當於桌面環境認為正確的任何事情。

那麼,要在 Code::Blocks 中獲得深色主題,您需要為整個桌面環境提供深色主題嗎?是和不是。

Linux 的 Code::Blocks 是使用 wxGTK 連接埠明確建立的,這意味著 wxWidgets API 包裝在 Gtk API 周圍。因此,在 Linux 上,Code::Blocks 使用 Gtk 作為其 GUI。

現在,wxGTK 連接埠還沒有完全更新,因此它不使用 Gtk-3,而是使用(較舊的)Gtk-2。這很重要,因為這些版本之間主題的工作方式略有不同。

對於使用 Gtk-3 的應用程序,Gnome 3 優惠gtk-application-prefer-dark-themesettings.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/並將其圖示主題 [ 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 腳本中,並將 -file 更改/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 主題,但有一個白色的視窗標題列。為了擺脫這個問題,我安裝了GnomeShell 的「Maximus」擴展

未來

這篇文章可能很長時間都不起作用!正如 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 只是時間問題,而 Gtk-3 將無法執行此處描述的步驟。一旦遇到問題,我會立即更新這篇文章。我不再使用 code::blocks :(

相關內容