GNOME開発者は libadwaitaライブラリの最初の安定バージョン、 これには、GNOME HIG(ヒューマンインターフェイスガイドライン)ガイドラインに従うユーザーインターフェイスを設計するための一連のコンポーネントが含まれています。
ライブラリには、すぐに使用できるウィジェットとオブジェクトが含まれており、GNOMEの一般的なスタイルに準拠するアプリケーションを作成できます。そのインターフェイスは、任意のサイズの画面に適合させることができます。
libadwaitaライブラリ GTK4と組み合わせて使用し、GNOMEテーマコンポーネントを含める それらがGTKから別のライブラリに移動されたことをアドワイチャ。
libadwaitコードaはlibhandyライブラリに基づいており、このライブラリを置き換えるために配置されていますは、もともとGNOMEテクノロジーに基づいてモバイルプラットフォーム上で適応型インターフェイスを作成するために作成され、Librem5スマートフォン用のPhoshGNOME環境で改良されました。
ライブラリiさまざまなインターフェイス要素をカバーする標準ウィジェットが含まれています。 リスト、パネル、編集ブロック、ボタン、タブ、検索フォーム、ダイアログボックスなど。 提案されたウィジェットを使用すると、PCやラップトップの大画面とスマートフォンの小タッチスクリーンの両方で有機的に機能するユニバーサルインターフェイスを作成できます。
アプリケーションインターフェイス 画面サイズとデバイスに基づいて動的に変化します 利用可能な入力。 ライブラリには、ルックアンドフィールをGNOMEガイドラインに合わせるAdwaitaプリセットのセットも含まれており、手動でカスタマイズする必要はありません。
GNOMEイメージを別のライブラリに移動すると、GNOMEに必要な変更をGTKとは別に開発できるため、GTK開発者は基本に集中でき、GNOME開発者はGTK自体に影響を与えることなく、必要なスタイル変更をより迅速かつ柔軟にプッシュできます。
しかし、 このアプローチは開発者にとって課題となります サードパーティのGTKベースのユーザー環境から libadwaitaを使用し、GNOME仕様に準拠する必要があります そして、それを再発明するか、GTKスタイルライブラリの独自のバージョンを開発し、サードパーティのスタイルライブラリに基づく環境で異種のGNOMEアプリケーションがどのように見えるかに自分自身を辞任します。
サードパーティ環境開発者の主な不満は、インターフェイス要素の色のオーバーライドに関する問題に関係していますが、libadwaita開発者は、将来のバージョンの一部となる柔軟な色管理のためのAPIの提供に取り組んでいます。
未解決の問題の中で、タッチスクリーン上でのみジェスチャコントロールウィジェットが正しく動作することも呼ばれます。 タッチパネルの場合、GTKの変更が必要になるため、このようなウィジェットの正しい動作は後で提供されます。
libadwaitaの主な変更点 libhandyと比較して:
- 完全に再設計されたスタイルのセット。
- 色を要素にバインドし、アプリケーション操作中に色を変更するメカニズムが変更されました(問題は、libadwaitaがSCSSに切り替わったため、色を置き換えるために再組み立てが必要になるという事実に関連しています)。
- より対照的な要素の選択により、暗いテーマを使用する場合の表示品質が向上しました。
- Libhandyはlibadwaitaになりました
- アプリケーションで使用するための多くの新しいスタイルクラスを追加しました。
- 大きなモノリシックSCSSファイルは、小さなスタイルファイルのコレクションに分割されます。
ダークスタイルとハイコントラストモードを設定するためのAPIが追加されました。 - ドキュメントが作り直され、gi-docgenツールキットを使用して生成されるようになりました。
- ある状態を別の状態に置き換えるときに遷移効果を作成したり、春のアニメーションを作成したりするために使用できるアニメーションAPIを追加しました。
- AdwViewSwitcherベースのタブの場合、未表示の通知の数でラベルを表示する機能が追加されました。
- Libadwaitaの自動初期化とスタイルのロードのためのクラスAdwApplication(GtkApplicationのサブクラス)が追加されました。
一般的な操作を簡素化するために、ウィジェットの選択が追加されました。 - ウィンドウタイトルを設定するためのAdwWindowTitle、子のサブクラス化を簡素化するためのAdwBin、コンボボタン用のAdwSplitButton、アイコンとラベルのあるボタン用のAdwButtonContent。
- APIのクリーンアップが完了しました。
最後に あなたがそれについてもっと学ぶことに興味があるなら、 詳細を確認できます 次のリンクで。