有没有办法从打开和保存对话框中完全删除“最近使用”?

dun*_*ead 25 places

我从不使用最近使用的文件列表;我有一个文件系统,所以我知道我想在哪里打开和保存文件。

我读过这个问题:

我可以阻止应用程序在文件选择器对话框中默认选择“最近使用”吗?

但是,我只想完全删除此选项。

不得不继续导航远离默认值是一件很烦人的事。

如果上述失败,有没有办法让我的主目录成为默认目录?

小智 7

感谢 saji89 链接到受影响的文件。万一有人仍然关心这个(也是我自己,因为最近的升级允许它重新进入),我已经创建了一个补丁(http://pastebin.com/VE4STB6M)来修复这个烦人的错误功能。修补后的 gtk 仍会在对话框中显示“最近使用”,但默认情况下不会在对话框中选择它(默认为最后使用的目录或您的主目录)。对我来说,这解决了问题,因为我的主要抱怨是它突然出现在我的脸上,尤其是在尝试保存某些东西时。

分步说明:

1) 打开终端窗口并输入以下命令:

mkdir recently_used_fix

cd recently_used_fix/

sudo apt-get build-dep gtk+2.0

apt-get source gtk+2.0

wget -O deselect_recently_used.patch http://pastebin.com/download.php?i=VE4STB6M

patch -p0 < deselect_recently_used.patch

cd gtk+2.0-2.24.10/

echo jlj | dpkg-source --commit

sudo dpkg-buildpackage

cd ..

2) 关闭任何包管理器(例如 Synaptic)并在终端窗口中输入以下命令:

sudo dpkg -i *.deb

3) 如果dpkg -i命令给出关于覆盖少数现有文件(更改日志等)的错误,请使用删除它抱怨的每个文件,然后重复步骤 2。我注意到无论出于何种原因似乎都不起作用。sudo rm FILENAME--force-overwrite

4) 可选:成功安装软件包后,使用 Synaptic 固定/保持 ( Package > Lock Version) 每个已安装的软件包,以避免再次执行所有这些操作(当然您也会错过任何安全更新)。

5) 关闭并重新打开任何受影响的应用程序(pluma、gedit、gimp 等),享受无烦恼的打开/保存对话框!

6) 可选:在终端窗口中输入以下命令以删除我们创建的文件和目录(修复程序将保持安装):

cd ..

sudo rm -rf recently_used_fix/

如果无法下载补丁,这里是一个备份副本:

--- gtk+2.0-2.24.10/gtk/gtkfilechooserdefault.c 2011-11-08 10:20:20.000000000 -0700
+++ 下载/gtk/gtk+2.0-2.24.10/gtk/gtkfilechooserdefault.c 2012-07-10 17:20:38.000000000 -0700
@@ -5971,10 +5971,18 @@ gtk_file_chooser_default_map (GtkWidget

   if (impl->operation_mode == OPERATION_MODE_BROWSE)
     {
+ GFile *文件夹;
+
       开关 (impl->reload_state)
         {
         案例 RELOAD_EMPTY:
- 最近的快捷方式处理程序(实现);
+ /* 用户没有明确地给我们一个文件夹来显示,所以我们将
+ * 使用上次调用文件选择器时保存的文件
+ */
+ 文件夹 = get_file_for_last_folder_opened (impl);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (impl), folder, NULL);
+ g_object_unref(文件夹);
+ /* 最近的快捷方式处理程序 (impl); */
           休息;

         案例 RELOAD_HAS_FOLDER:
@@ -6005,8 +6013,8 @@ gtk_file_chooser_default_unmap (Gtkwidge

   settings_save (impl);

- 取消所有操作(实现);
- impl->reload_state = RELOAD_EMPTY;
+ /* 取消所有操作(实现);
+ impl->reload_state = RELOAD_EMPTY; */

   GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->unmap (widget);
 }