Nautilus 3.22 は 7z 形式の圧縮と展開をサポートした。
でも p7zip パッケージは入っていない、あれ?
もしかして自前対応なのだろうか。
というかあのダイアログは file-roller ではないし、あれは何?
これはソースコードを見てみるしかないな。
https://github.com/GNOME/nautilus/blob/master/src/nautilus-file-operations.c
凄く長いけど今現在で 8782 行目
autoar_compressor_new という関数をやっと見つける。
正体はコイツか!
gnome-autoar Reference Manual: gnome-autoar Reference Manual
マニュアルも普通に見つかった。
よし早速使ってみよう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #!/usr/bin/gjs const GnomeAutoar = imports .gi.GnomeAutoar; const Gio = imports .gi.Gio; let infiles = [Gio.File.new_for_path( "blog.php" )]; let outfile = Gio.File.new_for_path( "test.7z" ); let ar = new GnomeAutoar.Compressor({ source_files: infiles, output_file: outfile, format: 4, filter:1, create_top_level_directory: false }); ar.start( null ); //=> JS ERROR: Error: Cannot convert non-null JS value to G_POINTER |
あれ?
GnomeAutoar.Compressor – Classes – GnomeAutoar 0.1
source-files の定義が int ってなんだよ…
Gjs や PyGObject からは現行では使えないのかな?
もう少し調べる。