diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/actions.c | 2 | ||||
-rw-r--r-- | src/events.c | 9 | ||||
-rw-r--r-- | src/split.h | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/src/actions.c b/src/actions.c index d2e45a5..314d41c 100644 --- a/src/actions.c +++ b/src/actions.c @@ -2310,7 +2310,7 @@ cmd_startup_message (int interactive, void *data) char * cmd_focuslast (int interactive, void *data) { - rp_window_frame *frame = find_last_frame(); + rp_window_frame *frame = find_last_frame(current_screen()); if (frame) set_active_frame (frame); diff --git a/src/events.c b/src/events.c index bf47e7c..6151db0 100644 --- a/src/events.c +++ b/src/events.c @@ -220,8 +220,14 @@ configure_notify (XConfigureEvent *e) { rp_window *win; + /* ignore SubstructureNotify ConfigureNotify events. */ + if(e->event != e->window && e->send_event != True) + return; + win = find_window (e->window); + PRINT_DEBUG("event=%ld window=%ld\n", e->event, e->window); + if (win && win->state == NormalState) { if (win->height != e->height @@ -237,6 +243,9 @@ configure_notify (XConfigureEvent *e) know the real size of the window to increment properly. So, update the structure before calling maximize. */ + PRINT_DEBUG ("x=%d y=%d width=%d height=%d\n", e->x, e->y, e->width, e->height); + PRINT_DEBUG ("x=%d y=%d width=%d height=%d\n", win->x, win->y, win->width, win->height); + win->x = e->x; win->y = e->y; win->width = e->width; diff --git a/src/split.h b/src/split.h index 3cc5cb2..606981e 100644 --- a/src/split.h +++ b/src/split.h @@ -44,6 +44,6 @@ rp_window_frame *find_frame_right (rp_window_frame *frame); rp_window_frame *find_frame_left (rp_window_frame *frame); rp_window_frame *find_frame_down (rp_window_frame *frame); rp_window_frame *find_frame_up (rp_window_frame *frame); -rp_window_frame *find_last_frame (); +rp_window_frame *find_last_frame (screen_info *s); #endif |