創立了 Xfce Classic,一個沒有客戶端視窗裝飾的 Xfce 分支

肖恩·阿納斯塔西(肖恩·阿納斯塔西奧),一位自由軟體愛好者,曾開發過自己的作業系統 肖恩作業系統 並參與將 Chromium 和 Qubes OS 移植到 ppc64le 架構, 成立 項目 Xfce經典版,其中他打算開發 Xfce 用戶環境組件的分支,這些組件無需使用客戶端視窗裝飾(CSD,客戶端裝飾)即可工作,其中視窗標題和框架不是由視窗管理器繪製,而是由應用程式本身。

讓我們提醒您,為準備下一個版本的 Xfce 4.16,該版本的發布 預計 在 4 月或 XNUMX 月,介面被轉移到 GtkHeaderBar 小部件並使用 CSD,這使得可以與 GNOME 類比,將選單、按鈕和其他介面元素放置在視窗標題中,並確保隱藏對話框中的框架。 新的介面渲染引擎整合到libxfceXNUMXui庫中,這使得幾乎所有對話方塊都可以自動套用CSD,而無需更改現有專案的程式碼。

過渡到 CSD 時 成立 反對者,他們認為 CSD 支援應該是可選的,並且使用者應該能夠繼續使用經典視窗標題。 使用 CSD 的缺點包括視窗標題區域太大、不需要將應用程式元素轉移到視窗標題、Xfwm4 主題的不可操作性以及 Xfce/GNOME 應用程式和執行此操作的程式的視窗設計存在差異。提到不使用CSD。 值得注意的是,有些使用者拒絕GNOME介面的原因之一是CSD的使用。

由於 5 個月內沒有嘗試為禁用 CSD 提供支持,Sean Anastasi 決定了 我自己解決了這個問題並創建了庫的分支 libxfce4ui,其中我清除了與 CSD 的綁定,並在伺服器端(視窗管理器)返回了舊的裝飾模式。 為了確保與使用新 libxfce4ui API 的應用程式相容並保留 ABI,我們準備了一個特殊的綁定,將 XfceTitledDialog 類別的特定 CSD 方法轉換為 GtkDialog 類別的呼叫。 因此,可以透過取代 libxfce4ui 函式庫來消除 Xfce 應用程式的 CSD,而無需更改應用程式本身的程式碼。

此外,還形成了一個分叉 xfce4-面板,其中包括返回經典行為的更改。為 Gentoo 用戶準備的 覆蓋 安裝 libxfce4ui-nocsd。 為 Xubuntu/Ubuntu 用戶準備 PPA 儲存庫 與現成的包。 Sean Anastasi 解釋了創建 fork 的原因,他表示他已經使用 Xfce 多年,並且喜歡這個環境的介面。 在決定對他不同意的介面進行更改,並且沒有嘗試提供恢復舊行為的選項後,他決定自己解決他的問題並與其他志同道合的人分享解決方案。

使用 Xfce Classic 時的問題之一是由於標題和應用程式視窗中顯示重複資訊而出現重複標題。 此功能與 Xfce 4.12 和 4.14 的行為一致,與 CSD 無關。 在某些應用程式中,這種重複看起來很正常(例如,在 xfce4-screenshooter 中),但在其他應用程式中,這顯然是不合適的。 為了解決這個問題,可以加入一個環境變數來控制XfceHeading的渲染。

創立了 Xfce Classic,一個沒有客戶端視窗裝飾的 Xfce 分支

CSD 支持者的立場歸結為能夠利用浪費的視窗標題空間來放置選單、面板按鈕和其他重要的介面元素。 CSD 的反對者認為,這種方法在統一窗口設計方面存在問題,特別是那些為不同使用者環境編寫的窗口,這些環境為標題區域的佈局定義了不同的建議。 當在伺服器端傳統地渲染視窗的服務區域時,將所有應用程式的視窗設計統一為單一風格要容易得多。 在使用CSD的情況下,需要單獨使應用程式介面適應每個圖形環境,並且很難確保應用程式在不同的使用者環境中看起來不陌生。

來源: opennet.ru

添加評論