Send the child SIGSTOPs and SIGCONTs
This commit is contained in:
parent
3c1a6384ab
commit
a83e7699e7
|
@ -26,4 +26,16 @@ void start_child(char *command);
|
||||||
*/
|
*/
|
||||||
void kill_child();
|
void kill_child();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sends a SIGSTOP to the child-process (if existent)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void stop_child();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sends a SIGCONT to the child-process (if existent)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void cont_child();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -176,7 +176,7 @@ void start_child(char *command) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* kill()s the child-prozess (if existend) and closes and
|
* kill()s the child-process (if existent) and closes and
|
||||||
* free()s the stdin- and sigchild-watchers
|
* free()s the stdin- and sigchild-watchers
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -186,3 +186,23 @@ void kill_child() {
|
||||||
}
|
}
|
||||||
cleanup();
|
cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sends a SIGSTOP to the child-process (if existent)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void stop_child() {
|
||||||
|
if (child_pid != 0) {
|
||||||
|
kill(child_pid, SIGSTOP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sends a SIGCONT to the child-process (if existent)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void cont_child() {
|
||||||
|
if (child_pid != 0) {
|
||||||
|
kill(child_pid, SIGCONT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -76,6 +76,7 @@ void hide_bars() {
|
||||||
SLIST_FOREACH(walk, outputs, slist) {
|
SLIST_FOREACH(walk, outputs, slist) {
|
||||||
xcb_unmap_window(xcb_connection, walk->bar);
|
xcb_unmap_window(xcb_connection, walk->bar);
|
||||||
}
|
}
|
||||||
|
stop_child();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -89,6 +90,8 @@ void unhide_bars() {
|
||||||
uint32_t mask;
|
uint32_t mask;
|
||||||
uint32_t values[4];
|
uint32_t values[4];
|
||||||
|
|
||||||
|
cont_child();
|
||||||
|
|
||||||
SLIST_FOREACH(walk, outputs, slist) {
|
SLIST_FOREACH(walk, outputs, slist) {
|
||||||
if (walk->bar == XCB_NONE) {
|
if (walk->bar == XCB_NONE) {
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in New Issue