diff options
Diffstat (limited to 'assets/color-themes')
| -rw-r--r-- | assets/color-themes/dupre/dupre-palette.org | 230 | ||||
| -rw-r--r-- | assets/color-themes/dupre/dupre-palette.png | bin | 0 -> 110678 bytes | |||
| -rwxr-xr-x | assets/color-themes/generate-palette.sh | 68 |
3 files changed, 298 insertions, 0 deletions
diff --git a/assets/color-themes/dupre/dupre-palette.org b/assets/color-themes/dupre/dupre-palette.org new file mode 100644 index 0000000..1293c02 --- /dev/null +++ b/assets/color-themes/dupre/dupre-palette.org @@ -0,0 +1,230 @@ +#+TITLE: Dupre Theme Color Palette +#+AUTHOR: Craig Jennings +#+DATE: 2026-01-27 +#+DESCRIPTION: Complete color reference for the Dupre theme across all applications. + +* Color Palette + +The Dupre theme originates from =dupre-theme.el= in Emacs. It is a warm, earthy dark theme built around goldenrod/amber accents on a near-black background. + +** Core Colors + +| Name | Hex | Role | +|-----------+-----------+-------------------------------------| +| bg | =#151311= | Background | +| bg+2 | =#474544= | Elevated surfaces, inactive borders | +| fg | =#f0fef0= | Primary foreground text | +| gray+2 | =#d0cbc0= | Secondary text, muted foreground | +| yellow | =#d7af5f= | Primary accent (gold/amber) | +| steel | =#969385= | Tertiary text, status bar labels | +| muted | =#58574e= | Disabled/dimmed elements | +| black | =#252321= | Dark surface (bg+1) | + +** Full 16-Color Terminal Palette + +| Index | Name | Hex | Alias | +|-------+----------------+-----------+-------------------| +| 0 | black | =#252321= | bg+1 | +| 1 | red | =#d47c59= | dupre-red | +| 2 | green | =#a4ac64= | dupre-green | +| 3 | yellow | =#d7af5f= | dupre-yellow | +| 4 | blue | =#67809c= | dupre-blue | +| 5 | magenta | =#b294bb= | | +| 6 | cyan | =#8a9496= | dupre-steel | +| 7 | white | =#d0cbc0= | gray+2 | +| 8 | bright black | =#474544= | bg+2 | +| 9 | bright red | =#edb08f= | dupre-red+1 | +| 10 | bright green | =#ccc768= | dupre-green+1 | +| 11 | bright yellow | =#ffd75f= | dupre-yellow+1 | +| 12 | bright blue | =#b2c3cc= | dupre-blue+1 | +| 13 | bright magenta | =#c397d8= | | +| 14 | bright cyan | =#acb0b3= | dupre-steel+1 | +| 15 | bright white | =#f0fef0= | fg | + +** Semantic Colors + +| Purpose | Hex | Source Color | +|-----------------+-----------+----------------| +| Accent/active | =#d7af5f= | yellow (gold) | +| Error/fail | =#d47c59= | red | +| Warning | =#d7af5f= | yellow | +| Success | =#a4ac64= | green | +| Caps lock | =#ccc768= | bright green | +| Critical bg | =#7c2a09= | dark red | +| Placeholder | =#6c6a60= | muted variant | + +* Application Color Mappings + +** Hyprland Window Manager + +Source: =dotfiles/hyprland/.config/themes/dupre/hyprland.conf= + +| Element | Color | Format | +|-----------------+-----------+--------------------| +| Active border | =#d7af5f= | =rgba(d7af5fff)= | +| Inactive border | =#474544= | =rgba(474544ff)= | + +** hy3 Plugin (Tab Bar / Monocle Mode) + +Applied at runtime via =set-theme= and =hyprctl keyword=. + +| Element | Color | Format | +|---------------+-----------+------------------| +| Active tab bg | =#474544= | =rgba(474544ff)= | +| Active text | =#969385= | =rgba(969385ff)= | +| Inactive tab | =#d0cbc0= | =rgba(d0cbc0ff)= | +| Inactive text | =#d0cbc0= | =rgba(d0cbc0ff)= | +| Urgent tab | =#d47c59= | =rgba(d47c59ff)= | +| Locked tab | =#8a9496= | =rgba(8a9496ff)= | + +** Hyprlock (Lock Screen) + +Source: =dotfiles/hyprland/.config/themes/dupre/hyprlock.conf= + +| Element | Color | Format | +|-------------------+-----------+-----------------| +| Clock text | =#969385= | =rgb(969385)= | +| Profile border | =#d7af5f= | =rgb(d7af5f)= | +| Username | =#d7af5f= | =rgb(d7af5f)= | +| Input outer/inner | =#151311= | =rgb(151311)= | +| Input text | =#969385= | =rgb(969385)= | +| Check (success) | =#d7af5f= | =rgb(d7af5f)= | +| Fail | =#d47c59= | =rgb(d47c59)= | +| Caps lock | =#ccc768= | =rgb(ccc768)= | + +** Waybar + +Source: =dotfiles/hyprland/.config/themes/dupre/waybar.css= + +| Element | Color | CSS | +|----------------------+-----------+-------------------| +| Bar background | =#151311= | =background-color= | +| Bar border | =#d7af5f= | =border= | +| Module text | =#969385= | =color= | +| Clock text | =#f0fef0= | =color= | +| Active workspace bg | =#d7af5f= | =background= | +| Active workspace fg | =#151311= | =color= | +| Inactive workspace | =#969385= | =color= | +| Urgent workspace | =#d47c59= | 40% opacity | +| Hover bg | =#474544= | =background-color= | +| Volume muted | =#58574e= | =color= | +| Battery warning | =#d7af5f= | =color= | +| Battery critical | =#d47c59= | =color= | +| Tray needs-attention | =#d7af5f= | =background-color= | + +** Foot Terminal + +Source: =dotfiles/hyprland/.config/themes/dupre/foot.ini= + +Uses the full 16-color terminal palette (see table above). + +| Element | Color | +|------------+-----------| +| Background | =#151311= | +| Foreground | =#f0fef0= | +| Cursor fg | =#151311= | +| Cursor bg | =#d7af5f= | + +** Fuzzel (Application Launcher) + +Source: =dotfiles/hyprland/.config/themes/dupre/fuzzel.ini= + +Format: =RRGGBBAA= (no =#= prefix). + +| Element | Color | +|----------------+---------------| +| Background | =151311f0= | +| Text | =f0fef0ff= | +| Selection bg | =d7af5fff= | +| Selection text | =151311ff= | +| Border | =d7af5fff= | +| Match | =d7af5fff= | +| Prompt | =969385ff= | +| Placeholder | =6c6a60ff= | +| Input | =f0fef0ff= | + +** Dunst (Notifications) + +Source: =dotfiles/hyprland/.config/themes/dupre/dunstrc= + +| Element | Color | +|--------------------+-------------| +| Foreground | =#f0fef0= | +| Frame | =#d7af5f= | +| Highlight | =#d7af5f= | +| Normal/low bg | =#151311f0= | +| Critical bg | =#7c2a09f0= | +| Critical frame | =#d47c59= | +| Critical highlight | =#ff2a00= | + +** Xresources (X11 / Emacs / st / xterm) + +Source: =dotfiles/hyprland/.config/themes/dupre/Xresources= + +Uses C preprocessor =#define= macros for the 16-color palette, then applies via =theme_*= aliases to st and xterm resources. Emacs reads these via =xrdb=. + +** GTK and Qt + +| Setting | Value | +|---------------------+--------------------| +| GTK theme | Adwaita-dark | +| Qt theme | Adwaita-Dark | +| Qt method | adwaita-qt5/qt6, QT_STYLE_OVERRIDE | +| Icon theme | Papirus-Dark | +| Cursor theme | capitaine-cursors-light | +| Cursor size | 24 | + +GTK and Qt use system dark themes rather than custom Dupre colors. This provides consistent widget styling from well-maintained themes while Dupre handles terminal, bar, and compositor colors. + +* Font + +| Setting | Value | +|---------+----------------------------| +| Family | BerkeleyMono Nerd Font | +| Size | 13pt (terminal, launcher, notifications) | +| Waybar | 14px (CSS pixels) | + +Point-based configs (foot, fuzzel, dunst, Xresources) use 13pt. Waybar CSS uses 14px. Hyprlock uses 64pt (clock) and 36pt (username) for lock screen readability. + +* Theme Infrastructure + +** Theme Directory + +=~/.config/themes/dupre/= contains per-application config files: + +| File | Application | +|----------------+-------------------| +| =foot.ini= | Foot terminal | +| =fuzzel.ini= | Fuzzel launcher | +| =waybar.css= | Waybar status bar | +| =dunstrc= | Dunst notifications | +| =hyprland.conf= | Hyprland borders | +| =hyprlock.conf= | Hyprlock screen | +| =Xresources= | X11 apps / Emacs | + +** Switching Themes + +=set-theme= (=~/.local/bin/set-theme=) copies theme configs into place, applies Hyprland/hy3 colors via =hyprctl=, merges Xresources, and reloads waybar and dunst. + +#+begin_src sh +set-theme dupre # apply dupre +set-theme --toggle # toggle between dupre and hudson +set-theme --pick # fuzzel picker +set-theme --current # print current theme name +#+end_src + +Keybindings: =$mod+Y= toggles, =$mod+Shift+Y= opens picker. + +** Adding a New Theme + +1. Create =~/.config/themes/<name>/= with all seven config files +2. Add a case block in =set-theme= for Hyprland/hy3 runtime colors +3. The theme will appear automatically in =set-theme --list= and the fuzzel picker + +* Palette Image + +=assets/color-themes/dupre/dupre-palette.png= is a visual reference of the palette. Regenerate with: + +#+begin_src sh +assets/color-themes/generate-palette.sh +#+end_src diff --git a/assets/color-themes/dupre/dupre-palette.png b/assets/color-themes/dupre/dupre-palette.png Binary files differnew file mode 100644 index 0000000..0448508 --- /dev/null +++ b/assets/color-themes/dupre/dupre-palette.png diff --git a/assets/color-themes/generate-palette.sh b/assets/color-themes/generate-palette.sh new file mode 100755 index 0000000..456d1a4 --- /dev/null +++ b/assets/color-themes/generate-palette.sh @@ -0,0 +1,68 @@ +#!/bin/sh +# Generate dupre-palette.png from color definitions using ImageMagick. +# Output: assets/color-themes/dupre/dupre-palette.png + +set -e + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +OUTPUT="$SCRIPT_DIR/dupre/dupre-palette.png" + +SWATCH_W=140 +SWATCH_H=80 +LABEL_H=20 +GAP=16 +HEADING_X=20 +SWATCH_X0=120 + +# Canvas +CANVAS_W=760 +CANVAS_H=1120 + +# We build an MVG (Magick Vector Graphics) draw string +MVG="" + +# Title +MVG="$MVG fill '#f0fef0' font-size 22 font 'Liberation-Sans-Bold' text 20,38 'Dupre Theme Color Palette' " + +Y=70 + +draw_group() { + heading="$1" + shift + + # Heading label (vertically centered with swatches) + head_y=$((Y + SWATCH_H / 2 + 6)) + MVG="$MVG fill '#969385' font-size 16 font 'Liberation-Sans-Bold' text ${HEADING_X},${head_y} '${heading}' " + + X=$SWATCH_X0 + while [ $# -gt 0 ]; do + name="$1"; hex="$2"; shift 2 + + # Swatch + x2=$((X + SWATCH_W - 1)) + y2=$((Y + SWATCH_H - 1)) + MVG="$MVG fill '${hex}' roundrectangle ${X},${Y} ${x2},${y2} 8,8 " + + # Label + label_y=$((Y + SWATCH_H + 14)) + MVG="$MVG fill '#969385' font-size 13 font 'Liberation-Mono' text ${X},${label_y} '${name} : ${hex}' " + + X=$((X + SWATCH_W + GAP)) + done + + Y=$((Y + SWATCH_H + LABEL_H + GAP)) +} + +draw_group "BG" bg "#151311" bg+2 "#474544" +draw_group "FG" fg "#f0fef0" gray+2 "#d0cbc0" +draw_group "Neutrals" black "#252321" muted "#58574e" steel "#969385" +draw_group "Yellows" yellow "#d7af5f" yellow+1 "#ffd75f" +draw_group "Reds" red "#d47c59" red+1 "#edb08f" +draw_group "Greens" green "#a4ac64" green+1 "#ccc768" +draw_group "Blues" blue "#67809c" blue+1 "#b2c3cc" +draw_group "Cyans" cyan "#8a9496" cyan+1 "#acb0b3" +draw_group "Magentas" magenta "#b294bb" magenta+1 "#c397d8" + +magick -size "${CANVAS_W}x${CANVAS_H}" "xc:#1a1a1a" -draw "$MVG" "$OUTPUT" + +echo "Generated: $OUTPUT" |
