blob: 92030dae7c26f00da88719da5839c255678561d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import ibus
class ClientManager (ibus.Object):
def __init__ (self):
self._clients = {}
def register_client (self, name, ibusconn):
if ibusconn in self._clients:
raise ibus.IBusException ("client has been registered")
client = ibus.Client (name, ibusconn)
self._clients[ibusconn] = client
ibusconn.connect ("destroy", self._ibusconn_destroy_cb)
return client
def lookup_client (self, ibusconn):
return self._clients[ibusconn]
def _ibusconn_destroy_cb (self, ibusconn):
del self._clients[ibusconn]
|