mirror of
https://github.com/caelestia-dots/cli.git
synced 2026-06-08 08:19:28 -05:00
feat: thunar & papirus-folders theming + new schemes (#80)
* feat: GTK app theming system
- Implemented custom.css import for user-managed app themes
- process_app_themes() to dynamically update colors in imported CSS files
- Inline comment markers for color replacement (e.g, /* accent-color */)
- Papirus icon color syncing with weighted hue/saturation algorithm
This allows users to create modular app themes that automatically update when the scheme/wallpaper changes
Example usage:
.app .element { color: #24BD5C; /* accent-color */ }
.app .element:hover { background: rgba(36, 189, 92, 0.15); /* accent-color with 15% opacity */ }
* feat: atomic theme changes with locking and mode-specific CSS
- Implemented locking to prevent concurrent theme changes
- Added mode-light/mode-dark CSS markers for dynamic property reordering
- Made terminal writes and Papirus sync non-blocking to prevent hangs
- Only save scheme.json after successful theme application
Fixes race conditions during rapid theme switching and ensures Shell and GTK apps scheme stay in sync.
* theme: added to color mapping for custom theming, new schemes
* theme: quick fixes, cleanup
* theme: include thunar.css as template, with new theming system
* theme: modified GTK theming approach
- Dropped comment targeted theming in favor for existing {{ }} replacement
- [app].css.template file created for customization, bypassing built in default if present
- Handling *.template for added templates to be parsed and added to import
* theme: fixes for thunar.css
* theme: remove .template file use
* theme: path button color adjustment, non-active hover
* fixes & cleanup
* thunar css fixes
* more css fixes
* format
* fix tab vert spacing
---------
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
This commit is contained in:
@@ -18,6 +18,32 @@ The main control script for the Caelestia dotfiles.
|
||||
|
||||
</details>
|
||||
|
||||
<details><summary id="optional-dependencies">Optional dependencies</summary>
|
||||
|
||||
- [`papirus-folders`](https://github.com/PapirusDevelopmentTeam/papirus-folders) - automatic folder icon color syncing with theme
|
||||
|
||||
> [!NOTE]
|
||||
> For automatic Papirus folder icon color syncing, `papirus-folders` needs to be able to run with `sudo` without a password prompt.
|
||||
>
|
||||
> **Recommended** - Create a sudoers file:
|
||||
> ```fish
|
||||
> # Fish shell
|
||||
> echo "$USER ALL=(ALL) NOPASSWD: "(which papirus-folders) | sudo tee /etc/sudoers.d/papirus-folders
|
||||
> sudo chmod 440 /etc/sudoers.d/papirus-folders
|
||||
> ```
|
||||
> ```sh
|
||||
> # Bash/other shells
|
||||
> echo "$USER ALL=(ALL) NOPASSWD: $(which papirus-folders)" | sudo tee /etc/sudoers.d/papirus-folders
|
||||
> sudo chmod 440 /etc/sudoers.d/papirus-folders
|
||||
> ```
|
||||
>
|
||||
> **Alternatively** - Edit the main sudoers file by running `sudo visudo` and adding at the end:
|
||||
> ```
|
||||
> your_username ALL=(ALL) NOPASSWD: /usr/bin/papirus-folders
|
||||
> ```
|
||||
|
||||
</details>
|
||||
|
||||
## Installation
|
||||
|
||||
### Arch linux
|
||||
|
||||
Reference in New Issue
Block a user