many fixed for SIGUSR1 signal
git-svn-id: http://tint2.googlecode.com/svn/trunk@244 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
25
src/config.c
25
src/config.c
@@ -56,10 +56,8 @@ char *thumbnail_path = 0;
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
// backward compatibility
|
// backward compatibility
|
||||||
static int old_task_icon_size;
|
static int old_task_icon_size;
|
||||||
static char *old_task_font;
|
static Area *area_task;
|
||||||
static char *old_time1_font;
|
static Area *area_task_active;
|
||||||
static char *old_time2_font;
|
|
||||||
static Area *area_task, *area_task_active;
|
|
||||||
|
|
||||||
|
|
||||||
// temporary list of background
|
// temporary list of background
|
||||||
@@ -79,6 +77,9 @@ void init_config()
|
|||||||
cleanup_tooltip();
|
cleanup_tooltip();
|
||||||
|
|
||||||
// panel's default value
|
// panel's default value
|
||||||
|
if (panel_config.g_task.font_desc) {
|
||||||
|
pango_font_description_free(panel_config.g_task.font_desc);
|
||||||
|
}
|
||||||
memset(&panel_config, 0, sizeof(Panel));
|
memset(&panel_config, 0, sizeof(Panel));
|
||||||
panel_config.g_task.alpha = 100;
|
panel_config.g_task.alpha = 100;
|
||||||
panel_config.g_task.alpha_active = 100;
|
panel_config.g_task.alpha_active = 100;
|
||||||
@@ -645,7 +646,6 @@ int config_read ()
|
|||||||
g_free(path1);
|
g_free(path1);
|
||||||
|
|
||||||
// copy tint2rc from system directory to user directory
|
// copy tint2rc from system directory to user directory
|
||||||
g_free(path1);
|
|
||||||
char *path2 = 0;
|
char *path2 = 0;
|
||||||
system_dirs = g_get_system_config_dirs();
|
system_dirs = g_get_system_config_dirs();
|
||||||
for (i = 0; system_dirs[i]; i++) {
|
for (i = 0; system_dirs[i]; i++) {
|
||||||
@@ -682,9 +682,6 @@ int config_read_file (const char *path)
|
|||||||
char *key, *value;
|
char *key, *value;
|
||||||
|
|
||||||
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) {
|
||||||
if (parse_line(line, &key, &value)) {
|
if (parse_line(line, &key, &value)) {
|
||||||
@@ -698,18 +695,6 @@ int config_read_file (const char *path)
|
|||||||
if (old_task_icon_size) {
|
if (old_task_icon_size) {
|
||||||
panel_config.g_task.area.paddingy = ((int)panel_config.area.height - (2 * panel_config.area.paddingy) - old_task_icon_size) / 2;
|
panel_config.g_task.area.paddingy = ((int)panel_config.area.height - (2 * panel_config.area.paddingy) - old_task_icon_size) / 2;
|
||||||
}
|
}
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,6 @@ void init_panel()
|
|||||||
if (g_tooltip.enabled)
|
if (g_tooltip.enabled)
|
||||||
event_mask |= PointerMotionMask|LeaveWindowMask;
|
event_mask |= PointerMotionMask|LeaveWindowMask;
|
||||||
XSetWindowAttributes att = { ParentRelative, 0L, 0, 0L, 0, 0, Always, 0L, 0L, False, event_mask, NoEventMask, False, 0, 0 };
|
XSetWindowAttributes att = { ParentRelative, 0L, 0, 0L, 0, 0, Always, 0L, 0L, False, event_mask, NoEventMask, False, 0, 0 };
|
||||||
if (p->main_win) XDestroyWindow(server.dsp, p->main_win);
|
|
||||||
p->main_win = XCreateWindow(server.dsp, server.root_win, p->posx, p->posy, p->area.width, p->area.height, 0, server.depth, InputOutput, CopyFromParent, CWEventMask, &att);
|
p->main_win = XCreateWindow(server.dsp, server.root_win, p->posx, p->posy, p->area.width, p->area.height, 0, server.depth, InputOutput, CopyFromParent, CWEventMask, &att);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -243,12 +242,6 @@ void cleanup_panel()
|
|||||||
task_urgent = 0;
|
task_urgent = 0;
|
||||||
cleanup_taskbar();
|
cleanup_taskbar();
|
||||||
|
|
||||||
// font allocated once
|
|
||||||
if (panel1[0].g_task.font_desc) {
|
|
||||||
pango_font_description_free(panel1[0].g_task.font_desc);
|
|
||||||
panel1[0].g_task.font_desc = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
Panel *p;
|
Panel *p;
|
||||||
for (i=0 ; i < nb_panel ; i++) {
|
for (i=0 ; i < nb_panel ; i++) {
|
||||||
|
|||||||
@@ -379,7 +379,6 @@ void remove_icon(TrayWindow *traywin)
|
|||||||
|
|
||||||
// remove from our list
|
// remove from our list
|
||||||
systray.list_icons = g_slist_remove(systray.list_icons, traywin);
|
systray.list_icons = g_slist_remove(systray.list_icons, traywin);
|
||||||
g_free(traywin);
|
|
||||||
systray.area.resize = 1;
|
systray.area.resize = 1;
|
||||||
systray.area.redraw = 1;
|
systray.area.redraw = 1;
|
||||||
//printf("remove_icon id %lx, %d\n", traywin->id);
|
//printf("remove_icon id %lx, %d\n", traywin->id);
|
||||||
@@ -394,6 +393,7 @@ void remove_icon(TrayWindow *traywin)
|
|||||||
XReparentWindow(server.dsp, traywin->id, server.root_win, 0, 0);
|
XReparentWindow(server.dsp, traywin->id, server.root_win, 0, 0);
|
||||||
XSync(server.dsp, False);
|
XSync(server.dsp, False);
|
||||||
XSetErrorHandler(old);
|
XSetErrorHandler(old);
|
||||||
|
g_free(traywin);
|
||||||
|
|
||||||
// changed in systray force resize on panel
|
// changed in systray force resize on panel
|
||||||
Panel *panel = systray.area.panel;
|
Panel *panel = systray.area.panel;
|
||||||
|
|||||||
@@ -121,8 +121,6 @@ void cleanup_taskbar()
|
|||||||
GSList *l0;
|
GSList *l0;
|
||||||
Task *tsk;
|
Task *tsk;
|
||||||
|
|
||||||
if (panel_config.g_task.font_desc)
|
|
||||||
pango_font_description_free(panel_config.g_task.font_desc);
|
|
||||||
for (i=0 ; i < nb_panel ; i++) {
|
for (i=0 ; i < nb_panel ; i++) {
|
||||||
panel = &panel1[i];
|
panel = &panel1[i];
|
||||||
|
|
||||||
|
|||||||
@@ -587,7 +587,10 @@ void event_configure_notify (Window win)
|
|||||||
// change in root window (xrandr)
|
// change in root window (xrandr)
|
||||||
if (win == server.root_win) {
|
if (win == server.root_win) {
|
||||||
get_monitors();
|
get_monitors();
|
||||||
|
init_config();
|
||||||
|
config_read_file (config_path);
|
||||||
init_panel();
|
init_panel();
|
||||||
|
cleanup_config();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -750,6 +753,7 @@ int main (int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MotionNotify: {
|
case MotionNotify: {
|
||||||
|
if (!g_tooltip.enabled) break;
|
||||||
Panel* panel = get_panel(e.xmotion.window);
|
Panel* panel = get_panel(e.xmotion.window);
|
||||||
Task* task = click_task(panel, e.xmotion.x, e.xmotion.y);
|
Task* task = click_task(panel, e.xmotion.x, e.xmotion.y);
|
||||||
if (task)
|
if (task)
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ void cleanup_tooltip()
|
|||||||
{
|
{
|
||||||
tooltip_hide();
|
tooltip_hide();
|
||||||
g_tooltip.enabled = False;
|
g_tooltip.enabled = False;
|
||||||
|
g_tooltip.current_state = TOOLTIP_ABOUT_TO_HIDE;
|
||||||
if (g_tooltip.task) {
|
if (g_tooltip.task) {
|
||||||
alarm(0);
|
alarm(0);
|
||||||
g_tooltip.task = 0;
|
g_tooltip.task = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user