summaryrefslogtreecommitdiff
path: root/assets/color-themes/dupre/dupre-palette.org
blob: 1293c0296730081f931f3fdb58cb9b9fcd77dcbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
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