Exemplo n.º 1
0
 def send_event(self, data, event_type, mask):
     """Send event to the root window."""
     event = ClientMessage(
                 window=self._win,
                 client_type=event_type,
                 data=(32, (data)))
     self.__root.send_event(event, event_mask=mask)
Exemplo n.º 2
0
 def _client_msg(self, window, atom_name, data):
     ev_data = (data, ) + (0, ) * 4
     ev = ClientMessage(window=window,
                        client_type=self._atoms[atom_name],
                        data=(32, ev_data))
     ev_mask = X.SubstructureRedirectMask | X.SubstructureNotifyMask
     self._root.send_event(ev, event_mask=ev_mask)
     self._display.sync()
Exemplo n.º 3
0
    def close_client(self, event):
        if not event.child:
            return

        cm_event = ClientMessage(
            window=event.child,
            client_type=self.WM_PROTOCOLS,
            data=(32, [self.WM_DELETE_WINDOW, X.CurrentTime, 0, 0, 0]))
        event.child.send_event(cm_event)
Exemplo n.º 4
0
    def set_property(self, prop, data, mask=None):
        if isinstance(data, str):
            datasize = 8
        else:
            data = (data + [0] * (5 - len(data)))[:5]
            datasize = 32

        e = ClientMessage(window=self.win,
                          client_type=display.intern_atom(prop),
                          data=(datasize, data))

        if not mask:
            mask = (SubstructureRedirectMask | SubstructureNotifyMask)
        display.screen().root.send_event(e, event_mask=mask)
Exemplo n.º 5
0
	def send(self, msg):
		"""Used to send a message to Skype"""
		if self.win['skype'] is None:
			return False
		ec = Xlib.error.CatchError(Xlib.error.BadWindow)
		ctype = self.atoms['msgbegin']
		for i in range(0, len(msg) - 1, 20):
			event = ClientMessage(window = self.win['self'],
								client_type = ctype,
								data = (8, msg[i:i+20] + (20 - len(msg[i:i+20])) * "\0"))
			ctype = self.atoms['msg']
			self.win['skype'].send_event(event, onerror = ec)
		if self.debug:
			print "Sent:", msg
		self.display.sync()
		self.handle_error(ec.get_error())
Exemplo n.º 6
0
            elif subarg == 'root':
                values.append(screen.root)
            elif re.match('^\d+$', subarg):
                values.append(int(subarg))
            elif subarg.startswith('0x'):
                values.append(int(subarg, 16))
            else:
                values.append(
                    InternAtom(display=display,
                               name=subarg,
                               only_if_exists=True).atom)
                if values[-1] == 0:
                    print 'Warning: %s was unrecognised' % (subarg)

        event = ClientMessage(window=values[1],
                              client_type=values[2],
                              data=(32, (values[3:])))

        SendEvent(destination=values[0],
                  display=display,
                  propagate=True,
                  event=event,
                  event_mask=X.SubstructureRedirectMask
                  | X.SubstructureNotifyMask)
    elif arg == 'raise':
        CirculateWindow(display=display,
                        window=window,
                        direction=X.RaiseLowest)
    else:
        print 'Unknown argument: ', arg