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

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

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

我读过这个问题:

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

然而,我只是想彻底删除这个选项。

必须不断地偏离默认设置是很烦人的。

如果上述操作失败,有没有办法将我的主目录设为默认目录?

答案1

感谢 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

   如果(impl->operation_mode == OPERATION_MODE_BROWSE)
     {
+ GFile *文件夹;
+
       切换(impl->reload_state)
         {
         情况RELOAD_EMPTY:
-recent_shortcut_handler(实现);
+ /* 用户没有明确提供给我们要显示的文件夹,因此我们将
+ * 使用上次调用文件选择器时保存的文件
+ */
+文件夹=获取最后一个文件夹打开的文件(impl);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (impl),文件夹,NULL);
+ g_object_unref (文件夹);
+/* recent_shortcut_handler(实现);*/
           休息;

         情况 RELOAD_HAS_FOLDER:
@@ -6005,8 +6013,8 @@ gtk_file_chooser_default_unmap (GtkWidge

   设置_保存(实现);

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

   GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->取消映射 (小部件);
 }

答案2

这实际上是不可能的,因为与此相关的代码被硬编码到 gedit 代码库中。

这是与 Gedit 代码中的此更改相关的 gedit 提交消息 - http://git.gnome.org/browse/gtk+/commit/?id=ca74dc6a873bb375bb2abc3ea7642ed41e9f6e79

礼貌:http://tstarling.com/blog/2011/11/file_chooser_recent/

因此,除非有人更改此代码并将其更改为用户可设置的设置,否则很遗憾地说似乎没有直接的出路。

答案3

我不知道这是否能满足您的需要,但我认为它可能会解决您的问题。

你需要一个叫做 Activity Log Manager 的软件

sudo add-apt-repository ppa:zeitgeist/ppa 
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install activitylogmanager

在仪表板中找到活动日志管理器并运行它。

更多信息请访问天哪,Ubuntu!

答案4

我找到了一种方法,至少可以阻止时代精神创造历史(我认为):

rm ~/.local/share/zeitgeist/activity.sqlite
mkdir ~/.local/share/zeitgeist/activity.sqlite

从那时起,我的任何活动都不再以任何方式被记录下来,包括“最近使用”对话框。遗憾的是,它仍然会弹出,但至少它不会告诉我最近访问了哪些文件夹。我不喜欢被永久监视,即使这是我自己的机器。

最糟糕的是,即使你禁用 zeitgeist 的登录并清除历史记录,它仍然会完成不完整的工作并愉快地记录一些活动。

相关内容