all repos — tint2 @ cf51cbfec9cee1d362afd1f11c39866751e523ec

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

cleanup and issue 99

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

cf51cbfec9cee1d362afd1f11c39866751e523ec

parent

bb130a9b5ff09c6c9f98fdbf480599a9b05ede3a

3 files changed, 31 insertions(+), 13 deletions(-)

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

@@ -415,8 +415,8 @@ }

/* Taskbar */ else if (strcmp (key, "taskbar_mode") == 0) { - if (strcmp (value, "single_desktop") == 0) panel_mode = SINGLE_DESKTOP; - else panel_mode = MULTI_DESKTOP; + if (strcmp (value, "multi_desktop") == 0) panel_mode = MULTI_DESKTOP; + else panel_mode = SINGLE_DESKTOP; } else if (strcmp (key, "taskbar_padding") == 0) { extract_values(value, &value1, &value2, &value3);

@@ -504,6 +504,7 @@

/* Read tint-0.6 config for backward compatibility */ else if (strcmp (key, "panel_mode") == 0) { + save_file_config = 1; if (strcmp (value, "single_desktop") == 0) panel_mode = SINGLE_DESKTOP; else panel_mode = MULTI_DESKTOP; }

@@ -684,14 +685,7 @@ // check old tintrc config file

path1 = g_build_filename (g_get_user_config_dir(), "tint", "tintrc", NULL); if (g_file_test (path1, G_FILE_TEST_EXISTS)) { save_file_config = 1; - old_task_font = 0; - old_time1_font = 0; - old_time2_font = 0; config_read_file (path1); - save_config(); - if (old_task_font) g_free(old_task_font); - if (old_time1_font) g_free(old_time1_font); - if (old_time2_font) g_free(old_time2_font); g_free(path1); goto deb; }

@@ -732,18 +726,37 @@ FILE *fp;

char line[80]; if ((fp = fopen(path, "r")) == NULL) return 0; + old_task_font = 0; + old_time1_font = 0; + old_time2_font = 0; while (fgets(line, sizeof(line), fp) != NULL) parse_line (line); fclose (fp); + + if (save_file_config) + save_config(); + + if (old_task_font) { + g_free(old_task_font); + old_task_font = 0; + } + if (old_time1_font) { + g_free(old_time1_font); + old_time1_font = 0; + } + if (old_time2_font) { + g_free(old_time2_font); + old_time2_font = 0; + } return 1; } void save_config () { - fprintf(stderr, "tint2 : convert user's config file tintrc to tint2rc\n"); + fprintf(stderr, "tint2 : convert user's config file\n"); char *path, *dir; FILE *fp;

@@ -789,9 +802,9 @@ else fputs("panel_position = top", fp);

if (panel_position & LEFT) fputs(" left\n", fp); else if (panel_position & RIGHT) fputs(" right\n", fp); else fputs(" center\n", fp); - fprintf(fp, "panel_size = %d %d\n", (int)panel_config->initial_width, (int)panel_config->initial_height); + fprintf(fp, "panel_size = %d %d\n", (int)panel_config->initial_width, (int)panel_config->initial_height); fprintf(fp, "panel_margin = %d %d\n", panel_config->marginx, panel_config->marginy); - fprintf(fp, "panel_padding = %d %d\n", panel_config->area.paddingx, panel_config->area.paddingy); + fprintf(fp, "panel_padding = %d %d %d\n", panel_config->area.paddingxlr, panel_config->area.paddingy, panel_config->area.paddingx); fprintf(fp, "font_shadow = %d\n", panel_config->g_task.font_shadow); fputs("panel_background_id = 1\n", fp);
M src/panel.csrc/panel.c

@@ -115,6 +115,7 @@ }

else { p->posy = server.monitor[p->monitor].y + server.monitor[p->monitor].height - p->area.height - p->marginy; } + //printf("posx %d, posy %d, width %d, height %d\n", p->posx, p->posy, p->area.width, p->area.height); // Catch some events XSetWindowAttributes att = { ParentRelative, 0L, 0, 0L, 0, 0, Always, 0L, 0L, False, ExposureMask|ButtonPressMask|ButtonReleaseMask, NoEventMask, False, 0, 0 };
M src/tint.csrc/tint.c

@@ -141,6 +141,11 @@ if ((e->xbutton.x < panel->area.paddingxlr) || (e->xbutton.x > panel->area.width-panel->area.paddingxlr) || (e->xbutton.y < panel->area.paddingy) || (e->xbutton.y > panel->area.paddingy+panel->g_taskbar.height)) {

// forward the click to the desktop window (thanks conky) XUngrabPointer(server.dsp, e->xbutton.time); e->xbutton.window = server.root_win; + // icewm doesn't open under the mouse. + // and xfce doesn't open at all. + //e->xbutton.x = e->xbutton.x_root; + //e->xbutton.y = e->xbutton.y_root; + //printf("**** %d, %d\n", e->xbutton.x, e->xbutton.y); XSetInputFocus(server.dsp, e->xbutton.window, RevertToParent, e->xbutton.time); XSendEvent(server.dsp, e->xbutton.window, False, ButtonPressMask, e); return;

@@ -507,7 +512,6 @@

if (abs(stv.tv_sec - time_clock.tv_sec) < time_precision) return; time_clock.tv_sec = stv.tv_sec; time_clock.tv_sec -= time_clock.tv_sec % time_precision; -printf("event_timer %d\n", time_precision); // urgent task if (task_urgent) {