@@ -30,6 +30,10 @@ void on_expose(app_t *app, XEvent *ev) { | |||||
} | } | ||||
void on_configurenotify(app_t *app, XEvent *ev) { | void on_configurenotify(app_t *app, XEvent *ev) { | ||||
if (app == NULL || ev == NULL) | |||||
return; | |||||
win_configure(&app->win, &ev->xconfigure); | |||||
} | } | ||||
void on_keypress(app_t *app, XEvent *ev) { | void on_keypress(app_t *app, XEvent *ev) { | ||||
@@ -84,3 +84,19 @@ void win_close(win_t *win) { | |||||
XFreeGC(dpy, gc); | XFreeGC(dpy, gc); | ||||
XCloseDisplay(dpy); | XCloseDisplay(dpy); | ||||
} | } | ||||
int win_configure(win_t *win, XConfigureEvent *cev) { | |||||
int changed; | |||||
if (win == NULL) | |||||
return 0; | |||||
changed = win->x != cev->x || win->y != cev->y || | |||||
win->w != cev->width || win->h != cev->height; | |||||
win->x = cev->x; | |||||
win->y = cev->y; | |||||
win->w = cev->width; | |||||
win->h = cev->height; | |||||
win->bw = cev->border_width; | |||||
return changed; | |||||
} |
@@ -33,7 +33,9 @@ typedef struct win_s { | |||||
int fullscreen; | int fullscreen; | ||||
} win_t; | } win_t; | ||||
void win_open(win_t *win); | |||||
void win_close(win_t *win); | |||||
void win_open(win_t*); | |||||
void win_close(win_t*); | |||||
int win_configure(win_t*, XConfigureEvent*); | |||||
#endif /* WINDOW_H */ | #endif /* WINDOW_H */ |