mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
Evoke will now correctly shutdown (try) all running windows, when
session should be logged out. Previous version (althought commented) was closing all windows (buttons and rest are counted too), not their main window. Thanks to some old code from babaya project I found, XmuClientWindow is what I needed, so emulation is provided to avoid linking with libXmu. Also added some more signals to detect quitting. Pending issue: I'm getting strange sound driver locks when X are started via evoke. This is un-reporoduceable when evoke is started from gui console. This still needs to be investigate.
This commit is contained in:
@@ -166,9 +166,20 @@ int main(int argc, char** argv) {
|
||||
|
||||
service->setup_atoms(fl_display);
|
||||
|
||||
signal(SIGINT, quit_signal);
|
||||
signal(SIGINT, quit_signal);
|
||||
signal(SIGTERM, quit_signal);
|
||||
signal(SIGKILL, quit_signal);
|
||||
signal(SIGQUIT, quit_signal);
|
||||
|
||||
#ifdef USE_SIGHUP
|
||||
/*
|
||||
* This is mostly used when we get request to shutdown session and close/kill all windows.
|
||||
* If evoke is started from gui console (xterm, rxvt), closing that window we will get
|
||||
* SIGHUP since terminal will disconnect all controlling processes. On other hand, if evoke
|
||||
* is started as session carrier (eg. run from xinitrc), this is not needed.
|
||||
*/
|
||||
signal(SIGHUP, quit_signal);
|
||||
#endif
|
||||
|
||||
service->start();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user