Marty Oehme
199fbdae4d
Themes are structured in two parts: layout and colorschemes. Both can be set independently from each other. Layouts can make use of anchored color values (@background, @background-focus,.. look at colorscheme files for all available values). Colorscheme files then translate the values into actual colorcodes. That way, the colorscheme for all layouts can be changed with one setting, or independently of each other. Layouts try to specify some often used structures for rofi menus - right now there is a horizontal list and a fullscreen options selection (which can make use of icon fonts). Any global theme changes should be done in settings.rasi. Any global function changes can still be done in config.rasi. A rofi-powermenu has been added as an example of using the theming structure. The powermenu script loads rofi with the powermenu.rasi theme enabled. The powermenu theme loads the fullscreen options layout, which in turn loads the vertical list layout, which loads settings, which sets the correct colors. Idea and original structure from: https://gitlab.com/vahnrr/rofi-menus
40 lines
1.3 KiB
Text
40 lines
1.3 KiB
Text
/**
|
|
* Changing this file allows all other theme files to be affected since
|
|
* they all get their default settings from here.
|
|
* Idea cribbed from: https://gitlab.com/vahnrr/rofi-menus
|
|
*
|
|
* Structure (what goes where) should be set in specific theme files, which pull from more general layouts/ files
|
|
* Color (what has which accent) can be added with colorschemes/ files, and then set globally from here
|
|
*
|
|
* if a layout needs a *very* specific colorscheme it can also be set in the layouts/theme files
|
|
* but try to keep the two separated as much as possible, so we can adjust global options easily from here
|
|
*/
|
|
|
|
@import "colorschemes/gruvbox-dark.rasi"
|
|
|
|
* {
|
|
/* General */
|
|
text-font: "Iosevka Nerd Font";
|
|
text-font-mono: "Iosevka Nerd Font";
|
|
icon-font: "Iosevka Nerd Font";
|
|
icon-font-small: "Iosevka Nerd Font";
|
|
}
|
|
|
|
/**
|
|
* In case rofi gets started without a specific theme
|
|
* try to match the imported theme colors as best we
|
|
* can to any general purpose.
|
|
*/
|
|
* {
|
|
background-color: @background;
|
|
text-color: @foreground;
|
|
font: @text-font;
|
|
}
|
|
#element {
|
|
background-color: @background-nofocus;
|
|
text-color: @foreground-nofocus;
|
|
}
|
|
#element.selected {
|
|
background-color: @background-focus;
|
|
text-color: @foreground-focus;
|
|
}
|