From 2c636ec10aa163bac3b5465fb6fe99746aea4b1f Mon Sep 17 00:00:00 2001 From: Reginald Kennedy Date: Mon, 20 Aug 2012 07:51:00 +0800 Subject: [PATCH] Replace map_window_raised with map_window function. Rename get_iconic to get_swm_iconic Add new xcb_timestamp_t parameter to client_msg. Add debug output to client_msg. Remove unfocus_all since no longer needed. Fix focus_win to correctly set focus on window. Time must be specified in ClientMessage WM_TAKE_FOCUS. Track window mapped state. Change focus function to only set workspace focus; need to call focus_win separately. Fix focus_win function to correctly set window focus. Add FocusOut debug output. Add debug message to client_msg. Add timestamp parameter to client_msg. When sending the client message WM_TAKE_FOCUS, the time must not be XCB_TIME_CURRENT. Check window state before unmapping. Track X11 timestamps for use in focus_win. Handle iconify on property notify. --- spectrwm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spectrwm.c b/spectrwm.c index 75c7a6c..71c7d9c 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -2882,6 +2882,10 @@ switchws(struct swm_region *r, union arg *args) if (!new_ws->focus) bar_update(); + /* make sure bar gets updated if ws is empty */ + if (!new_ws->focus) + bar_update(); + focus_flush(); DNPRINTF(SWM_D_WS, "switchws: done.\n"); @@ -7550,6 +7554,7 @@ void propertynotify(xcb_property_notify_event_t *e) { struct ws_win *win; + union arg a; #ifdef SWM_DEBUG char *name; -- 2.39.2