fixed issue 45, segfault without clock
git-svn-id: http://tint2.googlecode.com/svn/trunk@55 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
parent
283a7fe289
commit
0139382514
8 changed files with 17 additions and 24 deletions
|
@ -1,6 +1,6 @@
|
||||||
CFLAGS= -O2
|
CFLAGS= -O2
|
||||||
CC = gcc
|
CC = gcc
|
||||||
FLAGS=-W -g `pkg-config --cflags --libs cairo pangocairo x11 xinerama imlib2 glib-2.0`
|
FLAGS=-Wall -g `pkg-config --cflags --libs cairo pangocairo x11 xinerama imlib2 glib-2.0`
|
||||||
PROGNAME=tint2
|
PROGNAME=tint2
|
||||||
FILES=tint.c server.c panel.c config.c taskbar/task.c taskbar/taskbar.c clock/clock.c systray/systraybar.c util/window.c util/area.c
|
FILES=tint.c server.c panel.c config.c taskbar/task.c taskbar/taskbar.c clock/clock.c systray/systraybar.c util/window.c util/area.c
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ endif
|
||||||
|
|
||||||
$(PROGNAME): $(FILES) $(SYSTRAYOBJ)
|
$(PROGNAME): $(FILES) $(SYSTRAYOBJ)
|
||||||
$(CC) $(CFLAGS) -I. -Iutil -Iclock -Itaskbar -Isystray -o $(PROGNAME) $(FILES) $(FLAGS)
|
$(CC) $(CFLAGS) -I. -Iutil -Iclock -Itaskbar -Isystray -o $(PROGNAME) $(FILES) $(FLAGS)
|
||||||
strip $(PROGNAME)
|
#strip $(PROGNAME)
|
||||||
|
|
||||||
install:
|
install:
|
||||||
mkdir -p $(BINDIR)
|
mkdir -p $(BINDIR)
|
||||||
|
|
|
@ -48,12 +48,10 @@ void init_clock(Clock *clock, Area *parent)
|
||||||
|
|
||||||
clock->area.parent = parent;
|
clock->area.parent = parent;
|
||||||
clock->area.panel = panel;
|
clock->area.panel = panel;
|
||||||
clock->area._draw_foreground = draw_foreground_clock;
|
|
||||||
clock->area._resize = resize_clock;
|
|
||||||
if (!time1_format) return;
|
if (!time1_format) return;
|
||||||
|
|
||||||
// add clock to the panel
|
clock->area._draw_foreground = draw_foreground_clock;
|
||||||
panel->area.list = g_slist_append(panel->area.list, clock);
|
clock->area._resize = resize_clock;
|
||||||
|
|
||||||
if (strchr(time1_format, 'S') == NULL) time_precision = 60;
|
if (strchr(time1_format, 'S') == NULL) time_precision = 60;
|
||||||
else time_precision = 1;
|
else time_precision = 1;
|
||||||
|
|
|
@ -573,6 +573,7 @@ void config_finish ()
|
||||||
// force the resize
|
// force the resize
|
||||||
for (i=0 ; i < nb_panel ; i++) {
|
for (i=0 ; i < nb_panel ; i++) {
|
||||||
panel1[i].area.resize = 1;
|
panel1[i].area.resize = 1;
|
||||||
|
if (time1_format)
|
||||||
resize_clock(&panel1[i].clock);
|
resize_clock(&panel1[i].clock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
15
src/panel.c
15
src/panel.c
|
@ -66,6 +66,12 @@ void init_panel()
|
||||||
p->g_taskbar.panel = p;
|
p->g_taskbar.panel = p;
|
||||||
p->g_task.area.panel = p;
|
p->g_task.area.panel = p;
|
||||||
|
|
||||||
|
// add childs
|
||||||
|
if (time1_format)
|
||||||
|
p->area.list = g_slist_append(p->area.list, &p->clock);
|
||||||
|
//panel->area.list = g_slist_append(panel->area.list, &panel->trayer);
|
||||||
|
|
||||||
|
// detect panel size
|
||||||
if (p->pourcentx)
|
if (p->pourcentx)
|
||||||
p->area.width = (float)server.monitor[p->monitor].width * p->initial_width / 100;
|
p->area.width = (float)server.monitor[p->monitor].width * p->initial_width / 100;
|
||||||
else
|
else
|
||||||
|
@ -75,7 +81,6 @@ void init_panel()
|
||||||
else
|
else
|
||||||
p->area.height = p->initial_height;
|
p->area.height = p->initial_height;
|
||||||
|
|
||||||
|
|
||||||
// full width mode
|
// full width mode
|
||||||
if (!p->area.width)
|
if (!p->area.width)
|
||||||
p->area.width = server.monitor[p->monitor].width;
|
p->area.width = server.monitor[p->monitor].width;
|
||||||
|
@ -139,12 +144,6 @@ void cleanup_panel()
|
||||||
for (i=0 ; i < nb_panel ; i++) {
|
for (i=0 ; i < nb_panel ; i++) {
|
||||||
p = &panel1[i];
|
p = &panel1[i];
|
||||||
|
|
||||||
// freed list of visible objects
|
|
||||||
if (p->list_visible) {
|
|
||||||
g_slist_free(p->list_visible);
|
|
||||||
p->list_visible = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
free_area(&p->area);
|
free_area(&p->area);
|
||||||
free_area(&p->g_task.area);
|
free_area(&p->g_task.area);
|
||||||
free_area(&p->g_taskbar);
|
free_area(&p->g_taskbar);
|
||||||
|
@ -220,8 +219,6 @@ void visible_object()
|
||||||
else
|
else
|
||||||
panel->clock.area.visible = 0;
|
panel->clock.area.visible = 0;
|
||||||
|
|
||||||
//panel->area.list = g_slist_append(panel->area.list, &panel->trayer);
|
|
||||||
|
|
||||||
Taskbar *taskbar;
|
Taskbar *taskbar;
|
||||||
for (j=0 ; j < panel->nb_desktop ; j++) {
|
for (j=0 ; j < panel->nb_desktop ; j++) {
|
||||||
taskbar = &panel->taskbar[j];
|
taskbar = &panel->taskbar[j];
|
||||||
|
|
|
@ -49,9 +49,6 @@ typedef struct {
|
||||||
// area.list own all objects of the panel according to config file
|
// area.list own all objects of the panel according to config file
|
||||||
Area area;
|
Area area;
|
||||||
|
|
||||||
// list of visible objects
|
|
||||||
GSList *list_visible;
|
|
||||||
|
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
// panel
|
// panel
|
||||||
Window main_win;
|
Window main_win;
|
||||||
|
|
BIN
src/tint2
BIN
src/tint2
Binary file not shown.
2
tintrc01
2
tintrc01
|
@ -25,7 +25,7 @@ border_color = #ffffff 70
|
||||||
#---------------------------------------------
|
#---------------------------------------------
|
||||||
panel_monitor = all
|
panel_monitor = all
|
||||||
panel_position = bottom center
|
panel_position = bottom center
|
||||||
panel_size = 90% 28
|
panel_size = 88% 28
|
||||||
panel_margin = 0 0
|
panel_margin = 0 0
|
||||||
panel_padding = 7 0
|
panel_padding = 7 0
|
||||||
font_shadow = 0
|
font_shadow = 0
|
||||||
|
|
8
tintrc03
8
tintrc03
|
@ -25,14 +25,14 @@ panel_size = 100% 30
|
||||||
panel_margin = 0 0
|
panel_margin = 0 0
|
||||||
panel_padding = 6 0 6
|
panel_padding = 6 0 6
|
||||||
font_shadow = 0
|
font_shadow = 0
|
||||||
panel_background_id = 1
|
panel_background_id = 0
|
||||||
|
|
||||||
#---------------------------------------------
|
#---------------------------------------------
|
||||||
# TASKBAR
|
# TASKBAR
|
||||||
#---------------------------------------------
|
#---------------------------------------------
|
||||||
taskbar_mode = multi_desktop
|
taskbar_mode = multi_desktop
|
||||||
taskbar_padding = 8 0 0
|
taskbar_padding = 8 0 0
|
||||||
taskbar_background_id = 0
|
taskbar_background_id = 1
|
||||||
|
|
||||||
#---------------------------------------------
|
#---------------------------------------------
|
||||||
# TASKS
|
# TASKS
|
||||||
|
@ -51,13 +51,13 @@ task_active_background_id = 2
|
||||||
#---------------------------------------------
|
#---------------------------------------------
|
||||||
# CLOCK
|
# CLOCK
|
||||||
#---------------------------------------------
|
#---------------------------------------------
|
||||||
time1_format = %A %d %H:%M
|
#time1_format = %A %d %H:%M
|
||||||
time1_font = Dejavu sans 10
|
time1_font = Dejavu sans 10
|
||||||
#time2_format = %A %d %B
|
#time2_format = %A %d %B
|
||||||
time2_font = sans 7
|
time2_font = sans 7
|
||||||
clock_font_color = #000000 80
|
clock_font_color = #000000 80
|
||||||
clock_padding = 8 0
|
clock_padding = 8 0
|
||||||
clock_background_id = 0
|
clock_background_id = 1
|
||||||
|
|
||||||
#---------------------------------------------
|
#---------------------------------------------
|
||||||
# MOUSE ACTION ON TASK
|
# MOUSE ACTION ON TASK
|
||||||
|
|
Loading…
Reference in a new issue