Czy istnieje sposób, aby całkowicie usunąć „ostatnio używane” z okien dialogowych otwierania i zapisywania?

26

Nigdy nie używam ostatnio używanych list plików; Mam system archiwizacji, więc wiem, gdzie chcę otwierać i zapisywać pliki.

Przeczytałem to pytanie:

Czy mogę powstrzymać aplikacje przed wybraniem „Ostatnio używane” w oknach dialogowych wyboru plików?

Chcę jednak całkowicie usunąć tę opcję.

Uciążliwość polega na tym, że nawigacja nie jest domyślna.

Jeśli powyższe nie powiedzie się, czy istnieje sposób na ustawienie domyślnego katalogu domowego?

kretyn
źródło
1
Dzięki fossfreedom, ale to nie jest duplikat - chcę całkowicie i całkowicie usunąć ostatnio używane miejsce ze wszystkich okien dialogowych. Nie potrzebuję tego. Nigdy go nie używam i nie lubię.
dunderhead
3
To jest obrzydliwe domyślne. Dlaczego ktokolwiek miałby chcieć przewijać długą listę plików, mając nadzieję, że są one tam, gdy można je przewidywalnie wysłać do folderu domowego, z którego każdy z wymaganych plików to tylko kilka kliknięć. Dodatkowo utrudnia użytkownikom sprawdzenie, gdzie przechowywane są ich pliki, i gdy ich plik zniknie z tej listy, ich kule zniknęły i prawdopodobnie spędzą boleśnie dużo czasu na wyszukiwaniu plików w swoich systemach plików.
weberc2
1
@ weberc2 - Zgadzam się. To szalone domyślne, gdy nie ma sposobu, aby to zmienić! Po co zmuszać użytkowników do niedogodności i marnowania czasu spowodowanych tak nieelastyczną konstrukcją?
dunderhead

Odpowiedzi:

7

Dzięki saji89 za linkowanie do dotkniętych plików. Na wypadek, gdyby ktokolwiek nadal się tym przejmował (także dla mnie, ponieważ ostatnie uaktualnienie pozwoliło mu na powrót), stworzyłem łatkę ( http://pastebin.com/VE4STB6M ), aby naprawić tę irytującą pomyłkę. Poprawione gtk nadal będzie wyświetlać „Ostatnio używane” w oknach dialogowych, ale nie będzie domyślnie zaznaczone w oknach dialogowych (domyślnie będzie to katalog ostatnio używany lub katalog domowy). Dla mnie to rozwiązuje problem, ponieważ moim głównym problemem było wyskakiwanie mi w twarz, zwłaszcza gdy próbowałem coś uratować.

Instrukcje krok po kroku:

1) Otwórz okno terminala i wprowadź następujące polecenia:

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) Zamknij dowolne menedżery pakietów (takie jak Synaptic) i wprowadź następujące polecenie w oknie terminala:

sudo dpkg -i *.deb

3) Jeśli dpkg -ipolecenie zawiera błędy dotyczące zastępowania garści istniejących plików (dzienniki zmian itp.), Użyj, aby usunąć każdy plik, na który skarżyłeś się, a następnie powtórz krok 2. Zauważyłem, że nie działa z tego powodu, z jakiegokolwiek powodu.sudo rm FILENAME--force-overwrite

4) Opcjonalnie: Po pomyślnym zainstalowaniu pakietów, użyj Synaptic do przypięcia / przytrzymania ( Package > Lock Version) każdego zainstalowanego pakietu, aby uniknąć konieczności ponownego przechodzenia przez to wszystko (oczywiście nie byłoby żadnych aktualizacji zabezpieczeń).

5) Zamknij i ponownie otwórz wszystkie aplikacje, na które ma to wpływ (pluma, gedit, gimp itp.) I ciesz się bezproblemowymi dialogami otwierania / zapisywania!

6) Opcjonalnie: Wpisz następujące polecenia w oknie terminala, aby usunąć utworzone przez nas pliki i katalogi (poprawka pozostanie zainstalowana):

cd ..

sudo rm -rf recently_used_fix/

Jeśli poprawki nie można pobrać, oto kopia zapasowa:

