summaryrefslogtreecommitdiffstats
path: root/lexer
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2017-01-06 19:04:25 +0100
committerDave Davenport <qball@gmpclient.org>2017-01-06 19:04:25 +0100
commit06c5f51e7dbaeee8723c3c2c8c753df37b860f85 (patch)
tree10b9c0fcceacaf55751f7cf5e3d7f629e2042c12 /lexer
parent8bc1831d172d17981449964e7f276096d94b28f1 (diff)
Allow to set anchor position on normitor and anchor position on window.
Diffstat (limited to 'lexer')
-rw-r--r--lexer/theme-lexer.l47
-rw-r--r--lexer/theme-parser.y6
2 files changed, 53 insertions, 0 deletions
diff --git a/lexer/theme-lexer.l b/lexer/theme-lexer.l
index 5ace2d2a..e5995e25 100644
--- a/lexer/theme-lexer.l
+++ b/lexer/theme-lexer.l
@@ -31,6 +31,12 @@ PX (px)
EM (em)
PERCENT (\%)
+CENTER "center"
+NORTH "north"
+SOUTH "south"
+EAST "east"
+WEST "west"
+
LS_DASH "dash"
LS_SOLID "solid"
@@ -213,6 +219,47 @@ if ( queue == NULL ){
yylval->colorval.alpha = 1.0;
return T_COLOR;
}
+
+<PROPERTIES>{CENTER} {
+ yylval->sval = WL_CENTER;
+ return T_POSITION;
+}
+<PROPERTIES>{EAST} {
+ yylval->sval = WL_EAST;
+ return T_POSITION;
+}
+<PROPERTIES>{WEST} {
+ yylval->sval = WL_WEST;
+ return T_POSITION;
+}
+<PROPERTIES>{SOUTH}{EAST} {
+ yylval->sval = WL_SOUTH_EAST;
+ return T_POSITION;
+}
+<PROPERTIES>{SOUTH}{WEST} {
+ yylval->sval = WL_SOUTH_WEST;
+ return T_POSITION;
+}
+<PROPERTIES>{SOUTH} {
+ yylval->sval = WL_SOUTH;
+ return T_POSITION;
+}
+<PROPERTIES>{NORTH}{EAST} {
+ yylval->sval = WL_NORTH_EAST;
+ return T_POSITION;
+}
+<PROPERTIES>{NORTH}{WEST} {
+ yylval->sval = WL_NORTH_WEST;
+ return T_POSITION;
+}
+<PROPERTIES>{NORTH} {
+ yylval->sval = WL_NORTH;
+ return T_POSITION;
+}
+<PROPERTIES>NORTH {
+ yylval->sval = WL_NORTH;
+ return T_POSITION;
+}
<INITIAL><<EOF>> {
g_queue_free ( queue );
yyterminate();
diff --git a/lexer/theme-parser.y b/lexer/theme-parser.y
index d520c299..81add24e 100644
--- a/lexer/theme-parser.y
+++ b/lexer/theme-parser.y
@@ -38,6 +38,7 @@ int yylex (YYSTYPE *, YYLTYPE *);
%token <fval> T_DOUBLE
%token <sval> T_STRING
%token <sval> N_STRING
+%token <sval> T_POSITION;
%token <sval> NAME_ELEMENT
%token <bval> T_BOOLEAN
%token <colorval> T_COLOR
@@ -177,6 +178,11 @@ property
$$->name = $1;
$$->value.padding = (Padding){ $3, $4, $5, $6 };
}
+| pvalue PSEP T_POSITION PCLOSE{
+ $$ = rofi_theme_property_create ( P_POSITION );
+ $$->name = $1;
+ $$->value.i = $3;
+}
;
pvalue: N_STRING { $$ = $1; }