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 */
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);

View file

@ -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 };

View file

@ -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) {