2 * vim:ts=4:sw=4:expandtab
4 * i3bar - an xcb-based status- and ws-bar for i3
5 * © 2010-2012 Axel Wagner and contributors (see also: LICENSE)
7 * child.c: Getting Input for the statusline
14 #define STDIN_CHUNK_SIZE 1024
20 * The version number is an uint32_t to avoid machines with different sizes of
21 * 'int' to allow different values here. It’s highly unlikely we ever exceed
22 * even an int8_t, but still…
28 * The signal requested by the client to inform it of the hidden state of i3bar
32 * The signal requested by the client to inform it of theun hidden state of i3bar
40 bool click_events_init;
44 * Start a child-process with the specified command and reroute stdin.
45 * We actually start a $SHELL to execute the command so we don't have to care
46 * about arguments and such
49 void start_child(char *command);
52 * kill()s the child-process (if any). Called when exit()ing.
55 void kill_child_at_exit(void);
58 * kill()s the child-process (if any) and closes and
59 * free()s the stdin- and sigchild-watchers
62 void kill_child(void);
65 * Sends a SIGSTOP to the child-process (if existent)
68 void stop_child(void);
71 * Sends a SIGCONT to the child-process (if existent)
74 void cont_child(void);
77 * Whether or not the child want click events
80 bool child_want_click_events(void);
83 * Generates a click event, if enabled.
86 void send_block_clicked(int button, const char *name, const char *instance, int x, int y);