我安裝了 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-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/
並將其圖示主題 [ 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 :(