From cf51cbfec9cee1d362afd1f11c39866751e523ec Mon Sep 17 00:00:00 2001 From: "lorthiois@bbsoft.fr" Date: Wed, 10 Jun 2009 21:33:12 +0000 Subject: [PATCH] cleanup and issue 99 git-svn-id: http://tint2.googlecode.com/svn/trunk@110 121b4492-b84c-0410-8b4c-0d4edfb3f3cc --- src/config.c | 37 +++++++++++++++++++++++++------------ src/panel.c | 1 + src/tint.c | 6 +++++- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/config.c b/src/config.c index 0815acd..0b625f6 100644 --- a/src/config.c +++ b/src/config.c @@ -415,8 +415,8 @@ void add_entry (char *key, char *value) /* 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 @@ void add_entry (char *key, char *value) /* 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 @@ deb: 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 @@ int config_read_file (const char *path) 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 @@ void save_config () 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); diff --git a/src/panel.c b/src/panel.c index 84d5ab9..11dafe1 100644 --- a/src/panel.c +++ b/src/panel.c @@ -115,6 +115,7 @@ void init_panel() 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 }; diff --git a/src/tint.c b/src/tint.c index 6544219..718668f 100644 --- a/src/tint.c +++ b/src/tint.c @@ -141,6 +141,11 @@ void event_button_press (XEvent *e) // 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 @@ void event_timer() 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) {