Just a small finger exercise …
from sys import exit, stderr
from signal import SIGINT, signal
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk # noqa
def term_signal_handler(sig, frame):
print(f'WARNING: Exiting due to signal {sig}', file=stderr)
exit(0)
class GUI:
def __init__(self):
self.window = Gtk.Window()
self.window.connect('destroy', Gtk.main_quit)
self.textview = Gtk.TextView()
self.textview.connect("drag-data-received", self.on_drag)
self.window.add(self.textview)
self.window.show_all()
self.buffer = self.textview.get_buffer()
def on_drag(
self,
widget,
drag_context,
x,
y,
data,
info,
time
):
text = data.get_text()
print("DEBUG: text = %s" % text)
self.buffer.set_text("")
def main():
GUI()
Gtk.main()
if __name__ == "__main__":
signal(SIGINT, term_signal_handler)
exit(main())