クライアント側のウィンドウ装飾のない Xfce のフォークである Xfce Classic を設立しました

ショーン・アナスタシ(ショーン・アナスタシオ)、フリー ソフトウェア愛好家で、かつては独自のオペレーティング システムを開発したこともある ShawnOS Chromium と Qubes OS の ppc64le アーキテクチャへの移植に携わりました。 設立 プロジェクト Xfce クラシックその中で彼は、クライアント側のウィンドウ装飾 (CSD、クライアント側の装飾) を使用せずに動作する Xfce ユーザー環境コンポーネントのフォークを開発するつもりです。この場合、ウィンドウのタイトルとフレームはウィンドウ マネージャーではなく、アプリケーション自体。

Xfce 4.16 の次のリリースに備えて、そのリリースは 期待される 4 月または XNUMX 月に、インターフェイスが GtkHeaderBar ウィジェットと CSD の使用に移行されました。これにより、GNOME と同様に、メニュー、ボタン、その他のインターフェイス要素をウィンドウ ヘッダーに配置し、確実に非表示にすることが可能になりました。ダイアログ内のフレームの数。 新しいインターフェイス レンダリング エンジンは libxfceXNUMXui ライブラリに統合されており、既存のプロジェクトのコードを変更する必要なく、ほぼすべてのダイアログに CSD が自動的に適用されるようになりました。

CSDへの移行時 見つかった 、CSD サポートはオプションであるべきであり、ユーザーは従来のウィンドウ タイトルを使い続けられるべきだと考えています。 CSD を使用するデメリットとしては、ウィンドウ タイトル領域が大きすぎること、アプリケーション要素をウィンドウ タイトルに転送する必要がないこと、Xfwm4 テーマが操作できないこと、Xfce/GNOME アプリケーションとそれを使用するプログラムのウィンドウのデザインの不一致などが挙げられます。 CSD を使用しないことが記載されています。 一部のユーザーが GNOME インターフェイスを拒否する理由の XNUMX つは、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 氏は、Xfce を長年使用しており、この環境のインターフェイスが気に入っていると述べて、フォークを作成した理由を説明しました。 彼が同意しないインターフェイスの変更を決定し、以前の動作に戻すオプションを提供しようとしなかった後、彼は自分の問題を自分で解決し、その解決策を他の志を同じくする人々と共有することに決めました。

Xfce Classic を使用する場合の問題の 4.12 つは、タイトルとアプリケーション ウィンドウに繰り返し情報が表示されるため、タイトルが重複して表示されることです。 この機能は Xfce 4.14 および 4 の動作と一致しており、CSD とは関係ありません。 一部のアプリケーションでは、このような重複は正常に見えますが (xfceXNUMX-screenshooter など)、他のアプリケーションでは明らかに不適切です。 この問題を解決するには、XfceHeading のレンダリングを制御する環境変数を追加できます。

クライアント側のウィンドウ装飾のない Xfce のフォークである Xfce Classic を設立しました

CSD サポーターの立場は、メニュー、パネル ボタン、その他の重要なインターフェイス要素を配置するために無駄なウィンドウ タイトル スペースを使用できるかどうかにかかっています。 CSD の反対者は、このアプローチではウィンドウのデザイン、特にタイトル領域のレイアウトについて異なる推奨事項を定義するさまざまなユーザー環境向けに作成されたウィンドウのデザインを統一する際に問題が生じると考えています。 従来のようにサーバー側でウィンドウのサービス領域をレンダリングする場合、すべてのアプリケーションのウィンドウのデザインを単一のスタイルにする方がはるかに簡単です。 CSD を使用する場合、アプリケーション インターフェイスを各グラフィック環境に個別に適合させる必要があり、異なるユーザー環境でアプリケーションが異質に見えないようにすることは非常に困難です。

出所: オープンネット.ru

コメントを追加します