i3bar: Add a macro to log child info

Mentioned in #3242
This commit is contained in:
Orestis Floros 2020-04-10 03:22:34 +02:00
parent c611b9e0e0
commit 40697a233c
No known key found for this signature in database
GPG Key ID: A09DBD7D3222C1C3
1 changed files with 13 additions and 0 deletions

View File

@ -32,6 +32,8 @@
/* Global variables for child_*() */
i3bar_child child;
#define DLOG_CHILD DLOG("%s: pid=%ld stopped=%d stop_signal=%d cont_signal=%d click_events=%d click_events_init=%d\n", \
__func__, (long)child.pid, child.stopped, child.stop_signal, child.cont_signal, child.click_events, child.click_events_init)
/* stdin- and SIGCHLD-watchers */
ev_io *stdin_io;
@ -604,9 +606,12 @@ void start_child(char *command) {
ev_child_start(main_loop, child_sig);
atexit(kill_child_at_exit);
DLOG_CHILD;
}
static void child_click_events_initialize(void) {
DLOG_CHILD;
if (!child.click_events_init) {
yajl_gen_array_open(gen);
child_write_output();
@ -685,6 +690,8 @@ void send_block_clicked(int button, const char *name, const char *instance, int
*
*/
void kill_child_at_exit(void) {
DLOG_CHILD;
if (child.pid > 0) {
if (child.cont_signal > 0 && child.stopped)
killpg(child.pid, child.cont_signal);
@ -698,6 +705,8 @@ void kill_child_at_exit(void) {
*
*/
void kill_child(void) {
DLOG_CHILD;
if (child.pid > 0) {
if (child.cont_signal > 0 && child.stopped)
killpg(child.pid, child.cont_signal);
@ -713,6 +722,8 @@ void kill_child(void) {
*
*/
void stop_child(void) {
DLOG_CHILD;
if (child.stop_signal > 0 && !child.stopped) {
child.stopped = true;
killpg(child.pid, child.stop_signal);
@ -724,6 +735,8 @@ void stop_child(void) {
*
*/
void cont_child(void) {
DLOG_CHILD;
if (child.cont_signal > 0 && child.stopped) {
child.stopped = false;
killpg(child.pid, child.cont_signal);