static void OnDestroy(HWND hwnd) { write_text(); config_write(); systray_del(hwnd,1024); PostQuitMessage(0); }
static void event_unmapnotify(XEvent *e) { XUnmapEvent *ev = &e->xunmap; struct client *c; struct _systray *s; if((c = client_gb_win(ev->window)) && ev->send_event && ev->event == W->root) { int d; unsigned char *ret = NULL; if(XGetWindowProperty(EVDPY(e), c->win, W->net_atom[wm_state], 0, 2, False, W->net_atom[wm_state], (Atom*)&d, &d, (long unsigned int*)&d, (long unsigned int*)&d, &ret) == Success) if(*ret == NormalState) client_remove(c); } else if((s = systray_find(ev->window))) { systray_del(s); systray_update(); } }
static void event_destroynotify(XEvent *e) { XDestroyWindowEvent *ev = &e->xdestroywindow; struct client *c; struct _systray *s; if((c = client_gb_win(ev->window))) client_remove(c); else if((s = systray_find(ev->window))) { ewmh_set_wm_state(s->win, WithdrawnState); systray_del(s); systray_update(); } }
/** DestroyNotify handle event * \param ev XDestroyWindowEvent pointer */ static void destroynotify(XDestroyWindowEvent *ev) { Client *c; Systray *s; if((c = client_gb_win(ev->window))) { client_unmanage(c); XSetErrorHandler(errorhandler); } else if((s = systray_find(ev->window))) { setwinstate(s->win, WithdrawnState); systray_del(s); systray_update(); } return; }
/** UnmapNotify handle event * \param ev XUnmapEvent pointer */ static void unmapnotify(XUnmapEvent *ev) { Client *c; Systray *s; if((c = client_gb_win(ev->window)) && ev->send_event && !(c->flags & HideFlag)) { client_unmanage(c); XSetErrorHandler(errorhandler); } if((s = systray_find(ev->window))) { systray_del(s); systray_update(); } return; }
void change_icon(HWND hwnd) { systray_del(hwnd,1024); systray_add(hwnd,1024,LoadIcon(hMainInstance,MAKEINTRESOURCE(iconRes)),app_name); }