2017-07-03 1 views
0

Si une touche un nouveau fichier ou une capture d'écran avec scrot/escrotum, pas de « nouveaux fichiers » sont visibles dans le navigateur de fichiers GTK2/de GTK3 dans l'onglet "Fichiers récents" (vous pouvez facilement en voir un exemple dans la fenêtre CTRL + O du navigateur comme Firefox ou Chrome.)Linux GTK2/GTK3 navigateur de fichiers récents ne montrant pas shell récents fichiers créés

Que dois-je faire pour voir mes fichiers récemment édités ou créés être mis à jour dans le navigateur de fichiers GTK Recent Files?

Exemple:

$touch words.txt 
$scrot image.jpg 

Les deux fichiers générés ne seront pas visibles dans l'onglet GTK Fichiers récents.

Merci

+1

Vous devez faire toutes les commandes que vous utilisez GtkRecentManager. Cela peut sembler utile (et ne serait pas difficile pour un programme spécifique) mais en réalité ne le serait probablement pas - des utilitaires comme le toucher peuvent être utilisés pour modifier des milliers de fichiers avec une seule commande. Souhaitez-vous vraiment que tous ces fichiers apparaissent dans Recent Files? Pour la même raison, déplacer des fichiers dans Nautilus ne fait pas d'eux des "fichiers récents" ... – jku

+1

@jku: Une alternative plus simple serait de créer un outil en ligne de commande qui prend un tas de noms de fichiers et les ajoute depuis le GtkRecentManager. Il y a du code python ici: https://stackoverflow.com/a/39927261/518853 – liberforce

Répondre

2

donc basé sur mon commentaire ci-dessus, voici un petit script python appelé recent qui ajoute les fichiers transmis comme arguments aux fichiers récents. Cela pourrait bien sûr être amélioré pour mieux gérer les URI au lieu de supposer que tous les fichiers sont locaux, nettoyer la liste des fichiers récents, supprimer des entrées spécifiques, etc. Il pourrait aussi être réécrit en C pour éviter d'utiliser un interpréteur Python complet.

#! /usr/bin/env python 

import os.path 
import sys 

from gi.repository import Gtk, GObject 

def main(): 
    recent_mgr = Gtk.RecentManager.get_default() 
    for filename in sys.argv[1:]: 
     uri = 'file://{path}'.format(path=os.path.abspath(filename)) 
     recent_mgr.add_item(uri) 

    GObject.idle_add(Gtk.main_quit) 
    Gtk.main() 

if __name__ == '__main__': 
    main()