From: Guo Rui Date: Sun, 26 Jul 2009 15:43:33 +0000 (+0800) Subject: Implement window.onclose event, which happens just before window close. X-Git-Url: https://repo.or.cz/w/screen-lua.git/commitdiff_plain/c2a2009c45edd27ec15146104a4f36b70e1a3b2a Implement window.onclose event, which happens just before window close. --- diff --git a/src/script.c b/src/script.c index 87aefe1..2717a97 100644 --- a/src/script.c +++ b/src/script.c @@ -205,6 +205,7 @@ struct sev_description { /* Window events */ {"window_can_resize", "", offsetof(struct win, w_sev.canresize)}, + {"window_onclose", "w", offsetof(struct win, w_sev.onclose)}, {"window_onfocus", "dw", offsetof(struct win, w_sev.onfocus)}, /* last view of window w disappeared on display d. */ {"window_onhide", "dw", offsetof(struct win, w_sev.onhide)}, diff --git a/src/window.c b/src/window.c index 4754a98..fa4500f 100644 --- a/src/window.c +++ b/src/window.c @@ -950,6 +950,11 @@ struct win *wp; struct layer *l; debug1("FreeWindow %d\n", wp ? wp->w_number: -1); + +#ifdef SCRIPT + trigger_sevent(&wp->w_sev.onclose, wp); +#endif + #ifdef PSEUDOS if (wp->w_pwin) FreePseudowin(wp); diff --git a/src/window.h b/src/window.h index b79adfa..2183bb9 100644 --- a/src/window.h +++ b/src/window.h @@ -289,6 +289,7 @@ struct win struct script_event onleave; struct script_event onhide; struct script_event onshow; + struct script_event onclose; } w_sev; /*For Script events. */ #endif };