ほとんどすべてのプログラムでをクリックすると、open
以下のようにファイル選択ダイアログボックスが開きます。ダイアログボックスにRecent
などが表示されますHome
。Desktop
これは非常に迷惑なことです。私は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。
答え2
カスタマイズできますか?
gtk-recent-files-enabled=false
この設定を追加すると、~/.config/gtk-3.0/settings.ini
最近のアイテムを無効にできます。また、直接的な関係はありませんが、最近のファイルを無効にするためにも使用できますgtk-recent-files-limit=0
。gtk-recent-files-max-age=0
Gtk2の場合これ解決策は最近のファイルを無効にすることです。
隠しファイルや起動モードを表示するように設定できる他の設定はひどいです。
gsettings set org.gtk.Settings.FileChooser show-hidden true
gsettings set org.gtk.Settings.FileChooser startup-mode cwd
dconf-editor
その他利用可能な設定のスクリーンショット
答え3
このトピックはかなり長い間言及されてきましたが、サイドバーでますます増えているほとんど役に立たないマウントポイントエントリのリストを無視する簡単な解決策はまだないようです。
クイックフィックスでは、次のパッチはホームディレクトリ、ユーザーブックマーク、および「最近」エントリ(設定されている場合)を除くすべての場所を無効にします。
おそらくこれが役に立ちます。
--- gtk+3.0-3.24.24.orig/gtk/gtkplacessidebar.c
+++ gtk+3.0-3.24.24/gtk/gtkplacessidebar.c
@@ -106,6 +106,16 @@
* - .has-open-popup when a popup is open for a row
*/
+/* Workaround switch for a concise places sidebar.
+ *
+ * 2023-01-05 Gundolf Kiefer <[email protected]>
+ *
+ * The following switch disables all automatically generated places from the
+ * sidebar except the home directory and the user-defined bookmarks.
+ */
+#define SHORT_SIDEBAR 1
+
+
/* These are used when a destination-side DND operation is taking place.
* Normally, when a common drag action is taking place, the state will be
* DROP_STATE_NEW_BOOKMARK_ARMED, however, if the client of GtkPlacesSidebar
@@ -1097,6 +1107,8 @@ update_places (GtkPlacesSidebar *sidebar
g_object_unref (start_icon);
g_free (home_uri);
+#if SHORT_SIDEBAR == 0
+
/* desktop */
if (sidebar->show_desktop)
{
@@ -1416,6 +1428,8 @@ update_places (GtkPlacesSidebar *sidebar
}
g_list_free (mounts);
+#endif // SHORT_SIDEBAR == 0
+
/* add bookmarks */
bookmarks = _gtk_bookmarks_manager_list_bookmarks (sidebar->bookmarks_manager);
答え4
人々がすでにここで言ったようStartupMode=cwd
に~/.config/gtk-2.0/gtkfilechooser.ini
。
その場合は、次の行を次の行に挿入してください~/.config/gtk-3.0/settings.ini
。
gtk-recent-files-enabled=false
「/」が最初のビューとして表示されるようにするには、chdir /
アプリケーションを起動する前にこれを行う必要があります。