forked from virt-mirrors/wayneko
add option to set what neko is doing at startup
This commit is contained in:
parent
d3ce51a8ba
commit
5777bf2670
2 changed files with 32 additions and 0 deletions
|
@ -19,6 +19,7 @@ wayneko \- Neko on Wayland but with phases
|
||||||
.OP \-\-idle-sleep seconds
|
.OP \-\-idle-sleep seconds
|
||||||
.OP \-\-sleep-phase seconds-seconds
|
.OP \-\-sleep-phase seconds-seconds
|
||||||
.OP \-\-awake-phase seconds-seconds
|
.OP \-\-awake-phase seconds-seconds
|
||||||
|
.OP \-\-currently awake|asleep|random
|
||||||
.OP \-\-layer background|bottom|top|overlay
|
.OP \-\-layer background|bottom|top|overlay
|
||||||
.OP \-\-survive\-close
|
.OP \-\-survive\-close
|
||||||
.YS
|
.YS
|
||||||
|
@ -85,6 +86,12 @@ be drawn uniformly at random between the two values. Defaults to 450-1800.
|
||||||
.RE
|
.RE
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
|
\fB\-\-currently\fR \fBawake\fR|\fBasleep\fR|\fBrandom\fR
|
||||||
|
.RS
|
||||||
|
Set whether neko is currenly (at startup) awake or asleep.
|
||||||
|
.RE
|
||||||
|
.
|
||||||
|
.P
|
||||||
\fB\-\-layer\fR \fBbackground\fR|\fBbottom\fR|\fBtop\fR|\fBoverlay\fR
|
\fB\-\-layer\fR \fBbackground\fR|\fBbottom\fR|\fBtop\fR|\fBoverlay\fR
|
||||||
.RS
|
.RS
|
||||||
Set the layer for the surface.
|
Set the layer for the surface.
|
||||||
|
|
25
wayneko.c
25
wayneko.c
|
@ -35,6 +35,7 @@ const char usage[] =
|
||||||
" --idle-sleep seconds\n"
|
" --idle-sleep seconds\n"
|
||||||
" --sleep-phase seconds-seconds\n"
|
" --sleep-phase seconds-seconds\n"
|
||||||
" --awake-phase seconds-seconds\n"
|
" --awake-phase seconds-seconds\n"
|
||||||
|
" --currently awake|asleep|random\n"
|
||||||
" --layer background|bottom|top|overlay\n"
|
" --layer background|bottom|top|overlay\n"
|
||||||
" --survive-close\n"
|
" --survive-close\n"
|
||||||
"\n";
|
"\n";
|
||||||
|
@ -1440,6 +1441,7 @@ int main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char* a = get_argument(argc, argv, &i);
|
char* a = get_argument(argc, argv, &i);
|
||||||
char* b = a;
|
char* b = a;
|
||||||
|
if (a == NULL) return EXIT_FAILURE;
|
||||||
|
|
||||||
while (*b != '-' && *b != 0) b++;
|
while (*b != '-' && *b != 0) b++;
|
||||||
if (*b == 0) {
|
if (*b == 0) {
|
||||||
|
@ -1463,6 +1465,7 @@ int main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char* a = get_argument(argc, argv, &i);
|
char* a = get_argument(argc, argv, &i);
|
||||||
char* b = a;
|
char* b = a;
|
||||||
|
if (a == NULL) return EXIT_FAILURE;
|
||||||
|
|
||||||
while (*b != '-' && *b != 0) b++;
|
while (*b != '-' && *b != 0) b++;
|
||||||
if (*b == 0) {
|
if (*b == 0) {
|
||||||
|
@ -1482,6 +1485,28 @@ int main (int argc, char *argv[])
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( strcmp(argv[i], "--currently") == 0 )
|
||||||
|
{
|
||||||
|
const char *t = get_argument(argc, argv, &i);
|
||||||
|
if ( t == NULL )
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
|
/* yes, the phases are swapped because the first thing that will happen is a phase change */
|
||||||
|
if ( strcmp(t, "awake") == 0 )
|
||||||
|
current_phase = PHASE_SLEEP;
|
||||||
|
else if ( strcmp(t, "asleep") == 0 )
|
||||||
|
current_phase = PHASE_AWAKE;
|
||||||
|
else if ( strcmp(t, "random") == 0 )
|
||||||
|
current_phase = rand() % 2 == 0 ? PHASE_SLEEP : PHASE_AWAKE;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fprintf(stderr, "ERROR: Unknown argument '%s' for flag '--currently'.\n", t);
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (current_phase == PHASE_AWAKE)
|
||||||
|
current_neko = NEKO_SLEEP_1;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf(stderr, "ERROR: Unknown option: %s\n", argv[i]);
|
fprintf(stderr, "ERROR: Unknown option: %s\n", argv[i]);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue