GTKファイルセレクタ?

GTKファイルセレクタ?

ほとんどすべてのプログラムでをクリックすると、open以下のようにファイル選択ダイアログボックスが開きます。ダイアログボックスにRecentなどが表示されますHomeDesktop

ここに画像の説明を入力してください。

これは非常に迷惑なことです。私はDesktopデータを保存するために使用しておらず、Recent最近開いたダイアログボックスが何であれ、開いているダイアログボックスが表示されるたびに一貫して同じビューが必要です。

また、私のスクリーンショットに示すように、このダイアログウィンドウがどれほど愚かなのかを知ることができます。私tmpfsはにインストールし、/tmpもう一つはtmpfsにインストールしました/home/<user>/tmp

ただし、Locationsリストではこれら2つのマウントポイントを呼び出すtmpだけで区別することはできません。

/理想的には、左上に私のホームディレクトリがあり、下から始まる既存の一般的なファイルシステムツリーを見たいと思います。

あるいは、より良い方法は、ファイルシステムツリーを左側に表示することです。現在地は/home/<user>/自動的に「事前選択」され、コンテンツはhome右側に表示されます。

Recent以下を追加して削除できます.config/gtk-3.0/settings.ini

gtk-recent-files-enabled=false

しかし、上部にはデスクトップがまだ存在し、下部にはランダムに組み立てられた共有の絶対的な混乱があります。

GTK2 / GTK3で上記のようにファイルセレクタに順序とロジックを再インポートするにはどうすればよいですか?

2020年6月のアップデート:私はデスクトップ環境なしでGTK3ライブラリと一緒にDebian 10でOpenboxを使用しています。スクリーンショットも更新しました。

ベストアンサー1

GTKファイルセレクタ?

完璧なソリューションは、少なくともアップストリームをコミット/パッチすることです。gtkfilechooserdialog.cそしてgtkfilechooserwidget.cこの質問に答えるアドオンを実装し、アップデートを通じてすべてのユーザーが利用できるようにします。現在の実装に関するドキュメントは、次のように提供されています。GTK2そしてGTK3


パッチはローカルですか?

これらの機能をパッチするのは簡単な作業ではなく、アップストリームソリューションに加えて、これらのパッチをローカルに適用するにはGTKライブラリのカスタムパッチバージョンを使用する必要があるため、システムの更新が複雑になる可能性があります。

これらのパッチを適用する別の方法は、以下を使用することです。LD_予圧現在のGTKコードをパッチコードに置き換えるための環境変数と新しく開発されたパッチライブラリ。これは、各アプリケーションに個別に適用することも、システム全体に適用することもできます。このソリューションはきれいではありませんが、まだ機能しているため、回避策/ハッキングと見なされます。 (追加の開発ノートとして、新しいld_preloadライブラリには、次のようなものを実装するコードを含めることができます。これ)。


解決策はありますか?

複数のデスクトップをインストールしたユーザー(GnomeやKDEなど)の場合、特定のアプリケーションはよりカスタマイズ可能なKDEダイアログボックスを使用するように強制できます。たとえば、chromium次のようにできます。

XDG_CURRENT_DESKTOP=KDE chromium

他の解決策もありますGTK置換ダイアログボックス例えば大きなテックまたはxdg-デスクトップ-ポータル-kde

おすすめ記事