cleanup and issue 99

git-svn-id: http://tint2.googlecode.com/svn/trunk@110 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
lorthiois@bbsoft.fr 2009-06-10 21:33:12 +00:00
parent bb130a9b5f
commit cf51cbfec9
3 changed files with 31 additions and 13 deletions

View file

@ -415,8 +415,8 @@ void add_entry (char *key, char *value)
/* Taskbar */ /* Taskbar */
else if (strcmp (key, "taskbar_mode") == 0) { else if (strcmp (key, "taskbar_mode") == 0) {
if (strcmp (value, "single_desktop") == 0) panel_mode = SINGLE_DESKTOP; if (strcmp (value, "multi_desktop") == 0) panel_mode = MULTI_DESKTOP;
else panel_mode = MULTI_DESKTOP; else panel_mode = SINGLE_DESKTOP;
} }
else if (strcmp (key, "taskbar_padding") == 0) { else if (strcmp (key, "taskbar_padding") == 0) {
extract_values(value, &value1, &value2, &value3); 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 */ /* Read tint-0.6 config for backward compatibility */
else if (strcmp (key, "panel_mode") == 0) { else if (strcmp (key, "panel_mode") == 0) {
save_file_config = 1;
if (strcmp (value, "single_desktop") == 0) panel_mode = SINGLE_DESKTOP; if (strcmp (value, "single_desktop") == 0) panel_mode = SINGLE_DESKTOP;
else panel_mode = MULTI_DESKTOP; else panel_mode = MULTI_DESKTOP;
} }
@ -684,14 +685,7 @@ deb:
path1 = g_build_filename (g_get_user_config_dir(), "tint", "tintrc", NULL); path1 = g_build_filename (g_get_user_config_dir(), "tint", "tintrc", NULL);
if (g_file_test (path1, G_FILE_TEST_EXISTS)) { if (g_file_test (path1, G_FILE_TEST_EXISTS)) {
save_file_config = 1; save_file_config = 1;
old_task_font = 0;
old_time1_font = 0;
old_time2_font = 0;
config_read_file (path1); 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); g_free(path1);
goto deb; goto deb;
} }
@ -732,18 +726,37 @@ int config_read_file (const char *path)
char line[80]; char line[80];
if ((fp = fopen(path, "r")) == NULL) return 0; 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) while (fgets(line, sizeof(line), fp) != NULL)
parse_line (line); parse_line (line);
fclose (fp); 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; return 1;
} }
void save_config () 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; char *path, *dir;
FILE *fp; FILE *fp;
@ -789,9 +802,9 @@ void save_config ()
if (panel_position & LEFT) fputs(" left\n", fp); if (panel_position & LEFT) fputs(" left\n", fp);
else if (panel_position & RIGHT) fputs(" right\n", fp); else if (panel_position & RIGHT) fputs(" right\n", fp);
else fputs(" center\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_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); fprintf(fp, "font_shadow = %d\n", panel_config->g_task.font_shadow);
fputs("panel_background_id = 1\n", fp); fputs("panel_background_id = 1\n", fp);

View file

@ -115,6 +115,7 @@ void init_panel()
else { else {
p->posy = server.monitor[p->monitor].y + server.monitor[p->monitor].height - p->area.height - p->marginy; 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 // Catch some events
XSetWindowAttributes att = { ParentRelative, 0L, 0, 0L, 0, 0, Always, 0L, 0L, False, ExposureMask|ButtonPressMask|ButtonReleaseMask, NoEventMask, False, 0, 0 }; XSetWindowAttributes att = { ParentRelative, 0L, 0, 0L, 0, 0, Always, 0L, 0L, False, ExposureMask|ButtonPressMask|ButtonReleaseMask, NoEventMask, False, 0, 0 };

View file

@ -141,6 +141,11 @@ void event_button_press (XEvent *e)
// forward the click to the desktop window (thanks conky) // forward the click to the desktop window (thanks conky)
XUngrabPointer(server.dsp, e->xbutton.time); XUngrabPointer(server.dsp, e->xbutton.time);
e->xbutton.window = server.root_win; 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); XSetInputFocus(server.dsp, e->xbutton.window, RevertToParent, e->xbutton.time);
XSendEvent(server.dsp, e->xbutton.window, False, ButtonPressMask, e); XSendEvent(server.dsp, e->xbutton.window, False, ButtonPressMask, e);
return; return;
@ -507,7 +512,6 @@ void event_timer()
if (abs(stv.tv_sec - time_clock.tv_sec) < time_precision) return; if (abs(stv.tv_sec - time_clock.tv_sec) < time_precision) return;
time_clock.tv_sec = stv.tv_sec; time_clock.tv_sec = stv.tv_sec;
time_clock.tv_sec -= time_clock.tv_sec % time_precision; time_clock.tv_sec -= time_clock.tv_sec % time_precision;
printf("event_timer %d\n", time_precision);
// urgent task // urgent task
if (task_urgent) { if (task_urgent) {