Есть ли способ полностью удалить «недавно использованные» из диалогов открытия и сохранения?

26

Я никогда не использую недавно использованные списки файлов; У меня есть система регистрации, поэтому я знаю, где я хочу открывать и сохранять файлы.

Я прочитал этот вопрос:

Можно ли запретить приложениям выбирать «Недавно использованные» по умолчанию в диалоговых окнах выбора файлов?

Однако я просто хочу, чтобы эта опция была полностью удалена.

Это раздражает, когда приходится продолжать навигацию по умолчанию.

В противном случае есть ли способ сделать мой домашний каталог по умолчанию?

тупица
источник
1
Спасибо fossfreedom, но это не дубликат - я хочу полностью и полностью удалить недавно использованное место из всех диалогов. Мне это не нужно. Я никогда не пользуюсь им, и мне это не нравится.
dunderhead
3
Это неприятный по умолчанию. Зачем кому-то хотеть прокручивать длинный список файлов, надеясь, что их есть, когда их можно было бы предсказуемо отправить в их домашнюю папку, из которой любой из их необходимых файлов, вероятно, находится всего в паре кликов. Кроме того, это мешает пользователям узнать, где хранятся их файлы, и как только их файл исчезнет из этого списка, их костыль исчезнет, ​​и они, вероятно, будут тратить мучительно много времени на поиск файлов в своей файловой системе (ах).
weberc2
1
@ weberc2 - я согласен. Это сумасшедший дефолт, когда нет возможности его изменить! Зачем заставлять пользователей испытывать неудобства и тратить время из-за такой негибкой конструкции?
dunderhead

Ответы:

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
+++ Downloads / 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)
         {
         case RELOAD_EMPTY:
- Recent_shortcut_handler (Impl);
+ / * Пользователь явно не дал нам папку для отображения, поэтому мы будем
+ * использовать сохраненный из последнего вызова средства выбора файлов
+ * /
+ folder = get_file_for_last_folder_opened (impl);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (impl), папка, NULL);
+ g_object_unref (папка);
+ / * Recent_shortcut_handler (impl); * /
           перемена;

         case 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 (виджет);
 }
кальмары
источник
Спасибо Каламари! Это то, что так здорово в сообществе Linux. Глупая и преднамеренная ошибка может быть исправлена. Но из-за того, что Gnome, похоже, намеревается сохранить эту и другие ошибки, подобные этой, я сейчас установил Debian и XFCE, и у меня двойная загрузка, пока я полностью завершаю процесс перехода от Ubuntu, Unity и Gnome.
dunderhead
@calamari, рад знать, что мой ответ помог вам опубликовать более точный ответ.
saji89
Еще раз спасибо Каламари. Мой процесс перехода на Debian с XFCE почти завершен, но я был встревожен, обнаружив, что эта чепуха также происходила в приложениях там. Поэтому я следовал вашим превосходным инструкциям и применил ваш патч. (В случае, если это полезно для тех, кто может захотеть применить патч: будьте готовы к тому, что он займет некоторое время - на моей машине это заняло около 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/

Так что, если кто-то не изменит код для этого и не изменит его на настраиваемую пользователем настройку, извините, что прямого выхода, похоже, нет.

saji89
источник
1
Спасибо, saji89, за ваш информативный и полезный пост и ссылку на отличную статью Тима Старлинга. Негибкий и, для меня, глупый дизайн пользовательского интерфейса, вот почему я недавно пробовал Debian LXDE и XFCE. Я сыт по горло тем, как движутся Ubuntu и Gnome, и боюсь, что станет только хуже, поэтому я решил идти дальше.
dunderhead
dunderhead, очень жаль это слышать. Помимо таких идиотских ошибок, я чувствую, что Ubuntu и gnome движутся к самому будущему. Просто я все еще на стороне Ubuntu и вроде как новый интерфейс Unity. да, они думают смелым образом, лучше сказать «Из коробки». Но это не оправдывает такие глупые ошибки. К счастью, выбор всегда за нами. :)
saji89
0

Я не знаю, будет ли это делать именно то, что вам нужно, но я думаю, что это может решить вашу проблему.

Вам нужно программное обеспечение под названием Activity Log Manager

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

Найдите в журнале активности лог менеджера и запустите его.

Дополнительная информация доступна на OMG Ubuntu!

sarveshlad
источник
Спасибо, Сарвеш, но я уже установил это. То, что я хотел бы, чтобы недавние документы были удалены из всех диалоговых окон, тем самым экономя мне тысячи ненужных кликов в год! Когда я хочу открыть файл, мне нужно щелкнуть мой домашний каталог, чтобы перейти от пустого и, следовательно, бесполезного каталога «недавних документов», в котором по умолчанию установлены диалоги.
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 сделали его опцией конфигурации.

Войдите в ~/.config/gtk-2.0/gtkfilechooser.iniи установите StartupMode=cwd. Это не избавит вас от глупости, но, по крайней мере, станет не по умолчанию.

Примечание: я не нашел это в документации; вышеприведенный патч не удался, и когда я выяснил причину, я обнаружил, что разработчики сделали это возможным без компиляции.

Fordi
источник
-1

Я нашел способ, по крайней мере, помешать духу времени создать историю вообще (я думаю):

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

С тех пор я никоим образом не регистрировал свою активность, включая «недавно использованный» диалог. К сожалению, это все еще выскакивает, но по крайней мере это не скажет, какие папки я посетил недавно. Мне не нравится, когда за мной постоянно следят, даже если это моя собственная машина.

Хуже всего то, что даже если вы отключите вход в Zeitgeist и очистите историю, он выполнит неполную работу и все равно с удовольствием зарегистрирует некоторые действия.

kamshi
источник
В этой папке есть несколько дополнительных файлов активности, таких как activity.sqlite.bck, activity.sqlite-shm и activity.sqlite-wal. Activity.sqlite.bck кажется резервной копией. Не знаю, что делают другие, но я думаю, что просто удалить их тоже.
Камши
1
Что mkdir ~/.local/share/zeitgeist/activity.sqliteдолжен делать?
^ Хитрость в том, чтобы создать каталог вместо файла, чтобы приложения не могли его прочитать и записать.
s3v3n