--- gtk + 2.0-2.24.10 / gtk / gtkfilechooserdefault.c 2011-11-08 10: 20: 20.000000000 -0700
+++ Pobieranie / 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-> tryb_operacji == OPERATION_MODE_BROWSE)
     {
+ Folder GFile *;
+
       przełącznik (impl-> reload_state)
         {
         sprawa RELOAD_EMPTY:
- latest_shortcut_handler (impl);
+ / * Użytkownik nie dał nam wyraźnie folderu do wyświetlenia, więc zrobimy to
+ * użyj zapisanego z ostatniego wywołania selektora plików
+ * /
+ folder = get_file_for_last_folder_opened (impl);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (impl), folder, NULL);
+ g_object_unref (folder);
+ / * latest_shortcut_handler (impl); * /
           złamać;

         sprawa 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);
 }
kalmary
źródło
Dzięki Calamari! To jest świetne w społeczności Linuksa. Głupi i celowy błąd można naprawić. Ale ze względu na sposób, w jaki Gnome wydaje się skupiać na utrzymywaniu tego i innych podobnych błędów, zainstalowałem teraz Debiana i XFCE i uruchamiam podwójnie, podczas gdy kończę proces pełnej migracji z Ubuntu, Unity i Gnome.
dunderhead
@calamari, Cieszę się, że moja odpowiedź pomogła ci w opublikowaniu bardziej ostatecznej odpowiedzi.
saji89
Jeszcze raz dziękuję Calamari. Mój proces migracji do Debiana z XFCE jest prawie ukończony, ale z przerażeniem odkryłem, że ten nonsens występuje również w aplikacjach. Postępowałem zgodnie z twoimi doskonałymi instrukcjami i zastosowałem łatkę. (W przypadku, gdy jest to pomocne dla innych, którzy mogą chcieć zastosować łatkę: bądź przygotowany na to, że potrwa to chwilę - zajęło mi to około 15 minut na moim komputerze). Z przyjemnością informuję, że zadziałała! Ale, co dziwne, znalazłem jedną aplikację, która uparcie odmawia przyjemnego grania: Gedit! Ale to nie jest problem; Po prostu odinstaluję Gedit i użyję czegoś innego.
dunderhead
Po łatce Synaptic zgłasza uszkodzenie libgtk2.0-dev. Czy masz jakieś zalecenia, co powinienem z tym zrobić?
dunderhead
Użyłem Synaptic, aby automatycznie naprawić uszkodzony pakiet i wszystko wydaje się w porządku.
dunderhead
3

Jest to dosłownie niemożliwe, ponieważ związany z tym kod jest zakodowany na stałe w bazie kodów gedit.

To jest odpowiedni komunikat zatwierdzenia gedit związany z tą zmianą w kodzie Gedit - http://git.gnome.org/browse/gtk+/commit/?id=ca74dc6a873bb375bb2abc3ea7642ed41e9f6e79

Dzięki uprzejmości: http://tstarling.com/blog/2011/11/file_chooser_recent/

Tak więc, chyba że ktoś zmieni kod w tym celu i zmieni go na ustawienie, które może ustawić użytkownik, przykro mi powiedzieć, że nie ma bezpośredniego wyjścia.

saji89
źródło
1
Dziękuję, saji89, za pouczający i pomocny post oraz link do doskonałego artykułu Tima Starlinga. Nieelastyczny i, jak dla mnie, głupi projekt interfejsu użytkownika właśnie dlatego ostatnio próbowałem Debiana LXDE i XFCE. Mam dość sposobu, w jaki zmierzają Ubuntu i Gnome i obawiam się, że będzie tylko gorzej, więc postanowiłem przejść dalej.
dunderhead
dunderhead, naprawdę przykro mi to słyszeć. Oprócz takich idiotycznych błędów czuję, że Ubuntu i gnome zmierzają w kierunku samej przyszłości. Po prostu nadal jestem po stronie Ubuntu i coś w rodzaju nowego interfejsu Unity. tak, myślą w odważny sposób, lepiej powiedzieć „po wyjęciu z pudełka”. Ale to nie usprawiedliwia tak głupich błędów. Na szczęście wybór jest zawsze nasz. :)
saji89,
0

Nie wiem, czy to zrobi dokładnie to, czego potrzebujesz, ale myślę, że to może rozwiązać twój problem.

