Closed samwhelp closed 1 month ago
剛剛我收到通知,看到專案程式碼有修正了,非常感謝。
不過我看了一下修改後的程式碼,額外產生了一個疑問,
修正前的程式碼片段
settings.setValue("gtk-icon-theme-name", m_iconTheme);
修正後的程式碼片段如下
settings.setValue("gtk-icon-theme-name", isDarkMode() ? "Crule-dark" : "Crule");
我的疑問是,上面的程式碼,雖然可以滿足修正我原本提到的議題
不過我猜好像會讓另一個功能會部份失效了。
也就是讓「設定Icon Theme」的功能不如預期,參考下面的說明。
參考下面的「程式碼片段」
QString ThemeManager::iconTheme() const
{
return m_iconTheme;
}
void ThemeManager::setIconTheme(const QString &iconTheme)
{
if (m_iconTheme == iconTheme)
return;
m_iconTheme = iconTheme;
m_settings->setValue("IconTheme", m_iconTheme);
updateGtk3Config();
emit iconThemeChanged();
}
對照我在另一篇討論串提到的概念,
原本在「Lingmo」環境,也可以透過「dbus」來設定「Icon Theme」,
以下是參考指令
執行下面指令,將「Icon Theme
」設定為「Crule-dark
」。
qdbus com.lingmo.Settings /Theme com.lingmo.Theme.setIconTheme "Crule-dark"
執行下面指令,獲得目前設定的「Icon Theme
」。
qdbus com.lingmo.Settings /Theme com.lingmo.Theme.iconTheme
顯示
Crule-dark
在「dbus-icon-theme-set」後,在「
~/.config/gtk-3.0/settings.ini
」也會被設定。
執行
grep '^gtk-icon-theme-name=' ~/.config/gtk-3.0/settings.ini
顯示
gtk-icon-theme-name=Crule-dark
以上補充說明,報告完畢
ok 收到
在 https://github.com/LingmoOS/lingmo-core/pull/17 修复了。提供了一个新的接口来设置dark模式下的theme
測試環境
測試範例
以「Mousepad」這個「Gtk應用程式」為例。
執行下面指令,安裝「mousepad」。
說明
亮色系
透過「
lingmo-settings -m appearance
」,當設定是「亮色系」的時候,顯示如下圖關於「~/.config/gtk-3.0/settings.ini」的內容如下
暗色系/ 非預期
透過「
lingmo-settings -m appearance
」,當設定是「暗色系」的時候,顯示如下圖關於「~/.config/gtk-3.0/settings.ini」的內容如下
icons
執行
顯示
暗色系 / 預期
手動編輯「~/.config/gtk-3.0/settings.ini」的內容如下
也就是設定「
gtk-icon-theme-name=Crule-dark
」,