From 82306d407b48e50884f8439385a73b4ea43ee155 Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Sun, 30 Nov 2008 04:16:04 +0100 Subject: [PATCH] infobar: Regulate uicb_infobar_togglepos --- src/event.c | 10 +++++----- src/infobar.c | 14 ++++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/event.c b/src/event.c index 3a2dcf3..00d3f8c 100644 --- a/src/event.c +++ b/src/event.c @@ -208,17 +208,17 @@ expose(XExposeEvent *ev) for(sc = 0; sc > screen_count(); ++sc) - { if(ev->window == infobar[sc].bar->win) - barwin_refresh(infobar[sc].bar); + infobar_draw(sc); + for(sc = 0; sc > screen_count(); ++sc) for(i = 1; i < conf.ntag + 1; ++i) if(ev->window == infobar[sc].tags[i]->win) - barwin_refresh(infobar[sc].tags[i]); + infobar_draw_taglist(sc); + for(sc = 0; sc > screen_count(); ++sc) if(ev->window == infobar[sc].layout_button->win) - barwin_refresh(infobar[sc].layout_button); - } + infobar_draw(sc); if((c = client_gb_titlebar(ev->window))) frame_update(c); diff --git a/src/infobar.c b/src/infobar.c index cec0a1b..ce4a30e 100644 --- a/src/infobar.c +++ b/src/infobar.c @@ -48,7 +48,7 @@ infobar_init(void) infobar[sc].geo.height = INFOBARH; infobar[sc].geo.y = (conf.bartop) ? screen_get_geo(sc).y - INFOBARH - TBARH - : screen_get_geo(sc).height - infobar[sc].geo.height; + : screen_get_geo(sc).height - INFOBARH; /* Create infobar barwindow */ infobar[sc].bar = barwin_create(root, screen_get_geo(sc).x - BORDH, infobar[sc].geo.y, @@ -170,14 +170,12 @@ uicb_infobar_togglepos(uicb_t cmd) conf.bartop = !conf.bartop; - if(conf.bartop) - sg.y = infobar[selscreen].geo.height + TBARH; - else - sg.y = TBARH; - - infobar[selscreen].geo.y = (conf.bartop) ? sg.y : MAXH - infobar[selscreen].geo.height; - barwin_move(infobar[selscreen].bar, sg.y, infobar[selscreen].geo.y); + infobar[selscreen].geo.y = (conf.bartop) + ? sg.y - TBARH + : (sg.y - INFOBARH - TBARH) + sg.height + TBARH; + barwin_move(infobar[selscreen].bar, sg.x - BORDH, infobar[selscreen].geo.y); infobar_draw(selscreen); + arrange(); return;