all repos — openbox @ 33ef4736c078f7f0b1b7e8cb8124dd2f31b6c092

openbox fork - make it a bit more like ryudo

optimize
Dana Jansens danakj@orodu.net
commit

33ef4736c078f7f0b1b7e8cb8124dd2f31b6c092

parent

ee2b334f4437a9d4ebd0b1cdddb3b4996a252a84

1 files changed, 12 insertions(+), 11 deletions(-)

jump to
M openbox/screen.copenbox/screen.c

@@ -1107,13 +1107,10 @@ (g_slist_free(sl), sl = NULL)

#define ADD_STRUT_TO_LIST(sl, d, s) \ { \ - for (i = 0; i < screen_num_desktops; ++i) \ - if (i == d || d == DESKTOP_ALL) { \ - ObScreenStrut *ss = g_new(ObScreenStrut, 1); \ - ss->desktop = i; \ - ss->strut = s; \ - sl = g_slist_prepend(sl, ss); \ - } \ + ObScreenStrut *ss = g_new(ObScreenStrut, 1); \ + ss->desktop = d; \ + ss->strut = s; \ + sl = g_slist_prepend(sl, ss); \ } void screen_update_areas()

@@ -1174,22 +1171,26 @@ /* only add the strut to the area if it touches the monitor */

for (sit = struts_left; sit; sit = g_slist_next(sit)) { ObScreenStrut *s = sit->data; - if (s->desktop == j && STRUT_LEFT_ON_MONITOR(s->strut, i)) + if ((s->desktop == j || s->desktop == DESKTOP_ALL) && + STRUT_LEFT_ON_MONITOR(s->strut, i)) l = MAX(l, s->strut->left); } for (sit = struts_top; sit; sit = g_slist_next(sit)) { ObScreenStrut *s = sit->data; - if (s->desktop == j && STRUT_TOP_ON_MONITOR(s->strut, i)) + if ((s->desktop == j || s->desktop == DESKTOP_ALL) && + STRUT_TOP_ON_MONITOR(s->strut, i)) t = MAX(t, s->strut->top); } for (sit = struts_right; sit; sit = g_slist_next(sit)) { ObScreenStrut *s = sit->data; - if (s->desktop == j && STRUT_RIGHT_ON_MONITOR(s->strut, i)) + if ((s->desktop == j || s->desktop == DESKTOP_ALL) && + STRUT_RIGHT_ON_MONITOR(s->strut, i)) r = MAX(r, s->strut->right); } for (sit = struts_bottom; sit; sit = g_slist_next(sit)) { ObScreenStrut *s = sit->data; - if (s->desktop == j && STRUT_BOTTOM_ON_MONITOR(s->strut, i)) + if ((s->desktop == j || s->desktop == DESKTOP_ALL) && + STRUT_BOTTOM_ON_MONITOR(s->strut, i)) b = MAX(b, s->strut->bottom); }