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 は勝手に終了する手法は使えるかな?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/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 じゃないし、うーん色々困ったことに。