gtk_drag_dest_add_image_targets は思っていたのと違った。
選択範囲の移動とかみたいなものかと思ったけどそれ cairo の仕事や。
結局使い道はワカランまんま、他を追記したのでそれでよしということで。
問題はそれより下の項目に多過ぎだった。
動画プレイヤーを作るは Wayland では動かないし。
仮想端末エミュレーターはバインドが以前のままで新しい API が使えないし。
スクリーン情報を得るに書いた関数は全部 deprecated だし。
スクリーンショットを保存も Wayland で動かない。
もういや!
スクリーンショットは gnome-screenshot のソースを見ればいいか。
gnome-screenshot で検索、っておいサルブンツども。
「使い方」とかの誰でも解るしょーもないページを大量生産するなよ。。。。。
Google も公式サイトを一番上にしてほしい、サルブンツのはページランクゼロでいいよ。
gnome-screenshot github で検索やりなおし。
gnome-screenshot/screenshot-utils.c at master ? GNOME/gnome-screenshot ? GitHub
Gnome-Shell の機能を DBus で呼び出しているっぽい。
DBus ならメインループがいるな。
Window を作らなければ GApplication は勝手に終了する手法は使えるかな?
#!/usr/bin/env python3 from gi.repository import GLib, Gio FILENAME = f'{GLib.get_home_dir()}/screenshot_2.png' class App(Gio.Application): ''' use mainloop Since there is no window, it ends as it is. ''' def __init__(self): Gio.Application.__init__(self) def do_startup(self): Gio.Application.do_startup(self) # connection = self.get_dbus_connection() connection.call_sync( 'org.gnome.Shell.Screenshot', '/org/gnome/Shell/Screenshot', 'org.gnome.Shell.Screenshot', 'Screenshot', GLib.Variant('(bbs)', (False, True, FILENAME)), None, 0, -1) def do_activate(self): pass app = App() app.run()
できた!
って、でもコレじゃ gnome-screenshot を使えでいいじゃん。
Gnome-Shell 以外で動くのかもよく解らないし。
そもそもコレ Gdk じゃないし、うーん色々困ったことに。