Python gobject.io_add_watch() Examples
The following are 10
code examples of gobject.io_add_watch().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
gobject
, or try the search function
.
Example #1
Source File: inputhook.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 6 votes |
def inputhook(context): """ When the eventloop of prompt-toolkit is idle, call this inputhook. This will run the GTK main loop until the file descriptor `context.fileno()` becomes ready. :param context: An `InputHookContext` instance. """ def _main_quit(*a, **kw): gtk.main_quit() return False gobject.io_add_watch(context.fileno(), gobject.IO_IN, _main_quit) gtk.main()
Example #2
Source File: inputhookgtk.py From Computable with MIT License | 5 votes |
def inputhook_gtk(): gobject.io_add_watch(sys.stdin, gobject.IO_IN, _main_quit) gtk.main() return 0
Example #3
Source File: audio.py From bt-manager with GNU General Public License v3.0 | 5 votes |
def _install_transport_ready(self): if ('r' in self.access_type): io_event = gobject.IO_IN else: io_event = gobject.IO_OUT self.tag = gobject.io_add_watch(self.fd, io_event, self._transport_ready_handler)
Example #4
Source File: bluezchat.py From python-for-android with Apache License 2.0 | 5 votes |
def incoming_connection(self, source, condition): sock, info = self.server_sock.accept() address, psm = info self.add_text("\naccepted connection from %s" % str(address)) # add new connection to list of peers self.peers[address] = sock self.addresses[sock] = address source = gobject.io_add_watch (sock, gobject.IO_IN, self.data_ready) self.sources[address] = source return True
Example #5
Source File: bluezchat.py From python-for-android with Apache License 2.0 | 5 votes |
def start_server(self): self.server_sock = bluetooth.BluetoothSocket (bluetooth.L2CAP) self.server_sock.bind(("",0x1001)) self.server_sock.listen(1) gobject.io_add_watch(self.server_sock, gobject.IO_IN, self.incoming_connection)
Example #6
Source File: gtk2reactor.py From python-for-android with Apache License 2.0 | 5 votes |
def _handleSignals(self): # Let the base class do its thing, but pygtk is probably # going to stomp on us so go beyond that and set up some # signal handling which pygtk won't mess with. This would # be better done by letting this reactor select a # different implementation of installHandler for # _SIGCHLDWaker to use. Then, at least, we could fall # back to our extension module. See #4286. from twisted.internet.process import reapAllProcesses as _reapAllProcesses base._SignalReactorMixin._handleSignals(self) signal.signal(signal.SIGCHLD, lambda *a: self.callFromThread(_reapAllProcesses)) if getattr(signal, "siginterrupt", None) is not None: signal.siginterrupt(signal.SIGCHLD, False) # Like the base, reap processes now in case a process # exited before the handlers above were installed. _reapAllProcesses() # The input_add function in pygtk1 checks for objects with a # 'fileno' method and, if present, uses the result of that method # as the input source. The pygtk2 input_add does not do this. The # function below replicates the pygtk1 functionality. # In addition, pygtk maps gtk.input_add to _gobject.io_add_watch, and # g_io_add_watch() takes different condition bitfields than # gtk_input_add(). We use g_io_add_watch() here in case pygtk fixes this # bug.
Example #7
Source File: gtk2reactor.py From python-for-android with Apache License 2.0 | 5 votes |
def input_add(self, source, condition, callback): if hasattr(source, 'fileno'): # handle python objects def wrapper(source, condition, real_s=source, real_cb=callback): return real_cb(real_s, condition) return gobject.io_add_watch(source.fileno(), condition, wrapper) else: return gobject.io_add_watch(source, condition, callback)
Example #8
Source File: inputdev.py From btk with MIT License | 5 votes |
def register_intr_sock(self, sock): self.sock = sock for dev in self.devs: gobject.io_add_watch(dev, gobject.IO_IN, self.ev_cb)
Example #9
Source File: gtk2reactor.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def __init__(self, useGtk=True): self.context = gobject.main_context_default() self.loop = gobject.MainLoop() posixbase.PosixReactorBase.__init__(self) # pre 2.3.91 the glib iteration and mainloop functions didn't release # global interpreter lock, thus breaking thread and signal support. if (hasattr(gobject, "pygtk_version") and gobject.pygtk_version >= (2, 3, 91) and not useGtk): self.__pending = self.context.pending self.__iteration = self.context.iteration self.__crash = self.loop.quit self.__run = self.loop.run else: import gtk self.__pending = gtk.events_pending self.__iteration = gtk.main_iteration self.__crash = _our_mainquit self.__run = gtk.main # The input_add function in pygtk1 checks for objects with a # 'fileno' method and, if present, uses the result of that method # as the input source. The pygtk2 input_add does not do this. The # function below replicates the pygtk1 functionality. # In addition, pygtk maps gtk.input_add to _gobject.io_add_watch, and # g_io_add_watch() takes different condition bitfields than # gtk_input_add(). We use g_io_add_watch() here in case pygtk fixes this # bug.
Example #10
Source File: gtk2reactor.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def input_add(self, source, condition, callback): if hasattr(source, 'fileno'): # handle python objects def wrapper(source, condition, real_s=source, real_cb=callback): return real_cb(real_s, condition) return gobject.io_add_watch(source.fileno(), condition, wrapper) else: return gobject.io_add_watch(source, condition, callback)