summaryrefslogtreecommitdiff
path: root/src/wlclock.c
diff options
context:
space:
mode:
authorLeon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>2020-09-26 07:02:34 +0200
committerLeon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>2020-09-26 07:02:34 +0200
commit6f5b697c3c9d0fbbba0f7aaf158c2da2ea48dcb2 (patch)
treee9fa64bc599724a2b6b69c18426bed54130536b7 /src/wlclock.c
parent3282c8faff80a1694621d7ce2d60cc04a266eabc (diff)
downloadwlclock-6f5b697c3c9d0fbbba0f7aaf158c2da2ea48dcb2.tar.gz
wlclock-6f5b697c3c9d0fbbba0f7aaf158c2da2ea48dcb2.tar.bz2
`--position` instead of `--anchor`
Diffstat (limited to '')
-rw-r--r--src/wlclock.c61
1 files changed, 39 insertions, 22 deletions
diff --git a/src/wlclock.c b/src/wlclock.c
index c3ad2a4..affb641 100644
--- a/src/wlclock.c
+++ b/src/wlclock.c
@@ -177,22 +177,22 @@ static bool handle_command_flags (struct Wlclock *clock, int argc, char *argv[])
{
enum
{
- ANCHOR,
BACKGROUND_COLOUR,
BORDER_COLOUR,
BORDER_SIZE,
CLOCK_COLOUR,
CLOCK_FACE_SIZE,
+ CORNER_RADIUS,
EXCLUSIVE_ZONE,
+ HAND_STYLE,
LAYER,
MARGIN,
NAMEPSACE,
NO_INPUT,
- SNAP,
OUTPUT,
- CORNER_RADIUS,
+ POSITION,
SIZE,
- HAND_STYLE
+ SNAP
};
static struct option opts[] = {
@@ -200,22 +200,22 @@ static bool handle_command_flags (struct Wlclock *clock, int argc, char *argv[])
{"verbose", no_argument, NULL, 'v'},
{"version", no_argument, NULL, 'V'},
- {"anchor", required_argument, NULL, ANCHOR},
{"background-colour", required_argument, NULL, BACKGROUND_COLOUR},
{"border-colour", required_argument, NULL, BORDER_COLOUR},
{"border-size", required_argument, NULL, BORDER_SIZE},
{"clock-colour", required_argument, NULL, CLOCK_COLOUR},
{"clock-face-size", required_argument, NULL, CLOCK_FACE_SIZE},
+ {"corner-radius", required_argument, NULL, CORNER_RADIUS},
{"exclusive-zone", required_argument, NULL, EXCLUSIVE_ZONE},
+ {"hand-style", required_argument, NULL, HAND_STYLE},
{"layer", required_argument, NULL, LAYER},
{"margin", required_argument, NULL, MARGIN},
{"namespace", required_argument, NULL, NAMEPSACE},
{"no-input", no_argument, NULL, NO_INPUT},
- {"snap", no_argument, NULL, SNAP},
{"output", required_argument, NULL, OUTPUT},
- {"corner-radius", required_argument, NULL, CORNER_RADIUS},
+ {"position", required_argument, NULL, POSITION},
{"size", required_argument, NULL, SIZE},
- {"hand-style", required_argument, NULL, HAND_STYLE}
+ {"snap", no_argument, NULL, SNAP}
};
const char *usage =
@@ -224,7 +224,6 @@ static bool handle_command_flags (struct Wlclock *clock, int argc, char *argv[])
" -h, --help Show this help text.\n"
" -v, --verbose Increase verbosity of output.\n"
" -V, --version Show the version.\n"
- " --anchor Set the layer shell anchors.\n"
" --background-colour Background colour.\n"
" --border-colour Border colour.\n"
" --border-size Size of the border.\n"
@@ -238,6 +237,7 @@ static bool handle_command_flags (struct Wlclock *clock, int argc, char *argv[])
" --namespace Namespace of the layer surface.\n"
" --no-input Let inputs surface pass trough the layer surface.\n"
" --output The output which the clock will be displayed.\n"
+ " --position Set the position of the clock.\n"
" --size Size of the clock.\n"
" --snap Let the hour hand snap to the next position instead of slowly progressing.\n"
"\n";
@@ -261,22 +261,39 @@ static bool handle_command_flags (struct Wlclock *clock, int argc, char *argv[])
clock->ret = EXIT_SUCCESS;
return false;
- case ANCHOR:
- args = count_args(optind, argc, argv);
- if ( args != 4 )
+ case POSITION:
+ if (! strcmp(optarg, "center"))
+ clock->anchor = 0;
+ else if (! strcmp(optarg, "top"))
+ clock->anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP;
+ else if (! strcmp(optarg, "right"))
+ clock->anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT;
+ else if (! strcmp(optarg, "bottom"))
+ clock->anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM;
+ else if (! strcmp(optarg, "left"))
+ clock->anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT;
+ else if (! strcmp(optarg, "top-left"))
+ clock->anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP
+ | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT;
+ else if (! strcmp(optarg, "top-right"))
+ clock->anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP
+ | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT;
+ else if (! strcmp(optarg, "bottom-left"))
+ clock->anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM
+ | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT;
+ else if (! strcmp(optarg, "bottom-right"))
+ clock->anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM
+ | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT;
+ else
{
- clocklog(NULL, 0, "ERROR: Anchor configuration requires four arguments.\n");
+ clocklog(NULL, 0, "ERROR: Unrecognized position \"%s\".\n"
+ "INFO: Possible positisions are 'center', "
+ "'top', 'right', 'bottom', 'left', "
+ "'top-right', 'top-left', 'bottom-right', 'bottom-left'.\n",
+ optarg);
return false;
}
- if (is_boolean_true(argv[optind-1]))
- clock->anchor |= ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP;
- if (is_boolean_true(argv[optind]))
- clock->anchor |= ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT;
- if (is_boolean_true(argv[optind+1]))
- clock->anchor |= ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM;
- if (is_boolean_true(argv[optind+2]))
- clock->anchor |= ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT;
- optind += 3; /* Tell getopt() to skip three argv fields. */
+ break;
break;
case BACKGROUND_COLOUR: