diff options
| author | Craig Jennings <c@cjennings.net> | 2026-01-25 23:01:47 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-01-25 23:01:47 -0600 |
| commit | 717f5fe83960bd308ecff6a77c0dc3f516efad55 (patch) | |
| tree | 5f884e3e42ad82204796e62c1a376e0b5fbf224c /todo.org | |
| parent | c1195946fe6c72365310919a6250d1fdb6dd215f (diff) | |
feat(hyprland): add theme switching between dupre and hudson
Add two complete themes:
- dupre: warm earthy colors from Emacs dupre-theme.el
- hudson: Tomorrow Night + Goldenrod accent (original)
Theme files cover: foot, fuzzel, waybar, dunst, hyprland borders.
Add set-theme script with:
- set-theme <name>: apply a theme
- set-theme --toggle: switch between themes
- set-theme --pick: fuzzel picker
Keybindings:
- $mod Y: toggle theme
- $mod Shift Y: pick theme with fuzzel
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'todo.org')
| -rw-r--r-- | todo.org | 57 |
1 files changed, 55 insertions, 2 deletions
@@ -123,7 +123,8 @@ The script handles edge cases gracefully, provides detailed error messages with **** TODO [#A] Fix Hyprland Configuration Issues Issues discovered during live testing on ratio. Add sub-items as "hyprland config issue". -***** TODO [#B] Consider Hyprland Plugins +***** DONE [#B] Consider Hyprland Plugins +CLOSED: [2026-01-25 Sun] Official plugins: https://github.com/hyprwm/hyprland-plugins Install via hyprpm (added cpio dependency to archsetup). @@ -162,7 +163,8 @@ closeunfocused is handy for cleaning up. - borders-plus-plus: extra border layers (cosmetic) - hyprwinwrap: use any app as wallpaper -***** TODO [#C] Evaluate Hyprland Layout Options +***** DONE [#C] Evaluate Hyprland Layout Options +CLOSED: [2026-01-25 Sun] Current layouts: master (left/top/center), dwindle. No deck layout available natively. Options to consider: @@ -186,6 +188,57 @@ Decision: Keep current setup or adopt hy3 for more flexible manual tiling. Use pywal to generate color schemes from wallpaper. Reference: reference-repos/kastrbl4nik-dots/ Tools: swww (wallpaper), wal (colors), pywalfox (Firefox), pywal-spicetify (Spotify) +****** How pywal works +1. Run =wal -i /path/to/wallpaper.jpg= +2. Analyzes image and extracts 16-color palette +3. Colors written to =~/.cache/wal/colors.json= (and other formats) +4. Apps read from these files or use templates that pywal fills in + +****** Reverting to original theme +Pywal doesn't overwrite original configs - you either: +- Use templates (pywal fills in colors, copies to config locations) +- Have configs that source from =~/.cache/wal/= files +- Original configs stay untouched + +Save/restore themes: =wal --theme= lists saved themes, =wal -f theme-name= restores. +Could save current goldenrod scheme and switch back anytime. + +****** Emacs integration +- Pywal works with Emacs but requires extra setup +- =ewal= package reads pywal colors from =~/.cache/wal/colors.json= and creates Emacs theme +- Terminal Emacs (=-nw=) inherits terminal colors automatically +- GUI Emacs (emacsclient -c) needs ewal or similar explicit integration +- Adds complexity; replaces carefully-tuned theme with auto-generated colors + +****** Auto-trigger on wallpaper change +Option 1 - Wrapper script (simplest): +#+begin_src sh +#!/bin/sh +swww img "$1" +wal -i "$1" +killall -SIGUSR2 waybar # reload to pick up colors +#+end_src +Use this instead of =swww img= everywhere (startup, waypaper, keybinds). + +Option 2 - Hook into waypaper: +Waypaper has post-command setting in config - set to run =wal -i= after wallpaper change. + +Option 3 - File watcher: +Watch =~/.cache/swww/= for changes and trigger wal automatically. More complex. + +****** Considerations +- Best for: unified colors across apps, variety, matching wallpaper +- Less ideal for: specific color scheme you love, consistency, carefully tuned app colors +- Some wallpapers produce great palettes; others produce muddy low-contrast results +- Current goldenrod/dark gray theme works well - pywal would replace it + +***** TODO [#D] Consider improving waybar netspeed click responsiveness +The network module has a 1-second sleep to measure throughput, causing occasional +missed clicks when toggling the scratchpad. Options if this becomes annoying: +1. Increase interval (fewer refreshes = fewer missed clicks, less frequent updates) +2. Background daemon approach (separate process writes to file, script just reads it) +Current interval: 2 seconds. Script runtime: ~1 second. + ***** TODO [#C] Consider Customizing Hyprland Animations Current: windows pop in, scratchpads slide from bottom. |