Potrzebujesz oprogramowania o nazwie Activity Log Manager

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

Znajdź aktywność Menedżer dziennika w desce rozdzielczej i uruchom go.

Dalsze informacje są dostępne w OMG Ubuntu!

sarveshlad
źródło
Dziękuję Sarvesh, ale już to zainstalowałem. Chciałbym, aby najnowsze dokumenty były usuwane ze wszystkich okien dialogowych, dzięki czemu oszczędzam tysiące niepotrzebnych kliknięć rocznie! Kiedy chcę otworzyć plik, muszę kliknąć mój katalog domowy, aby przejść do pustego, a zatem bezużytecznego katalogu „ostatnich dokumentów”, w którym domyślnie są wyświetlane okna dialogowe.
dunderhead
0

Myślę, że tego właśnie szukasz: http://www.addictivetips.com/ubuntu-linux-tips/how-to-delete-and-disable-recent-history-in-ubuntu-tip/

Aby usunąć najnowszą historię, otwórz Terminali wprowadź poniższe polecenia:

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

Aby zapobiec tworzeniu nowych elementów, użyj następujących poleceń:

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

Możesz cofnąć zmiany, aby ponownie włączyć rejestrowanie, używając następującego polecenia Terminal:

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

Niektóre systemy mogą przechowywać ostatnio używany plik w innej lokalizacji:

echo -n > ~/.local/share/recently-used.xbel
sudo chattr +i ~/.local/share/recently-used.xbel
Ringtail
źródło
1
Dzięki BlueXrider, ale nie o to mi chodziło. Wyłączyłem już historię. Domyślnie zapisz i otwórz okna dialogowe jako Ostatnio używane w lewym okienku, ale wolę, aby były domyślnie ustawione na mój dom, a jeszcze lepiej na wybrany przeze mnie katalog.
dunderhead
2
Uważam, że jest to podwójnie niepokojące, gdy domyślnie używane jest okno dialogowe zapisywania zamiast aktualnego katalogu pliku. Może się zdarzyć, że użyję opcji Zapisz jako, aby dowiedzieć się, w którym katalogu znajduje się plik dla niektórych programów. Ponadto, jeśli chcę zapisać kopię zapasową, prawdopodobnie chcę, aby znajdowała się w tym samym katalogu, co sam plik. Ostatnio używany powinien przynajmniej pokazywać katalog bieżącego pliku na górze jako domyślny.
Marty Fried
0

To trzyletni wątek, ale wygląda na to, że peepy GTK2 uczyniły z niego opcję konfiguracji.

Wejdź ~/.config/gtk-2.0/gtkfilechooser.inii ustaw StartupMode=cwd. Nie pozbawia cię głupich rzeczy, ale przynajmniej staje się domyślnym.

Uwaga: nie znalazłem tego w dokumentacji; powyższa łatka nie powiodła się, a kiedy zbadałem dlaczego, zauważyłem, że twórcy stworzyli ją bez kompilacji.

Fordi
źródło
-1

Znalazłem sposób, by przynajmniej zapobiec tworzeniu historii przez zeitgeist (tak myślę):

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

Od tamtej pory nie zarejestrowałem żadnej działalności, w tym „ostatnio używanego” okna dialogowego. Niestety nadal się pojawia, ale przynajmniej nie powie, które foldery ostatnio odwiedziłem. Nie podoba mi się to, gdy jestem stale monitorowany, nawet jeśli jest to moja własna maszyna.

Najgorsze jest to, że nawet jeśli wyłączysz logowanie zeitgeist i wyczyścisz historię, robi to niepełną robotę i nadal szczęśliwie rejestruje niektóre działania.

kamshi
źródło
W tym folderze znajdują się dodatkowe pliki aktywności, takie jak activity.sqlite.bck, activity.sqlite-shm i activity.sqlite-wal. Activity.sqlite.bck wydaje się być kopią zapasową. Nie wiem, co robią inni, ale myślę, że warto po prostu je usunąć.
kamshi
1
Co mkdir ~/.local/share/zeitgeist/activity.sqlitema robić?
^ Sztuką jest utworzenie katalogu zamiast pliku, aby aplikacje nie mogły go odczytać i zapisać.
s3v3n