all repos — tint2 @ a3f33be8aec0dd91992a2aea2d5263ccea8788a0

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

*fix* ignore SIGCHLD in way that BSD and linux support
*fix* default background id 0 for panel if not specified in the config file



git-svn-id: http://tint2.googlecode.com/svn/trunk@517 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
Andreas.Fink85 Andreas.Fink85@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
commit

a3f33be8aec0dd91992a2aea2d5263ccea8788a0

parent

c13397aff6cb802a480a93a88a34a9226d2dfe43

2 files changed, 4 insertions(+), 1 deletions(-)

jump to
M src/panel.csrc/panel.c

@@ -156,6 +156,8 @@ p = &panel1[i];

if (panel_config.monitor < 0) p->monitor = i; + if ( p->area.bg == 0 ) + p->area.bg = &g_array_index(backgrounds, Background, 0); p->area.parent = p; p->area.panel = p; p->area.on_screen = 1;
M src/tint.csrc/tint.c

@@ -91,11 +91,12 @@ }

// Set signal handler signal_pending = 0; struct sigaction sa = { .sa_handler = signal_handler }; + struct sigaction sa_chld = { .sa_handler = SIG_DFL, .sa_flags = SA_NOCLDWAIT }; sigaction(SIGUSR1, &sa, 0); sigaction(SIGINT, &sa, 0); sigaction(SIGTERM, &sa, 0); sigaction(SIGHUP, &sa, 0); -// signal(SIGCHLD, SIG_IGN); // don't have to wait() after fork() + sigaction(SIGCHLD, &sa_chld, 0); // BSD does not support pselect(), therefore we have to use select and hope that we do not // end up in a race condition there (see 'man select()' on a linux machine for more information)