28 lines
557 B
Python
28 lines
557 B
Python
"""
|
|
prompt_toolkit input hook for GTK 4.
|
|
"""
|
|
|
|
from gi.repository import GLib
|
|
|
|
|
|
class _InputHook:
|
|
def __init__(self, context):
|
|
self._quit = False
|
|
GLib.io_add_watch(
|
|
context.fileno(), GLib.PRIORITY_DEFAULT, GLib.IO_IN, self.quit
|
|
)
|
|
|
|
def quit(self, *args, **kwargs):
|
|
self._quit = True
|
|
return False
|
|
|
|
def run(self):
|
|
context = GLib.MainContext.default()
|
|
while not self._quit:
|
|
context.iteration(True)
|
|
|
|
|
|
def inputhook(context):
|
|
hook = _InputHook(context)
|
|
hook.run()
|