all repos — tint2 @ e015d5b19c126e06427d749d52d588438a02c77a

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

starting point on issue 135

git-svn-id: http://tint2.googlecode.com/svn/trunk@201 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
lorthiois@bbsoft.fr lorthiois@bbsoft.fr@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
commit

e015d5b19c126e06427d749d52d588438a02c77a

parent

fe2dde30db19ac8f5349b6d2dcaab8dcff0149b8

1 files changed, 35 insertions(+), 35 deletions(-)

jump to
M src/tint.csrc/tint.c

@@ -142,16 +142,14 @@

if (panel_horizontal) { for (i=0; i < panel->nb_desktop ; i++) { tskbar = &panel->taskbar[i]; - if (!tskbar->area.on_screen) continue; - if (x >= tskbar->area.posx && x <= (tskbar->area.posx + tskbar->area.width)) + if (tskbar->area.on_screen && x >= tskbar->area.posx && x <= (tskbar->area.posx + tskbar->area.width)) return tskbar; } } else { for (i=0; i < panel->nb_desktop ; i++) { tskbar = &panel->taskbar[i]; - if (!tskbar->area.on_screen) continue; - if (y >= tskbar->area.posy && y <= (tskbar->area.posy + tskbar->area.height)) + if (tskbar->area.on_screen && y >= tskbar->area.posy && y <= (tskbar->area.posy + tskbar->area.height)) return tskbar; } }

@@ -615,35 +613,42 @@

void event_configure_notify (Window win) { - // check 'win' move in systray - TrayWindow *traywin; - GSList *l; - for (l = systray.list_icons; l ; l = l->next) { - traywin = (TrayWindow*)l->data; - if (traywin->id == win) { - //printf("move tray %d\n", traywin->x); - XMoveResizeWindow(server.dsp, traywin->id, traywin->x, traywin->y, traywin->width, traywin->height); - panel_refresh = 1; - return; + if (win == server.root_win) { + printf("ConfigureNotify on root\n"); + //XMoveWindow(dpy, fen, pos_x, pos_y); + //XResizeWindow(dpy, fen, largeur, hauteur); + } + else { + // check 'win' move in systray + TrayWindow *traywin; + GSList *l; + for (l = systray.list_icons; l ; l = l->next) { + traywin = (TrayWindow*)l->data; + if (traywin->id == win) { + //printf("move tray %d\n", traywin->x); + XMoveResizeWindow(server.dsp, traywin->id, traywin->x, traywin->y, traywin->width, traywin->height); + panel_refresh = 1; + return; + } } - } - // check 'win' move in another monitor - if (nb_panel == 1) return; - if (server.nb_monitor == 1) return; - Task *tsk = task_get_task (win); - if (!tsk) return; + // check 'win' move in another monitor + if (nb_panel == 1) return; + if (server.nb_monitor == 1) return; + Task *tsk = task_get_task (win); + if (!tsk) return; - Panel *p = tsk->area.panel; - if (p->monitor != window_get_monitor (win)) { - remove_task (tsk); - add_task (win); - if (win == window_get_active ()) { - Task *tsk = task_get_task (win); - tsk->area.is_active = 1; - task_active = tsk; + Panel *p = tsk->area.panel; + if (p->monitor != window_get_monitor (win)) { + remove_task (tsk); + add_task (win); + if (win == window_get_active ()) { + Task *tsk = task_get_task (win); + tsk->area.is_active = 1; + task_active = tsk; + } + panel_refresh = 1; } - panel_refresh = 1; } }

@@ -796,12 +801,7 @@ event_property_notify(&e);

break; case ConfigureNotify: - //XMoveWindow(dpy, fen, pos_x, pos_y); - //XResizeWindow(dpy, fen, largeur, hauteur); - if (e.xconfigure.window == server.root_win) - goto load_config; - else - event_configure_notify (e.xconfigure.window); + event_configure_notify (e.xconfigure.window); break; case ReparentNotify: