本日の Fedora アップデートでこんなのが出た。
LOKDocView って何だ?
Development/Integrating LOKDocView and GNOME Documents – The Document Foundation Wiki
libreoffice 文書を GNOME Document で表示する API なのか。
ということは gir でバインドされているのかな。
普通にあったわ、コレって今まであったっけ?
まあそれはいいや、さてサンプルコードを探してみよう。
GitHub – pranavk/lokdocviewer: An application for testing LOKDocView
js/py 両方用意してくれているとは親切ですね。
しかし new メソッドの引数が PyGObject は 2 つで Gjs は 3 つ。
Gjs らしく new キーワードに書き換えるとコアダンプ。
#!/usr/bin/gjs const Gtk = imports.gi.Gtk; const LOKDocView = imports.gi.LOKDocView; const Lang = imports.lang; const LOKWindow = new Lang.Class({ Name: 'LOKWindow', Extends: Gtk.ApplicationWindow, _init: function(app) { this.parent({ application: app }); // Segmentation fault //this.view = new LOKDocView.View(); this.view = LOKDocView.View.new(null, null, null); // OK this.view.open_document( "/home/sasakima-nao/syokumu.odt", "{}", null, Lang.bind(this, function() { this.view.set_edit(true); }), null); let sw = new Gtk.ScrolledWindow(); sw.add(this.view); this.add(sw); // this.show_all(); } }); let app = new Gtk.Application(); app.connect("activate", function() { new LOKWindow(app); }); app.run(null);
前々回みたいな問題があるし…
GNOME はぶっちゃけ Gjs に全面移行したいのだろうけどまだ問題が多いなぁ。
てか Python はサードパーティなのに対応っぷりがスゲェ。
当面は Python と併用が続くのだろう。
コレを使って何か作るかな、ここんとこネタ切れなのは秘密だよ。