max / shop
1 file changed,
+24 insertions,
-0 deletions
| @@ -26,6 +26,30 @@ | |||
| 26 | 26 | and `shop-sixel` are not written yet; each crate is added as its component | |
| 27 | 27 | is implemented. See design hub. | |
| 28 | 28 | ||
| 29 | + | ## Config | |
| 30 | + | ||
| 31 | + | `~/.config/shop/config.toml`, two keys, both optional: | |
| 32 | + | ||
| 33 | + | ```toml | |
| 34 | + | # A theme id, without the .toml. Defaults to akari-night, which shop carries | |
| 35 | + | # with it: makeover embeds its own theme set, so this works on a machine with | |
| 36 | + | # no theme files installed anywhere. | |
| 37 | + | theme = "akari-dawn" | |
| 38 | + | ||
| 39 | + | # An extra directory to search first. An Alloy machine points this at the | |
| 40 | + | # desktop's own set; shop does not otherwise know Alloy exists. | |
| 41 | + | themes = "/usr/share/alloy/themes" | |
| 42 | + | ``` | |
| 43 | + | ||
| 44 | + | Themes are [makeover](https://makenot.work/git/max/makeover) TOML files, which | |
| 45 | + | declare colours by role rather than by hue. shop resolves the sixteen ANSI | |
| 46 | + | slots from them through `makeover::ansi_intent`, the same mapping the bare | |
| 47 | + | Linux console and Alloy's generated configs use, so a program's output does not | |
| 48 | + | change colour depending on where it runs. 16-255 are fixed by the protocol and | |
| 49 | + | are not the theme's to move. | |
| 50 | + | ||
| 51 | + | `shop --theme ID` overrides the file for one run. | |
| 52 | + | ||
| 29 | 53 | ## Non-goals | |
| 30 | 54 | ||
| 31 | 55 | - Cross-platform. Wayland Linux only. No X11, no macOS, no Windows. |