From fd52a8efaeb932e09342704a520a07ff01ef2ef1 Mon Sep 17 00:00:00 2001 From: Thierry Lorthiois Date: Thu, 29 Jan 2009 22:43:31 +0000 Subject: [PATCH] improve multi_monitor mode --- ChangeLog | 4 +++ src/clock/clock.c | 1 + src/config.c | 20 ++++++------ src/panel.c | 34 ++++++++++++++++++-- src/panel.h | 2 +- src/server.c | 76 +++++++++++++++++---------------------------- src/server.h | 5 ++- src/taskbar/task.c | 17 +++++----- src/tint2 | Bin 47548 -> 47548 bytes tintrc01 | 6 ++-- tintrc02 | 6 ++-- tintrc03 | 56 ++++++++++++++++----------------- tintrc06 | 2 +- 13 files changed, 120 insertions(+), 109 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0ffd74f..76ab312 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-01-29 +- use panel_margin parameter even with full_width +- multi_monitor mode : monitor number are ordered according to coordinate + so taskbar on the left show task in the left monitor 2009-01-20 - change config file format : add another padding parameter diff --git a/src/clock/clock.c b/src/clock/clock.c index 42cfd90..97ab535 100644 --- a/src/clock/clock.c +++ b/src/clock/clock.c @@ -43,6 +43,7 @@ void init_clock(Clock *clock, int panel_height) clock->area.posy = panel.area.pix.border.width + panel.area.paddingy; clock->area.height = panel.area.height - (2 * clock->area.posy); + clock->area.width = 0; // force posx and width detection clock->area.redraw = 1; gettimeofday(&clock->clock, 0); diff --git a/src/config.c b/src/config.c index 56deba2..fd1cfcc 100644 --- a/src/config.c +++ b/src/config.c @@ -105,18 +105,17 @@ void copy_file(const char *pathSrc, const char *pathDest) void extract_values (const char *value, char **value1, char **value2, char **value3) { - char *b, *c; + char *b=0, *c=0; if (*value1) free (*value1); if (*value2) free (*value2); if (*value3) free (*value3); - if (b = strchr (value, ' ')) { + if ((b = strchr (value, ' '))) { b[0] = '\0'; b++; } else { - b = 0; *value2 = 0; *value3 = 0; } @@ -124,7 +123,7 @@ void extract_values (const char *value, char **value1, char **value2, char **val g_strstrip(*value1); if (b) { - if (c = strchr (b, ' ')) { + if ((c = strchr (b, ' '))) { c[0] = '\0'; c++; } @@ -254,8 +253,9 @@ void add_entry (char *key, char *value) } else if (strcmp (key, "panel_margin") == 0) { extract_values(value, &value1, &value2, &value3); - panel.marginx = atoi (value1); + panel.marginleft = panel.marginright = atoi (value1); if (value2) panel.marginy = atoi (value2); + if (value3) panel.marginright = atoi (value3); } else if (strcmp (key, "panel_padding") == 0) { extract_values(value, &value1, &value2, &value3); @@ -543,7 +543,7 @@ void config_finish () if (panel.monitor > (server.nb_monitor-1)) { panel.sleep_mode = 1; - printf("tint2 sleep and wait monitor %d.\n", panel.monitor+1); + fprintf(stderr, "tint2 sleep and wait monitor %d.\n", panel.monitor+1); } else { panel.sleep_mode = 0; @@ -552,7 +552,7 @@ void config_finish () fprintf(stderr, "tint2 error : invalid monitor size.\n"); } - if (!panel.area.width) panel.area.width = server.monitor[panel.monitor].width - 1; + if (!panel.area.width) panel.area.width = server.monitor[panel.monitor].width - 1 - panel.marginleft - panel.marginright; // taskbar g_taskbar.posy = panel.area.pix.border.width + panel.area.paddingy; @@ -654,8 +654,8 @@ int config_read_file (const char *path) void save_config () { fprintf(stderr, "tint2 warning : convert user's config file\n"); - panel.area.paddingx = panel.area.paddingy = panel.marginx; - panel.marginx = panel.marginy = 0; + panel.area.paddingx = panel.area.paddingy = panel.marginleft; + panel.marginleft = panel.marginright = panel.marginy = 0; if (panel.old_task_icon == 0) g_task.icon_size1 = 0; if (panel.old_panel_background == 0) panel.area.pix.back.alpha = 0; @@ -690,7 +690,7 @@ void save_config () else if (panel.position & RIGHT) fputs(" right\n", fp); else fputs(" center\n", fp); fprintf(fp, "panel_size = %d %d\n", panel.area.width, panel.area.height); - fprintf(fp, "panel_margin = %d %d\n", panel.marginx, panel.marginy); + fprintf(fp, "panel_margin = %d %d\n", panel.marginleft, panel.marginy); fprintf(fp, "panel_padding = %d %d\n", panel.area.paddingx, panel.area.paddingy); fprintf(fp, "font_shadow = %d\n", g_task.font_shadow); diff --git a/src/panel.c b/src/panel.c index b5be1a2..869f6c2 100644 --- a/src/panel.c +++ b/src/panel.c @@ -115,9 +115,9 @@ void window_draw_panel () Window win; /* panel position determined here */ - if (panel.position & LEFT) server.posx = server.monitor[panel.monitor].x + panel.marginx; + if (panel.position & LEFT) server.posx = server.monitor[panel.monitor].x + panel.marginleft; else { - if (panel.position & RIGHT) server.posx = server.monitor[panel.monitor].x + server.monitor[panel.monitor].width - panel.area.width - panel.marginx; + if (panel.position & RIGHT) server.posx = server.monitor[panel.monitor].x + server.monitor[panel.monitor].width - panel.area.width - panel.marginright; else server.posx = server.monitor[panel.monitor].x + ((server.monitor[panel.monitor].width - panel.area.width) / 2); } if (panel.position & TOP) server.posy = server.monitor[panel.monitor].y + panel.marginy; @@ -173,6 +173,35 @@ void visible_object() } +Pixmap get_root_pixmap () +{ + Pixmap ret; + Window root = RootWindow(server.dsp, server.screen); + + ret = None; + int act_format, c = 2 ; + u_long nitems ; + u_long bytes_after ; + u_char *prop ; + Atom dummy_id; + + do { + if (XGetWindowProperty(server.dsp, root, server.atom._XROOTPMAP_ID, 0, 1, + False, XA_PIXMAP, &dummy_id, &act_format, + &nitems, &bytes_after, &prop) == Success) { + if (prop) { + ret = *((Pixmap *)prop); + XFree(prop); + break; + } + } + } while (--c > 0); + + //if (ret == None) printf("pas de background\n"); + return ret; +} + + void set_panel_background() { Pixmap wall = get_root_pixmap(); @@ -201,3 +230,4 @@ void set_panel_background() } + diff --git a/src/panel.h b/src/panel.h index 79fb625..0ab2293 100644 --- a/src/panel.h +++ b/src/panel.h @@ -47,7 +47,7 @@ typedef struct { int refresh; int monitor; int position; - int marginx, marginy; + int marginleft, marginright, marginy; // -------------------------------------------------- // taskbar point to the first taskbar in panel.area.list. number of tasbar == nb_desktop x nb_monitor. diff --git a/src/server.c b/src/server.c index 6767f9d..4b5726d 100644 --- a/src/server.c +++ b/src/server.c @@ -135,56 +135,30 @@ void *server_get_property (Window win, Atom at, Atom type, int *num_results) } -Pixmap get_root_pixmap () +int compareMonitor(const void *monitor1, const void *monitor2) { - Pixmap ret; - Window root = RootWindow(server.dsp, server.screen); - - ret = None; - int act_format, c = 2 ; - u_long nitems ; - u_long bytes_after ; - u_char *prop ; - Atom dummy_id; - - do { - if (XGetWindowProperty(server.dsp, root, server.atom._XROOTPMAP_ID, 0, 1, - False, XA_PIXMAP, &dummy_id, &act_format, - &nitems, &bytes_after, &prop) == Success) { - if (prop) { - ret = *((Pixmap *)prop); - XFree(prop); - break; - } - } - } while (--c > 0); - - return ret; -} - - -/* -Pixmap get_root_pixmap () -{ - // conky capture correctement le fond d'écran en xlib !! - Pixmap root_pixmap; - unsigned long *res; - - server.root_win = window_get_root(); + Monitor *m1 = (Monitor*)monitor1; + Monitor *m2 = (Monitor*)monitor2; - res = server_get_property (server.root_win, server.atom._XROOTPMAP_ID, XA_PIXMAP, 0); - if (res) { - root_pixmap = *((Drawable*) res); - XFree(res); - return root_pixmap; - } - else { - printf("get_root_pixmap incorrect\n"); - // try _XSETROOT_ID + if (m1->x < m2->x) { + return -1; } - return 0; + else + if (m1->x > m2->x) { + return 1; + } + else + if (m1->width < m2->width) { + return 1; + } + else + if (m1->width > m2->width) { + return -1; + } + else { + return 0; + } } -*/ void get_monitors() @@ -193,13 +167,16 @@ void get_monitors() server.nb_monitor = 0; server.monitor = 0; + int nb_monitor; if (XineramaIsActive(server.dsp)) { - XineramaScreenInfo *info = XineramaQueryScreens(server.dsp, &server.nb_monitor); + XineramaScreenInfo *info = XineramaQueryScreens(server.dsp, &nb_monitor); if (info) { int i; - server.monitor = calloc(server.nb_monitor, sizeof(Monitor)); + //printf("nb_monitors %d\n", nb_monitor); + server.nb_monitor = nb_monitor; + server.monitor = calloc(nb_monitor, sizeof(Monitor)); for (i = 0; i < server.nb_monitor; i++) { server.monitor[i].x = info[i].x_org; server.monitor[i].y = info[i].y_org; @@ -207,6 +184,9 @@ void get_monitors() server.monitor[i].height = info[i].height; } XFree(info); + + // ordered monitor according to coordinate + qsort(server.monitor, server.nb_monitor, sizeof(Monitor), compareMonitor); } } diff --git a/src/server.h b/src/server.h index d042f70..369014a 100644 --- a/src/server.h +++ b/src/server.h @@ -1,6 +1,6 @@ /************************************************************************** -* server : -* - +* server : +* - * * Check COPYING file for Copyright * @@ -98,7 +98,6 @@ void server_refresh_main_pixmap (); void server_catch_error (Display *d, XErrorEvent *ev); void server_init_atoms (); void get_monitors(); -Pixmap get_root_pixmap(); #endif diff --git a/src/taskbar/task.c b/src/taskbar/task.c index 0aeb45e..d87283f 100644 --- a/src/taskbar/task.c +++ b/src/taskbar/task.c @@ -173,7 +173,7 @@ void get_icon (Task *tsk) data = server_get_property (tsk->win, server.atom._NET_WM_ICON, XA_CARDINAL, &num); if (data) { - printf("get_icon plein\n"); + //printf("get_icon plein\n"); // ARGB int w, h; long *tmp_data; @@ -187,14 +187,13 @@ void get_icon (Task *tsk) XFree (data); } else { - printf("get_icon vide\n"); - //XWMHints *hints; - //hints = XGetWMHints(server.dsp, tkwin); - //if (hints != NULL) { - // XFree(hints); - //} - // XChangeProperty (display, windowH, XInternAtom (display, "_NET_WM_ICON", False), XA_CARDINAL, 32, PropModeReplace, (unsigned char*) data, dataSize); - return; + //printf("get_icon vide\n"); + XWMHints *hints = XGetWMHints(server.dsp, tsk->win); + if (hints) { + if (hints->flags & IconPixmapHint) { + } + XFree(hints); + } } } diff --git a/src/tint2 b/src/tint2 index 93633b27f16b0640e58c2ba1a517f7a99d4c644f..853b89d6638f433b8f99aceebf2cbf2b8d09ad0d 100755 GIT binary patch delta 16776 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 ALI3~& delta 16671 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 diff --git a/tintrc01 b/tintrc01 index 7555b52..99a0c4a 100644 --- a/tintrc01 +++ b/tintrc01 @@ -24,9 +24,9 @@ border_color = #ffffff 70 # PANEL #--------------------------------------------- panel_monitor = 1 -panel_position = top center -panel_size = 900 30 -panel_margin = 15 2 +panel_position = bottom center +panel_size = 0 30 +panel_margin = 15 2 15 panel_padding = 9 0 font_shadow = 0 panel_background_id = 1 diff --git a/tintrc02 b/tintrc02 index 04dc7ea..1970a48 100644 --- a/tintrc02 +++ b/tintrc02 @@ -7,7 +7,7 @@ #--------------------------------------------- rounded = 1 border_width = 0 -background_color = #282828 40 +background_color = #282828 60 border_color = #000000 0 rounded = 1 @@ -34,7 +34,7 @@ panel_background_id = 1 #--------------------------------------------- # TASKBAR #--------------------------------------------- -taskbar_mode = multi_desktop +taskbar_mode = multi_monitor taskbar_padding = 0 0 0 taskbar_background_id = 2 @@ -66,7 +66,7 @@ time1_font = sans 7 time2_format = %A %d %B time2_font = sans 7 clock_font_color = #ffffff 100 -clock_padding = 4 0 +clock_padding = 2 0 clock_background_id = 0 #--------------------------------------------- diff --git a/tintrc03 b/tintrc03 index 4a27348..1c552ec 100644 --- a/tintrc03 +++ b/tintrc03 @@ -5,69 +5,67 @@ #--------------------------------------------- # BACKGROUND AND BORDER #--------------------------------------------- -rounded = 5 +rounded = 10 border_width = 1 background_color = #ffffff 40 -border_color = #ffffff 70 +border_color = #ffffff 60 -rounded = 4 -border_width = 0 -background_color = #ffffff 0 -border_color = #d1d1d1 0 - -rounded = 4 +rounded = 1 border_width = 0 background_color = #ffffff 30 -border_color = #d1d1d1 14 +border_color = #ffffff 15 + + #--------------------------------------------- # PANEL #--------------------------------------------- panel_monitor = 1 -panel_position = top center -panel_size = 1000 25 -panel_margin = 0 7 -panel_padding = 7 3 0 +panel_position = bottom center +panel_size = 0 30 +panel_margin = 0 0 +panel_padding = 5 4 font_shadow = 0 -panel_background_id = 1 +panel_background_id = 0 #--------------------------------------------- # TASKBAR #--------------------------------------------- -taskbar_mode = single_desktop -taskbar_padding = 0 0 0 -taskbar_background_id = 0 +taskbar_mode = multi_desktop +taskbar_padding = 8 0 0 +taskbar_background_id = 1 #--------------------------------------------- # TASKS #--------------------------------------------- task_icon = 1 task_text = 1 -task_width = 150 +task_width = 160 task_centered = 1 task_padding = 2 1 -task_font = myriad pro 8 -task_font_color = #000000 70 +task_font = Dejavu sans 8 +task_font_color = #000000 60 task_active_font_color = #000000 100 -task_background_id = 2 -task_active_background_id = 3 +task_background_id = 0 +task_active_background_id = 2 #--------------------------------------------- # SYSTRAY #--------------------------------------------- #systray_padding = 9 3 -#systray_background_id = 0 +#systray_icon_opacity = 50 +#systray_background_id = 1 #--------------------------------------------- # CLOCK #--------------------------------------------- -time1_format = %H:%M -time1_font = sans bold 12 +time1_format = %A %d %H:%M +time1_font = Dejavu sans 10 #time2_format = %A %d %B -#time2_font = sans bold 10 -clock_font_color = #000000 70 -clock_padding = 4 0 -clock_background_id = 0 +time2_font = sans 7 +clock_font_color = #000000 80 +clock_padding = 8 0 +clock_background_id = 1 #--------------------------------------------- # MOUSE ACTION ON TASK diff --git a/tintrc06 b/tintrc06 index 7230796..6af1bd6 100644 --- a/tintrc06 +++ b/tintrc06 @@ -25,7 +25,7 @@ border_color = #ffffff 0 # PANEL #--------------------------------------------- panel_monitor = 1 -panel_position = top left +panel_position = bottom left panel_size = 0 30 panel_margin = 0 0 panel_padding = 9 2 7 -- 2.45.2