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
マニュアルも普通に見つかった。
よし早速使ってみよう。
#!/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 からは現行では使えないのかな?
もう少し調べる。