Overview
Kanagawa uses Hyprland as its Wayland compositor and dynamic tiling window manager. Hyprland provides smooth animations, dynamic tiling layouts, and extensive customization options.
Key Features
Dynamic Tiling Automatic window tiling with dwindle layout for optimal workspace organization
Smooth Animations Custom “Slipstream” animation profile with bezier curves for fluid transitions
Workspaces 10 workspaces plus special scratchpad workspace for quick access
Keyboard-First Comprehensive keybindings for window management, navigation, and system control
Window Management
Focus Navigation
Move focus between windows using arrow keys:
# Move focus with SUPER + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
Window Actions
SUPER + W - Close active window
SUPER + V - Toggle floating mode
F11 - Toggle fullscreen
SUPER + P - Toggle pseudo-tiling (dwindle)
SUPER + J - Toggle split direction (dwindle)
Swap window positions: bind = $mainMod SHIFT, left, swapwindow, l
bind = $mainMod SHIFT, right, swapwindow, r
bind = $mainMod SHIFT, up, swapwindow, u
bind = $mainMod SHIFT, down, swapwindow, d
Resize active window: bind = $mainMod, minus, resizeactive, -100 0
bind = $mainMod, plus, resizeactive, 100 0
bind = $mainMod SHIFT, minus, resizeactive, 0 -100
bind = $mainMod SHIFT, plus, resizeactive, 0 100
SUPER + Left Click - Move window
SUPER + Right Click - Resize window
SUPER + Scroll Up/Down - Switch workspaces
Workspace Management
Switching Workspaces
# Switch to workspace 1-10
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
# ... up to workspace 10
Moving Windows Between Workspaces
# Move active window to workspace with SUPER + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
# ... up to workspace 10
Scratchpad Workspace
The special “magic” scratchpad provides a hidden workspace for temporary windows:
# Toggle scratchpad visibility
bind = $mainMod, S, togglespecialworkspace, magic
# Move window to scratchpad
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
Animations
Kanagawa uses the custom Slipstream animation profile for smooth, responsive transitions:
animations {
enabled = true
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsIn, 1, 5, myBezier, slide
animation = windowsOut, 1, 5, myBezier, slide
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 7, myBezier, slide
animation = layers, 1, 2, myBezier, slide
}
The layers animation is optimized for fast panel animations (SwayNC, etc.) with a speed of 2.
Application Launchers
# Application shortcuts
bind = $mainMod, T, exec, ghostty # Terminal
bind = $mainMod, C, exec, vscodium # Code editor
bind = $mainMod, E, exec, nautilus # File manager
bind = $mainMod, B, exec, brave # Browser
bind = $mainMod, space, exec, wofi --show drun # App launcher
System Controls
Screenshots
bind = , PRINT, exec, hyprshot -m output # Full screen
bind = shift, PRINT, exec, hyprshot -m region # Region select
Volume
Brightness
Media Playback
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
Other System Actions
SUPER + L - Lock screen (Hyprlock)
SUPER + A - Logout menu (wlogout)
SUPER + N - Toggle notifications (SwayNC)
SUPER + Q - Clipboard manager (cliphist + wofi)
SUPER + SHIFT + Enter - Theme selector
SUPER + U - Toggle monitor
Configuration Files
Hyprland configuration is modular and located in ~/.config/hypr/:
hyprland.conf
animations.conf
source = ./colors/colors.conf # Color scheme
source = ./monitors.conf # Monitor configuration
source = ./keybindings.conf # Keyboard shortcuts
source = ./animations.conf # Animation settings
source = ./autostart.conf # Programs to autostart
Learn More
Hyprland Wiki Official documentation and configuration reference
Theme System Learn how Hyprland integrates with the theme system