Commit graph

114 commits

Author SHA1 Message Date
Dave Davenport
1b1aa37f20
#1802: Calc broken fix (#1803)
* [Theme] First move to double internal calculations.

* [Theme] Allow float numbers.

* [Theme] Fix unary - and tighten the grammar parser.

* [Theme] Rename % to modulo to fix compiler.

* [Theme] Dump right modulo syntax.

* [Test] add missing end_test

* [Grammar] Allow negative numbers as property value
2023-02-14 15:53:10 +01:00
Dave Davenport
727d7c579d Update copyright dates. 2023-01-14 13:02:35 +01:00
Dave Davenport
77af850200 [textbox] Implement text-transform add upper/lower/capitalize transform
fixes: #1010
2022-07-30 14:50:05 +02:00
Dave Davenport
386877dd22 [Theme] Add enabled property with env support. 2022-07-15 23:28:57 +02:00
Dave Davenport
f583641914 More cleanup of unused data. 2022-05-24 23:40:43 +02:00
Dave Davenport
141bd3d197 [Doc][Config] Update documentation for new fallback icon
* Allow multiple config be combined.
2022-05-12 19:52:35 +02:00
Dave Davenport
58a5b9d277 [Grammar] Fix parsing of calc as element name
issue: #1582
2022-02-01 16:35:44 +01:00
Dave Davenport
85c6545a43
Merge List and Array type into one. (#1572)
* Merge list and array into one.

* [Lexer] Only use string without " in list

* Some cleanups

* Cleanups based on feedback.
2022-01-25 09:57:59 +01:00
Dave Davenport
4bef336b9c What is in a name. 2022-01-24 20:33:19 +01:00
Dave Davenport
f9ea58f7c5 [Theme] Fix lexer for SET. 2022-01-24 19:49:16 +01:00
Dave Davenport
55b043bcfa [Theme] Add set type for testing.
Allows a set of properties, f.e.:
test: { "aap", "noot", "mies"}

or

tabs: { 1px, 10px, 1px, 3em }

Issue: #1571
2022-01-24 19:43:08 +01:00
Dave Davenport
b6ce41825c [#1569] Add initial round,floor,ceil function
a round b
 rounds a to the closest multiple off b

 a ceil b
 ceil a to the multiple off b

 a floor b
 floor a to the multiple off b

 Completely untested.
2022-01-18 11:01:56 +01:00
Dave Davenport
9b219afc5b [Config] Allow configuration block again in theme.
Avoid confusion/breakage.
2021-11-30 18:52:37 +01:00
Quentin Glidic
2ae7348df8
theme-parser: Include config.h
It avoids deprecation warnings wrt GLib.

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2021-10-28 06:30:59 +00:00
Dave Davenport
0e70d8a5c9 [Config] Add 'in your face' error message about deprecated theme setting.
Issue: #1468
2021-09-21 12:51:57 +02:00
Dave Davenport
562146730b
[THEME] I1442 Fix parsing of nested media blocks.
* [1442] Fix widget media nested
* [Theme] Fix memory leak in P_LIST
* [I1442] Support merging down default block.
2021-09-08 14:16:28 +02:00
Dave Davenport
294a22f3dd Fix some memory leaks. 2021-09-06 21:26:04 +02:00
Dave Davenport
68e79b66a9 [Grammar] Add support for env();
Add support for `env(ENV,default)`.

Fixes: #1411
2021-09-01 21:27:25 +02:00
Dave Davenport
d3cd5b3e43 [Lexer] Fix lexer parsing default theme from resource. 2021-08-24 21:37:57 +02:00
Dave Davenport
de69f5290e [Parser] Set ordering correctly when loading theme with reset. 2021-08-24 21:07:00 +02:00
a1346054
c62137f8ab
Simple maintenance improvements (#1370)
* rofi moved to libera.chat

* unify some theme headers and whitespace

* consistently use the same hashbang for bash

* improve obsolete way of testing equality

see https://github.com/koalaman/shellcheck/wiki/SC2268 for explanation

* use consistent function definitions in bash scripts

* remove duplicated author and fix whitespace

* quote all variables in scripts

fixes many warnings identified through shellcheck

* fix whitespace in scripts

* fix whitespace in non-source files

* fix spelling in non-source files

* fix whitespace and indentation in source files

* fix spelling in source files
2021-08-14 13:03:16 +02:00
Dave Davenport
b7dfb423a1 [Config] Small fix config dump fix. 2021-07-10 00:28:21 +02:00
Dave Davenport
4c1a74e15e [Widget] Add scaling option to background-image. 2021-06-15 17:18:34 +02:00
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