2017-07-03 14 views
0

を示していない、何の「新しいファイルは」GTK2/GTK3ファイルブラウザに表示されませんタブの「Recent Files」(FirefoxやChromeのようなブラウザのCTRL + Oのウィンドウで簡単にその例を見ることができます)LinuxのGTK2/GTK3最近使用したファイルのブラウザは、最近のシェル作成されたファイル

最近編集したファイルや作成したファイルを、 GTK Recent Filesのファイルブラウザで更新するか?

例:

$touch words.txt 
$scrot image.jpg 

最近のファイルの[GTK]タブには、生成されたファイルは表示されません。

はあなたに

+1

使用するすべてのコマンドをGtkRecentManagerに対応させる必要があります。これは役に立つかもしれません(特定のプログラムでは難しくありません)が、実際にはそうではありません。touchのようなユーティリティを使用して、1つのコマンドで何千ものファイルを変更できます。 Recent Filesにこれらのファイルをすべて表示したいですか?同様の理由から、Nautilusのファイルを移動しても "最近のファイル"にはなりません。 – jku

+1

@jku:もっと簡単な方法は、ファイル名の束を取り、GtkRecentManagerから追加するコマンドラインツールを作成することです。いくつかのpythonコードがあります:https://stackoverflow.com/a/39927261/518853 – liberforce

答えて

2

ありがとうございましたので、上記の私のコメントに基づいて、ここ最近のファイルに引数として渡されたファイルを追加しますrecentと呼ばれる小さなPythonスクリプトです。もちろん、すべてのファイルがローカルであると仮定するのではなく、最近のファイルリストを消去したり特定のエントリを削除したりするのではなく、URIの取り扱いを改善することができます。Cで書かれているだけです。

#! /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() 
関連する問題