mirror of
https://github.com/vale981/spectrwm
synced 2025-03-05 18:01:37 -05:00
unmap windows after stacking. much better performance!
This commit is contained in:
parent
8ac8dc5fbb
commit
8586681805
1 changed files with 8 additions and 5 deletions
13
scrotwm.c
13
scrotwm.c
|
@ -1434,7 +1434,7 @@ focus_win(struct ws_win *win)
|
||||||
void
|
void
|
||||||
switchws(struct swm_region *r, union arg *args)
|
switchws(struct swm_region *r, union arg *args)
|
||||||
{
|
{
|
||||||
int wsid = args->id;
|
int wsid = args->id, unmap_old = 0;
|
||||||
struct swm_region *this_r, *other_r;
|
struct swm_region *this_r, *other_r;
|
||||||
struct ws_win *win;
|
struct ws_win *win;
|
||||||
struct workspace *new_ws, *old_ws;
|
struct workspace *new_ws, *old_ws;
|
||||||
|
@ -1462,9 +1462,7 @@ switchws(struct swm_region *r, union arg *args)
|
||||||
if (old_ws->r != NULL)
|
if (old_ws->r != NULL)
|
||||||
old_ws->old_r = old_ws->r;
|
old_ws->old_r = old_ws->r;
|
||||||
old_ws->r = NULL;
|
old_ws->r = NULL;
|
||||||
|
unmap_old = 1;
|
||||||
TAILQ_FOREACH(win, &old_ws->winlist, entry)
|
|
||||||
unmap_window(win);
|
|
||||||
} else {
|
} else {
|
||||||
other_r->ws = old_ws;
|
other_r->ws = old_ws;
|
||||||
old_ws->r = other_r;
|
old_ws->r = other_r;
|
||||||
|
@ -1476,6 +1474,11 @@ switchws(struct swm_region *r, union arg *args)
|
||||||
a.id = SWM_ARG_ID_FOCUSCUR;
|
a.id = SWM_ARG_ID_FOCUSCUR;
|
||||||
focus(new_ws->r, &a);
|
focus(new_ws->r, &a);
|
||||||
bar_update();
|
bar_update();
|
||||||
|
|
||||||
|
/* unmap old windows */
|
||||||
|
if (unmap_old)
|
||||||
|
TAILQ_FOREACH(win, &old_ws->winlist, entry)
|
||||||
|
unmap_window(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -4740,7 +4743,7 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
done:
|
done:
|
||||||
bar_extra_stop();
|
bar_extra_stop();
|
||||||
|
XFreeGC(display, bar_gc);
|
||||||
XCloseDisplay(display);
|
XCloseDisplay(display);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
|
Loading…
Add table
Reference in a new issue