Idealmente, o equivalente CLI faria isso através de gvfs
esquemas para poder usar o recent:///
location como um argumento, por exemplo como mencionado aqui
nautilus recent:///
ou 1
gio open recent:///
abriria os arquivos usados recentemente em nautilus
, como se você tivesse usado o botão Recent
da barra lateral.
Isso não ajuda muito no seu caso, já que você precisa de uma ferramenta CLI que entenda os esquemas gvfs
eo único que eu conheço é o gio
mencionado acima. Você poderia correr
gio list recent:///
mas a saída seria inútil, pois você obteria apenas representações internas de gio
desses caminhos. Para ver o que eles correspondem a você poderia usar
gio tree recent:///
mas isso ainda não é utilizável a menos que você faça uma análise / processamento pesado da saída. No entanto, você pode criar sua própria ferramenta que use GtkRecentManager
para fazer o que quiser. Para começar, aqui está um exemplo muito básico em python
(nenhuma verificação de erro, o diretório de destino deve existir e estar vazio, etc.):
#!/usr/bin/env python
import gi,sys
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk,Gio
from sys import argv
tg_dir = argv[1]
rec_mgr = Gtk.RecentManager.get_default()
for item in rec_mgr.get_items():
if item.exists():
uri = item.get_uri()
tg = Gio.File.new_for_uri(uri)
tg_path = tg.get_path()
b_name = tg.get_basename()
dt_path = tg_dir + "/" + b_name
dt = Gio.File.new_for_path(dt_path)
dt.make_symbolic_link(tg_path, cancellable=None)
Se você salvar isso como, por exemplo, my_linker
no seu PATH
e execute-o com um caminho de diretório como um argumento
my_linker /path/to/symlinks
ele criará links simbólicos dos arquivos usados mais recentemente nesse diretório.
1: gvfs-open
foi preterido
2: Eu não estou familiarizado com emacs
- talvez tudo isso possa ser feito através de plugins ou extensões ... Eu não sei embora ...