diff options
author | Paul Sokolovsky <pmiscml@gmail.com> | 2007-11-29 11:03:24 +0000 |
---|---|---|
committer | Paul Sokolovsky <pmiscml@gmail.com> | 2007-11-29 11:03:24 +0000 |
commit | 437af8f045847a573bd30b5cc4d82cb4faded0fd (patch) | |
tree | 06759fcbd5a42697e5b4f17a51d4d7d6be3948c0 /packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb | |
parent | 52b15d1b1c6f46cf6ad78609d6c1238bdfa7ddc6 (diff) |
matchbox-applet-inputmanager 0.6: Implement smart IM visibility protocol.
* One of the very noticeable pain points in matchbox' IM handling is high
latency of IM popping up, which can take up to half-second with complex
screen layouts. This is rooted in the fact that IM process is killed when
IM window is hidden, and started again afterwards.
* I wanted to address this on inputmanager level, transparently to actual
IM implementation, by hiding/showing IM's window by the manager. Unfortunately,
there appears to be no reliable method to figure out window IDs from process
properties (for example, _MB_CLIENT_EXEC_MAP X property, maintained by matcbox,
doesm't capture all apps started, in particular, it captures neither xkbd
nor matchbox-keyboard, GPE's term app is not caught too, while either GPE apps
are). Then, wanted to implement custom PropertyNotify-based protocol, though
there would be left issue of distinguishing IMs which support this protocol
and ones which don't. Finally, by random gerpping, I found that xkbd supports
Unix signal based visibility protocol! By receiving SIGUSR1, it hides/shows
its window. This seems like 100% win, as the default behavior for SIGUSR1
is process termination, so unsupporting clients will be just terminated as
before.
Diffstat (limited to 'packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb')
-rw-r--r-- | packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb b/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb index 4afdd426db..09f2a7d999 100644 --- a/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb +++ b/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb @@ -3,11 +3,12 @@ LICENSE = "GPL" DEPENDS = "matchbox-wm libmatchbox" SECTION = "x11/wm" -PR = "r3" +PR = "r4" SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/${PV}/mb-applet-input-manager-${PV}.tar.gz \ file://update-to-svn.diff;patch=1 \ file://mbinputmgr-libgtkinput.patch;patch=1 \ + file://visibility-protocol.patch;patch=1 \ " S = "${WORKDIR}/mb-applet-input-manager-${PV}" |