Skip to content

Theming ​

Every app shares one Kanagawa (wave) palette. This page shows where the colors live and how to change them, the GTK theme, wallpapers, the login and boot screens, and the night light.

Palette and roles ​

The palette is ~/.config/theme/kanagawa.css (dotfiles/.config/theme/kanagawa.css). It defines the official color names (sumiInk3, fujiWhite, oniViolet, sakuraPink…) and, under them, a few roles the styles use for structure and state:

RoleColorUsed for
bg, bg-darksumiInk3, sumiInk0bar strips and cards, the center slab and control center
surface, surface-altsumiInk4, sumiInk5buttons, hovers, slider troughs, card borders
bordersumiInk6strip borders, dividers, inactive modules
text, text-mutedfujiWhite, fujiGraytext
accent, accent-altoniViolet, sakuraPinktoggles and sliders; active workspace, player, unread
framewaveAqua2the right edge of the right strip and the control center
highlightcarpYellowbrush strokes under the clock and the control-center title
sealautumnRedcritical states, destructive hovers
ok, warn, errorautumnGreen, roninYellow, samuraiRedbattery and urgency states

Waybar, SwayNC, wlogout and gtk-3.0/gtk.css load it with @import url("../theme/kanagawa.css"). Waybar and SwayNC split their CSS into style/*.css files that style.css imports in order: plain GTK CSS, no build step.

Change an accent ​

  1. In ~/.config/theme/kanagawa.css, re-point the role to another palette name, for example @define-color accent @crystalBlue;.
  2. Reload Waybar with pkill -SIGUSR2 waybar and restart SwayNC with systemctl --user restart swaync. wlogout and GTK apps pick the change up the next time they open.
  3. Update the apps that can't import CSS. They carry copies of the hex values, so change them by hand:
File in ~/.config/What carries the color
rofi/colors.rasithe launcher and the pickers (menu.rasi)
alacritty/themes/kanagawa_wave.tomlthe terminal
hypr/theme.luawindow borders (active_border)
hypr/hyprlock.confthe lock screen
fish/conf.d/fzf.fishfzf in the terminal
waybar/modules.jsoncthe clock and the calendar tooltip (Pango markup)
MangoHud/MangoHud.confthe in-game overlay
gowall/config.ymlthe full palette gowall recolors wallpapers to

To find every copy of a color, search for its hex value:

bash
grep -rli '957fb8' ~/.config

GTK, icons and cursor ​

PartTheme
GTKKanagawa-Purple-Dark
IconsPapirus-Dark with violet folders
CursorHackneyed-Dark-24px
FontNoto Sans 11

Change them in nwg-look and press Apply: it rewrites gtk-3.0/settings.ini, gtk-4.0 and .gtkrc-2.0. GTK apps on Wayland read gsettings, so ~/bin/gtk_theme.sh copies settings.ini into gsettings at every login.

The dotfiles module colors the Papirus folders violet. To pick another color:

bash
sudo papirus-folders -C blue --theme Papirus-Dark

Wallpapers ​

The 373 bundled wallpapers (WebP, 1920×1080, about 88 MB) are copied to ~/Images without overwriting anything there; add your own in any format hyprpaper reads (PNG, JPEG, WebP, JPEG XL). ~/bin/wallpaper.sh switches between modes and remembers the last one:

KeysMode
Super + Wrandom: a random static picture from ~/Images
Super + Ctrl + Wpick: choose a picture in waypaper
Super + Shift + Wlive: the Wallpaper Engine scene (see after install)

The next login starts the same mode. Super + W or Super + Ctrl + W switches it to a static picture; if the Workshop scene is missing at login, you see the picture and a notification, and live mode stays saved for the next login.

To make any picture match the palette, recolor it with gowall and its Kanagawa theme from gowall/config.yml:

bash
gowall convert ~/Images/42.webp -t Kanagawa

Login and boot screens ​

SDDM uses the Astronaut theme, and Plymouth shows the arch-logo splash. Switch them with these fish abbreviations:

bash
sddm_theme_list                 # Astronaut variants, * marks the current one
sddm_theme_set pixel_sakura     # make it the login screen
plymouth_theme_list             # installed boot splashes
plymouth_theme_set arch-logo    # set one and rebuild the initramfs

A package update resets the SDDM variant; run sddm_theme_set again afterwards.

Night light ​

hyprsunset turns the screen to a mild 4500 K at 20:00 and back to a neutral 6500 K at 07:00. Change the times in ~/.config/hypr/hyprsunset.conf. The night light button in the control center (Super + N) toggles it at any time.

Released under the MIT License