]> git.sur5r.net Git - i3/i3/commitdiff
ipc: implement output event
authorMichael Stapelberg <michael@stapelberg.de>
Fri, 19 Mar 2010 21:40:43 +0000 (22:40 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Fri, 19 Mar 2010 21:40:43 +0000 (22:40 +0100)
docs/ipc
include/i3/ipc.h
src/handlers.c

index 35a5fa036914aca8318576ca6933f4a121300b25..5d70d7fe40bd57126330eda42f80bd6946ae5549 100644 (file)
--- a/docs/ipc
+++ b/docs/ipc
@@ -260,6 +260,9 @@ workspace::
        Sent when the user switches to a different workspace, when a new
        workspace is initialized or when a workspace is removed (because the
        last client vanished).
+output::
+       Sent when RandR issues a change notification (of either screens,
+       outputs, CRTCs or output properties).
 
 === workspace event
 
@@ -272,6 +275,17 @@ This event consists of a single serialized map containing a property
 { "change": "focus" }
 ---------------------
 
+=== output event
+
+This event consists of a single serialized map containing a property
++change (string)+ which indicates the type of the change (currently only
+"unspecified").
+
+*Example:*
+---------------------------
+{ "change": "unspecified" }
+---------------------------
+
 == See also
 
 For some languages, libraries are available (so you don’t have to implement
index 56f22344c5e0a6bfee1913275a5a6552b3a2f5ed..1ea3918284a9ed999e4e13d284f2b30f22ccd66c 100644 (file)
  */
 #define I3_IPC_EVENT_MASK                       (1 << 31)
 
+/* The workspace event will be triggered upon changes in the workspace list */
 #define I3_IPC_EVENT_WORKSPACE                  (I3_IPC_EVENT_MASK | 0)
 
+/* The output event will be triggered upon changes in the output list */
+#define I3_IPC_EVENT_OUTPUT                     (I3_IPC_EVENT_MASK | 1)
+
 #endif
index b5c1cf1b30e08a4905c1bd90c4f801bf8bb19cb9..c29119429a18195713890f74b90702c3047374e9 100644 (file)
@@ -447,6 +447,8 @@ int handle_screen_change(void *prophs, xcb_connection_t *conn,
 
         randr_query_outputs(conn);
 
+        ipc_send_event("output", I3_IPC_EVENT_OUTPUT, "{\"change\":\"unspecified\"}");
+
         return 1;
 }