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


26

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

我读过这个问题:

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

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

不得不远离默认设置而烦恼。

无法通过以上方法将主目录设置为默认目录吗?


1
感谢fossfreedom,但这不是重复的操作-我想从所有对话框中完全完全删除“最近使用过的地方”。我不用了 我从不使用它,我不喜欢它。
dunderhead

3
这是一个令人讨厌的默认值。为什么有人要滚动浏览一长串文件,希望它们在那儿,以便可以将它们可预测地发送到主文件夹,从该文件夹中获得任何所需文件的次数最多只有两次单击即可。此外,它还会阻止用户知道文件的存储位置,以及文件从该列表中消失的那一刻,拐杖消失了,他们很可能会花很长时间来寻找文件。
weberc2 2012年

1
@ weberc2-我同意。当无法更改它时,这是一个疯狂的默认值!为什么要因这种不灵活的设计而给用户带来不便和浪费时间呢?
dunderhead

Answers:


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

   如果(impl-> operation_mode == OPERATION_MODE_BROWSE)
     {
+ GFile *文件夹;
+
       开关(impl-> reload_state)
         {
         情况RELOAD_EMPTY:
-最近使用的快捷方式处理程序(impl);
+ / *用户未明确给我们提供要显示的文件夹,因此我们将
+ *使用上次调用文件选择器时保存的文件
+ * /
+文件夹= get_file_for_last_folder_opened(impl);
+ gtk_file_chooser_set_current_folder_file(GTK_FILE_CHOOSER(impl),文件夹,NULL);
+ g_object_unref(文件夹);
+ / *最近使用的快捷方式处理程序(impl); * /
           打破;

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

   settings_save(impl);

-cancel_all_operations(impl);
-impl-> reload_state = RELOAD_EMPTY;
+ / * cancel_all_operations(impl);
+ impl-> reload_state = RELOAD_EMPTY; * /

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

谢谢鱿鱼!这对Linux社区来说真是太好了。可以解决一个愚蠢而故意的错误。但是由于Gnome似乎打算保留此错误以及其他类似错误的方式,我现在已经安装了Debian和XFCE,并且在完成从Ubuntu,Unity和Gnome完全迁移的过程中是双重引导。
dunderhead 2013年

@calamari,很高兴知道我的回答帮助您发布了更明确的答案。
saji89 2013年

再次感谢鱿鱼。我使用XFCE迁移到Debian的过程几乎完成了,但是我很沮丧地发现那里的应用程序中也出现了这种废话。因此,我遵循了您的出色指导并应用了补丁程序。(以防对希望应用该补丁程序的其他用户有所帮助:准备好花一点时间-在我的机器上花费了大约15分钟。)我很高兴地报告它起作用了!但是,奇怪的是,我发现有一个应用程序顽固地拒绝很好地玩:Gedit!但这不是问题;我将卸载Gedit并使用其他工具。
dunderhead

修补程序发布后,Synaptic报告libgtk2.0-dev已损坏。您对此有何建议?
dunderhead

我使用Synaptic自动修复损坏的程序包,现在一切正常。
dunderhead

3

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

这是有关提交的gedit在gedit代码-与此相关的变更信息 http://git.gnome.org/browse/gtk+/commit/?id=ca74dc6a873bb375bb2abc3ea7642ed41e9f6e79

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

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


1
谢谢saji89,感谢您提供的内容丰富且有用的文章,以及指向Tim Starling出色文章的链接。僵化的,对我而言如此愚蠢的UI设计就是为什么我最近一直在尝试Debian LXDE和XFCE。我对Ubuntu和Gnome的发展方向感到厌烦,我担心它只会变得更糟,所以我决定继续前进。
dunderhead

dunderhead,真的很遗憾听到这个消息。除了这些愚蠢的错误,我觉得Ubuntu和gnome都在走向未来。只是我仍然在Ubuntu方面,有点像新的Unity接口。是的,他们以大胆的方式思考,最好说成“开箱即用”。但这并不能证明这种愚蠢的错误。幸运的是,选择永远是我们的。:)
saji89

0

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

您需要一个名为“活动日志管理器”的软件

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

在破折号中找到活动日志管理器并运行它。

OMG Ubuntu上可以获得更多信息


谢谢Sarvesh,但我已经安装了它。我想从所有对话框中删除“最近使用的文档”,从而每年为我节省数千次不必要的点击!当我想打开一个文件时,我必须单击我的主目录以离开对话框默认为空的,因此无用的“最新文档”目录。
dunderhead

0

我认为这就是您要寻找的东西:http : //www.addictivetips.com/ubuntu-linux-tips/how-to-delete-and-disable-recent-history-in-ubuntu-tip/

要删除最近的历史记录,请打开Terminal并输入以下命令:

rm ~/.local/share/zeitgeist/activity.sqlite
zeitgeist-daemon --replace

为防止创建新项目,请使用以下命令:

echo -n > ~/.recently-used.xbel
sudo chattr +i ~/.recently-used.xbel

您可以使用以下终端命令还原更改以再次启用日志记录:

sudo chattr -i ~/.recently-used.xbel

某些系统可能会将最近使用的文件存储在另一个位置:

echo -n > ~/.local/share/recently-used.xbel
sudo chattr +i ~/.local/share/recently-used.xbel

1
谢谢BlueXrider,但这不是我追求的目标。我已经禁用了历史记录。“保存”和“打开”对话框在左窗格中默认为“最近使用”,但是我希望它们默认为我的主目录,或者最好还是我选择的目录。
dunderhead

2
当保存对话框默认为最近使用的而不是文件的实际目录时,我发现这会倍加困扰。有时我可能会使用另存为,只是为了发现某些程序文件实际位于哪个目录中。另外,如果要保存备份,可能会希望它与文件本身位于同一目录中。最近使用的至少应始终始终将当前文件的目录显示为默认目录。
马蒂·弗里德

0

这是一个已有三年历史的线程,但是看来GTK2 peeps使其成为了配置选项。

进入~/.config/gtk-2.0/gtkfilechooser.ini并设置StartupMode=cwd。它并没有摆脱愚蠢的事情,但是至少,它成为了默认值。

注意:我没有在文档中找到它。上面的补丁失败了,当我调查原因时,我发现开发人员无需编译即可实现。


-1

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

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

从那时起,我再也没有任何活动记录过我的活动,包括“最近使用过的”对话框。可悲的是,它仍然会弹出,但至少不会告诉我我最近访问过哪些文件夹。当我受到永久监视时,即使它是我自己的机器,我也不喜欢它。

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


此文件夹中还有一些其他活动文件,例如activity.sqlite.bck,activity.sqlite-shm和activity.sqlite-wal。activity.sqlite.bck似乎是备份。不知道其他人在做什么,但是我也认为删除它们也很省事。
kamshi

1
什么是mkdir ~/.local/share/zeitgeist/activity.sqlite应该做的?

^技巧是创建目录而不是文件,因此应用程序将无法读取和写入该目录。
s3v3n
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.