Próbuję dodać do listy ostatnio używanych plików z Python 3 na Ubuntu.Jak dodać pozycję do "ostatnio używanej" listy plików GTK z Pythona?
Jestem w stanie skutecznie czytać lista ostatnio używanych plików tak:
from gi.repository import Gtk
recent_mgr = Gtk.RecentManager.get_default()
for item in recent_mgr.get_items():
print(item.get_uri())
ten drukuje taką samą listę plików widzę, gdy patrzę na „Najnowsze” Nautilusa, lub spojrzeć na miejsce "Ostatnio używane" w oknie dialogowym plików aplikacji takich jak GIMP.
Jednak gdy próbowałem dodanie elementu tak (gdzie /home/laurence/foo/bar.txt
jest istniejący plik tekstowy) ...
recent_mgr.add_item('file:///home/laurence/foo/bar.txt')
... plik nie pojawi się w ostatnim odcinku lub w Nautilusie okna dialogowe plików. Nie pojawia się nawet w wynikach zwróconych przez get_items()
.
Jak mogę dodać plik do ostatnio używanej listy plików GTK z Pythona?
@oldtechaa liście ostatnich plików widzianych przez Nautilusa i okna wyboru plików w innych aplikacjach (w tym GIMP, Inkscape, a nawet Chrome) wydają się być identyczne. Wiele aplikacji domyślnie filtruje listę do ich własnego typu pliku, ale jeśli zmienisz filtr na "Wszystkie pliki", zobaczysz dokładnie tę samą listę, którą pokazuje Nautilus, i która jest wyświetlana przez kod w pytaniu. –
Co zwraca 'add_item()'? – andlabs
@andlabs Wywołanie 'add_item()' zwraca 'True'. (Właściwie, wydaje się, że zawsze zwraca 'True', nawet jeśli identyfikator URI, który mu przekazuję, jest nieistotny lub kompletny nonsens.) Jedynym wyjątkiem jest, jeśli przekazuję go nie -strstr." Następnie podnosi "TypeError".) –