From 515a2f9710c5cc0488bb07b3daa6a1a5c17d1bee Mon Sep 17 00:00:00 2001 From: Thierry Lorthiois Date: Sun, 24 Oct 2010 09:18:41 +0000 Subject: [PATCH] fixed multi_desktop switching --- src/launcher/launcher.c | 1 - src/taskbar/taskbar.c | 19 ++++++++++++++----- src/tint.c | 2 -- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/launcher/launcher.c b/src/launcher/launcher.c index 73e6039..54b6639 100644 --- a/src/launcher/launcher.c +++ b/src/launcher/launcher.c @@ -783,7 +783,6 @@ char *icon_path(Launcher *launcher, const char *icon_name, int size) else return NULL; } - //printf("nom %s, taille %d, path %s\n", launcherIcon->icon_name, launcherIcon->icon_size, new_icon_path); GSList *basenames = NULL; char *file_name = g_build_filename(g_get_home_dir(), ".icons", NULL); diff --git a/src/taskbar/taskbar.c b/src/taskbar/taskbar.c index 3b61e22..87c7bd4 100644 --- a/src/taskbar/taskbar.c +++ b/src/taskbar/taskbar.c @@ -303,11 +303,20 @@ void set_taskbar_state(Taskbar *tskbar, int state) { tskbar->area.bg = panel1[0].g_taskbar.background[state]; tskbar->area.pix = tskbar->state_pix[state]; - if (tskbar->state_pix[state] == 0) { - tskbar->area.redraw = 1; - GSList *l; - for (l = tskbar->area.list ; l ; l = l->next) - ((Area*)l->data)->redraw = 1; + if (panel_mode != MULTI_DESKTOP) { + if (state == TASKBAR_NORMAL) + tskbar->area.on_screen = 0; + else + tskbar->area.on_screen = 1; + } + if (tskbar->area.on_screen == 1) { + if (tskbar->state_pix[state] == 0) + tskbar->area.redraw = 1; + if (panel_mode == MULTI_DESKTOP && panel1[0].g_taskbar.background[TASKBAR_NORMAL] != panel1[0].g_taskbar.background[TASKBAR_ACTIVE]) { + GSList *l; + for (l = tskbar->area.list ; l ; l = l->next) + set_task_redraw(l->data); + } } panel_refresh = 1; } diff --git a/src/tint.c b/src/tint.c index cc12d44..47bce1b 100644 --- a/src/tint.c +++ b/src/tint.c @@ -538,8 +538,6 @@ void event_property_notify (XEvent *e) tskbar->area.resize = 1; } } - if (panel_mode != MULTI_DESKTOP) - visible_taskbar(panel); } } // Window list -- 2.43.0