You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			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()
 |