Commit graph

91 commits

Author SHA1 Message Date
Dave Davenport
0f21541327 [Configuration] Add start of more 'theme' based configuration.
Nested CSS blocks in configuration {} are parsed into
rofi_configuration.
2021-06-14 19:29:05 +02:00
Dave Davenport
828aaa231a [Theme] Add angle support to linear-gradient. 2021-06-14 16:04:15 +02:00
Dave Davenport
5c5428bd11 [Theme] Add direction support to linear-gradient. 2021-06-14 15:14:41 +02:00
Dave Davenport
7cf0385681 [Theme] Support multiple stops in linear-gradient
* Fix anchor dumping
* Fix image dumping
2021-06-13 22:57:35 +02:00
Dave Davenport
2c325b3f09 [Widget] Add initial support for background-image.
* Supports url("path") and linear-gradient(start,stop).
2021-06-13 20:50:25 +02:00
Dave Davenport
eb602b34fa [DSL] Move theme reset into the grammer parser and out of lexer. 2021-06-09 02:03:29 +02:00
TonCherAmi
dc28a97437
Add cursor property (#1313)
* Change mouse cursor on widget hover

Currently only listview element and editbox are supported.

* Add cursor property
2021-05-23 00:17:27 +02:00
Dave Davenport
7c331b130b [Calc] Add min/max operator support to calc()
Fixes: #1172
2020-09-14 20:34:39 +02:00
Dave Davenport
3499e1dad0 [Theme] First attempt at more cleanups and nested media support.
First throw at nested media support.

Issue: #1189
2020-09-13 15:11:12 +02:00
Dave Davenport
1d2453a948 [Parser] Small restructure in parser.
Preparing for nested @media.
2020-09-13 14:15:33 +02:00
nick87720z
fb2ba8ada3
Millimeter support for distance (#1144) 2020-06-09 22:19:43 +02:00
Jason Kim
a4c5a92199
Support rasi config character type options (#1131)
* style: remove extra space

* feat: handle xrm_Char in config parser

Handle the `xrm_Char` case in the (rasi theme) config file parser.  This
should properly handle configuration like

```
matching-negate-char: "\0";
```

and

```
matching-negate-char: "-";
```

* refactor: don't handle mem in xrm_Char case

`mem` shouldn't ever be set when `XrmOption` is `type` `xrm_Char`.
Therefore, there is no need to check it and free it.  Remove that logic.

* refactor: further condense logic

* style: s/Everythin/Everything/

* style: s/parsing an section/parsing a section/

...and missing period.

* feat(lexer): add CHAR token

Add a `CHAR` token that takes things of the form `'<char>'` or some
specific backslash escape sequences like `'\''` and `'\0'`.  For now,
save it as a `T_STRING`.

* refactor: define char property type

* feat(parser): add cval and T_CHAR

* refactor: use char property for xrm_Char

Instead of using strings for property elements of type char, use
characters, which were recently added to the grammar.
2020-05-17 14:50:38 +02:00
Dave Davenport
9a3d4b1d2e [Test] Fix compiler warning, theme test (bug in lexer) and more. 2020-04-26 11:43:14 +02:00
Dave Davenport
151547a99e
[Themes] add calc() support to distance in theme format. (#1105)
* Initial test to allow math in distances.

Support + and -
Needs spaces around + and -.

* [THEME] Fix printing theme with math in distance.

* [Theme] use calc() syntax.

* [Theme] Add * and /  to calc().

* [Theme] Fix the precedense ordering in parsing. Also avoid making copies.

* [Theme] Don't print unneeded ().

* [Theme] Add modulo to calc.
2020-04-24 19:54:08 +02:00
Dave Davenport
7c613f6a4c
Issue893: Add support for @media in the theme format. (#1015)
* [Lexer] Add support for @media.

Issue: #893

* [Theme] @media limit to px.

* [Theme@Media] add *{} support.

* [Theme@Media] Add support for monitor-id media.

* [Theme@Media] Code cleanup.

* [Theme@Media] Add min/max-aspect-ratio.

* [Theme@Media] Remove some debug output

Fixes: #893
2019-09-20 15:05:36 +02:00
Quentin Glidic
7416f344a3
Use g_list_free_full()
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2019-04-19 10:00:58 +02:00
Dave Davenport
e17d63f5ae [Lexer] Fix nested () in variable default field.
- var ( a, rgba(0,0,0,0)) was broke

Fixes: #936
2019-03-21 10:33:50 +01:00
Dave Davenport
40da1b25e2 [Theme3.0] Change reference to use the CSS like var() syntax.
Supports defaults var(name, default); var(name);
Where default can be another property.
(https://www.w3schools.com/css/css3_variables.asp)

This deprecates the @name syntax.

Fixes: #876
2019-01-29 17:56:45 +01:00
Dave Davenport
0dfc671bcc [GrammarParser] Fix memory leak of Property after parsing config entry. 2019-01-29 07:32:07 +01:00
Dave Davenport
0058088962 [Lexer] Remove Ambiguity in parser on empty input. 2018-07-21 18:43:03 +02:00
Dave Davenport
06165f867a [Lexer] Only allow configuration blocks before theme. 2018-07-15 11:04:47 +02:00
Dave Davenport
02baaf4df4 [Lexer] Make not finding a configuration option a warning, not an error. 2018-04-28 15:29:17 +02:00
Edward Betts
79adae77d7 Correct spelling mistakes. (#722) 2017-11-23 18:41:52 +01:00
Dave Davenport
ad877bb2e6 [ThemeParser] Give a more detailed error when only 7 elements are specified in argb syntax. 2017-10-30 17:07:13 +01:00
Dave Davenport
847d2e82a0 [Lexer/Parser] Make the '#' before element optional. 2017-10-22 12:42:33 +02:00
Dave Davenport
99f2a1a9bf Add @theme import command, that resets the current theme. 2017-09-18 17:48:13 +02:00
Dave Davenport
d4bf5ad020 Allow 0 in padding when passing more then 1 argument. 2017-09-07 08:43:00 +02:00
Dave Davenport
7c1ecb4707 Add support for multiple selectors. #dummy0, dummy1 {} 2017-09-06 23:11:03 +02:00
Dave Davenport
50998b8f04 Flatten hierarchy, don't inherit by default.
* add keyword inherit to language parser and theme structure.
2017-09-06 10:03:44 +02:00
Dave Davenport
ba296f9210 Add ch as size unit. 2017-09-05 13:52:21 +02:00
Dave Davenport
da00848416 Do better error reporting on configuration entries in rasi format. 2017-06-20 18:10:18 +02:00
Dave Davenport
32f67ab5a5 Add list property test, allow empty lists. 2017-06-14 08:18:59 +02:00
Dave Davenport
6e5e21b66d Initialize all fields in hsl_to_rgb conversion 2017-06-13 10:41:58 +02:00
Dave Davenport
3e46228074 Change Padding to RofiPadding 2017-06-02 16:44:16 +02:00
Dave Davenport
ea7d20d150 Change Orientation enum to RofiOrientation. 2017-06-02 16:34:52 +02:00
Dave Davenport
9915857a2e Change Distance struct to RofiDistance. 2017-06-02 16:25:47 +02:00
Dave Davenport
7352f1c2ba Change PixelWidth to RofiPixelUnit. 2017-06-02 16:21:05 +02:00
Dave Davenport
48bf1709b6 Rename HL_ to ROFI_HL_ and fix box test. 2017-06-02 16:09:20 +02:00
Dave Davenport
eec5c6eadc Add orientation property. 2017-06-02 14:05:19 +02:00
Dave Davenport
c23df70aeb Allow interface to be dynamically changed. 2017-05-25 23:41:15 +02:00
Dave Davenport
dca5caaa47 [Theme] Add small caps options (not working?) 2017-05-22 09:24:05 +02:00
Dave Davenport
72afc7b039 Add strikethrough highlight method. 2017-05-18 07:59:37 +02:00
Dave Davenport
41a7e06919 [Theme] Update theme-manpage 2017-05-17 08:24:28 +02:00
Dave Davenport
494550d38d [ThemeParser] Add CSS color names support
* [ThemeParser] Add css color names

* Add CSS color support (WIP)

* Parse color names in the lexer.

* Add test for css color names

* Indent and fix ordering
2017-05-15 22:46:33 +02:00
Dave Davenport
e397c346da [ThemeParser] Extend color formats.
- Support whitespace format.
 - Support deg,rad, grad, turn angle.
 - Add alpha channel support to hwb
2017-05-15 15:05:40 +02:00
Dave Davenport
f0ceeb86d8 [Lexer] Support hsla 2017-05-15 09:10:02 +02:00
Dave Davenport
94ee637102 [Parser] Fix HWB parser alpha channel and add test. 2017-05-13 22:51:10 +02:00
Dave Davenport
76244fedc0 Make property name rule consistent. 2017-05-11 18:25:38 +02:00
Dave Davenport
ed11c3265d Cleanup parser (document some rules) 2017-05-11 18:23:36 +02:00
Dave Davenport
aaea2b2c8a Add hsl and cmyk test, add extra error checking 2017-05-10 20:54:16 +02:00