bool clock_enabled = true;
bool iconic_enabled = false;
bool urgent_enabled = false;
+bool urgent_collapse = false;
char *clock_format = NULL;
bool window_class_enabled = false;
bool window_instance_enabled = false;
}
for (i = 0; i < workspace_limit; i++) {
- if (urgent[i])
+ if (urgent[i]) {
snprintf(b, sizeof b, "%d ", i + 1);
- else
- snprintf(b, sizeof b, "- ");
- strlcat(s, b, sz);
+ strlcat(s, b, sz);
+ } else if (!urgent_collapse) {
+ strlcat(s, "- ", sz);
+ }
}
}
return;
win = r->ws->focus;
+
+ DNPRINTF(SWM_D_EVENT, "center_pointer: win %#x.\n", WINID(win));
+
if (win && win->mapped)
xcb_warp_pointer(conn, XCB_NONE, win->id, 0, 0, 0, 0,
WIDTH(win) / 2, HEIGHT(win) / 2);
ewmh_update_client_list();
stack();
+ center_pointer(r);
focus_flush();
out:
DNPRINTF(SWM_D_MOVE, "swapwin: done\n");
focus_win(get_region_focus(r));
+ center_pointer(r);
focus_flush();
}
stack();
bar_draw();
+ center_pointer(r);
focus_flush();
}
if (w == w->ws->focus)
focus_win(w);
+ center_pointer(r);
focus_flush();
DNPRINTF(SWM_D_MISC, "maximize_toggle: done\n");
}
return;
resize(win, args);
+ center_pointer(r);
focus_flush();
}
return;
move(win, args);
+ center_pointer(r);
focus_flush();
}
SWM_S_STACK_ENABLED,
SWM_S_TERM_WIDTH,
SWM_S_TILE_GAP,
+ SWM_S_URGENT_COLLAPSE,
SWM_S_URGENT_ENABLED,
SWM_S_VERBOSE_LAYOUT,
SWM_S_WARP_POINTER,
case SWM_S_TILE_GAP:
tile_gap = atoi(value);
break;
+ case SWM_S_URGENT_COLLAPSE:
+ urgent_collapse = (atoi(value) != 0);
+ break;
case SWM_S_URGENT_ENABLED:
urgent_enabled = (atoi(value) != 0);
break;
{ "tile_gap", setconfvalue, SWM_S_TILE_GAP },
{ "title_class_enabled", setconfvalue, SWM_S_WINDOW_CLASS_ENABLED }, /* For backwards compat. */
{ "title_name_enabled", setconfvalue, SWM_S_WINDOW_INSTANCE_ENABLED }, /* For backwards compat. */
+ { "urgent_collapse", setconfvalue, SWM_S_URGENT_COLLAPSE },
{ "urgent_enabled", setconfvalue, SWM_S_URGENT_ENABLED },
{ "verbose_layout", setconfvalue, SWM_S_VERBOSE_LAYOUT },
{ "warp_pointer", setconfvalue, SWM_S_WARP_POINTER },