]> git.sur5r.net Git - i3/i3/blobdiff - i3bar/include/child.h
Merge pull request #1580 from Airblader/feature-nop
[i3/i3] / i3bar / include / child.h
index d1c46890bc28e6534fdebf7987da54572c1e5bc0..b87cfaacacffd8d78ff8679cf71dd8fe7e32c998 100644 (file)
@@ -4,11 +4,10 @@
  * i3bar - an xcb-based status- and ws-bar for i3
  * © 2010-2012 Axel Wagner and contributors (see also: LICENSE)
  *
- * child.c: Getting Input for the statusline
+ * child.c: Getting input for the statusline
  *
  */
-#ifndef CHILD_H_
-#define CHILD_H_
+#pragma once
 
 #include <stdbool.h>
 
@@ -33,10 +32,16 @@ typedef struct {
      * The signal requested by the client to inform it of theun hidden state of i3bar
      */
     int cont_signal;
+
+    /**
+     * Enable click events
+     */
+    bool click_events;
+    bool click_events_init;
 } i3bar_child;
 
 /*
- * Start a child-process with the specified command and reroute stdin.
+ * Start a child process with the specified command and reroute stdin.
  * We actually start a $SHELL to execute the command so we don't have to care
  * about arguments and such
  *
@@ -44,28 +49,38 @@ typedef struct {
 void start_child(char *command);
 
 /*
- * kill()s the child-process (if any). Called when exit()ing.
+ * kill()s the child process (if any). Called when exit()ing.
  *
  */
 void kill_child_at_exit(void);
 
 /*
- * kill()s the child-process (if any) and closes and
- * free()s the stdin- and sigchild-watchers
+ * kill()s the child process (if any) and closes and
+ * free()s the stdin- and SIGCHLD-watchers
  *
  */
 void kill_child(void);
 
 /*
- * Sends a SIGSTOP to the child-process (if existent)
+ * Sends a SIGSTOP to the child process (if existent)
  *
  */
 void stop_child(void);
 
 /*
- * Sends a SIGCONT to the child-process (if existent)
+ * Sends a SIGCONT to the child process (if existent)
  *
  */
 void cont_child(void);
 
-#endif
+/*
+ * Whether or not the child want click events
+ *
+ */
+bool child_want_click_events(void);
+
+/*
+ * Generates a click event, if enabled.
+ *
+ */
+void send_block_clicked(int button, const char *name, const char *instance, int x, int y);