Add a new IPC event for changes on windows.

Added new event id (I3_IPC_EVENT_WINDOW) so that a an IPC client can
subscribe to events on windows. Added a basic window event that gets
triggered when a window gets successfully reparented. This new event
also dumps the container data, so that IPC clients can get the initial
window name. IPC clients wishing to see window events should subscribe
to 'window'.
This commit is contained in:
Piotr S. Staszewski
2013-01-11 19:58:32 +01:00
committed by Michael Stapelberg
parent e215fd43c0
commit 3facbbca5c
4 changed files with 108 additions and 0 deletions

View File

@ -623,6 +623,9 @@ output (1)::
outputs, CRTCs or output properties).
mode (2)::
Sent whenever i3 changes its binding mode.
window (3)::
Sent when a client's window is successfully reparented (that is when i3
has finished fitting it into a container).
*Example:*
--------------------------------------------------------------------
@ -696,6 +699,30 @@ mode is simply named default.
{ "change": "default" }
---------------------------
=== window event
This event consists of a single serialized map containing a property
+change (string)+ which currently can indicate only that a new window
has been successfully reparented (the value will be "new").
Additionally a +container (object)+ field will be present, which consists
of the window's parent container. Be aware that the container will hold
the initial name of the newly reparented window (e.g. if you run urxvt
with a shell that changes the title, you will still at this point get the
window title as "urxvt").
*Example:*
---------------------------
{
"change": "new",
"container": {
"id": 35569536,
"type": 2,
...
}
}
---------------------------
== See also (existing libraries)
[[libraries]]