This commit is contained in:
Ujjwal Verma 2017-09-03 03:21:21 +05:30
parent 7826c87fae
commit 099ea746da

View File

@ -150,6 +150,7 @@ static void usage (void)
-o - Opacity value between 0 to 1 (ex: -o 0.20)\n \ -o - Opacity value between 0 to 1 (ex: -o 0.20)\n \
-sh - Shape of window (choose between rectangle, circle or triangle. Default is rectangle)\n \ -sh - Shape of window (choose between rectangle, circle or triangle. Default is rectangle)\n \
-ov - Set override_redirect flag (For seamless desktop background integration in non-fullscreenmode)\n \ -ov - Set override_redirect flag (For seamless desktop background integration in non-fullscreenmode)\n \
-d - Daemonize\n \
-debug - Enable debug messages\n"); -debug - Enable debug messages\n");
} }
@ -283,6 +284,7 @@ int main(int argc, char **argv)
bool above = false; bool above = false;
bool skip_taskbar = false; bool skip_taskbar = false;
bool skip_pager = false; bool skip_pager = false;
bool daemonize = false;
win_shape shape = SHAPE_RECT; win_shape shape = SHAPE_RECT;
Pixmap mask; Pixmap mask;
@ -366,6 +368,10 @@ int main(int argc, char **argv)
{ {
debug = true; debug = true;
} }
else if (strcmp (argv[i], "-d") == 0)
{
daemonize = true;
}
else if (strcmp (argv[i], "--") == 0) else if (strcmp (argv[i], "--") == 0)
{ {
break; break;
@ -377,6 +383,35 @@ int main(int argc, char **argv)
} }
} }
if (daemonize)
{
pid_t process_id = 0;
pid_t sid = 0;
process_id = fork();
if (process_id < 0)
{
fprintf(stderr, "fork failed!\n");
exit(1);
}
if (process_id > 0)
{
fprintf(stderr, "pid of child process %d \n", process_id);
exit(0);
}
umask(0);
sid = setsid();
if (sid < 0)
{
exit(1);
}
chdir("/");
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
}
for (i = i + 1; i < argc; i++) for (i = i + 1; i < argc; i++)
{ {
if (strcmp (argv[i], "WID") == 0) if (strcmp (argv[i], "WID") == 0)