Configuration Guide

Customize every aspect of DWN to match your workflow and style.

Configuration File

DWN reads its configuration from ~/.config/dwn/config using an INI-style format. Changes take effect on restart (or you can reload in a future version).

First Run

DWN creates a default configuration file on first run if one doesn't exist. You can also copy the example config from the source repository.

[general] - Core Settings

Basic behavior settings for applications and focus handling.

Option Default Description
terminal xfce4-terminal Terminal emulator launched with Ctrl+Alt+T
launcher dmenu_run Application launcher for Alt+F2
file_manager thunar File manager for Super+E
focus_mode click click or follow (sloppy focus)
focus_follow_delay 100 Delay in ms before focus switches in follow mode (0-1000)
decorations true Show window title bars and borders
Example
[general]
terminal = alacritty
launcher = rofi -show run
file_manager = nautilus
focus_mode = follow
focus_follow_delay = 100
decorations = true

[appearance] - Visual Settings

Control the visual appearance of windows, panels, and gaps.

Option Default Range Description
border_width 0 0-50 Window border width in pixels (0 for seamless design)
title_height 28 0-100 Title bar height in pixels
panel_height 32 0-100 Top/bottom panel height
gap 0 0-100 Gap between tiled windows (0 for edge-to-edge tiling)
font fixed - X11 font name for text
Example
[appearance]
border_width = 0
title_height = 28
panel_height = 32
gap = 0
font = fixed

[layout] - Layout Behavior

Configure the default layout mode and tiling parameters.

Option Default Range Description
default tiling - tiling, floating, or monocle
master_ratio 0.55 0.1-0.9 Portion of screen for master area
master_count 1 1-10 Number of windows in master area
Example
[layout]
default = tiling
master_ratio = 0.60
master_count = 1

[panels] - Panel Visibility

Control which panels are displayed.

Option Default Description
top true Show top panel (workspaces, taskbar, systray)
bottom true Show bottom panel (clock)
Example - Minimal Setup
[panels]
top = true
bottom = false

[colors] - Color Scheme

Customize all colors using hex format (#RRGGBB).

Option Default Description
panel_bg #1a1a2e Panel background color
panel_fg #e0e0e0 Panel text color
workspace_active #4a90d9 Active workspace indicator
workspace_inactive #3a3a4e Inactive workspace indicator
workspace_urgent #d94a4a Urgent workspace indicator
title_focused_bg #2d3a4a Focused window title background
title_focused_fg #ffffff Focused window title text
title_unfocused_bg #1a1a1a Unfocused window title background
title_unfocused_fg #808080 Unfocused window title text
border_focused #4a90d9 Focused window border
border_unfocused #333333 Unfocused window border
notification_bg #2a2a3e Notification background
notification_fg #ffffff Notification text
Example - Nord Theme
[colors]
panel_bg = #2e3440
panel_fg = #eceff4
workspace_active = #88c0d0
workspace_inactive = #4c566a
workspace_urgent = #bf616a
title_focused_bg = #3b4252
title_focused_fg = #eceff4
title_unfocused_bg = #2e3440
title_unfocused_fg = #4c566a
border_focused = #88c0d0
border_unfocused = #3b4252
notification_bg = #3b4252
notification_fg = #eceff4

[ai] - AI Integration

Configure AI features. See AI Features for full setup instructions.

Option Description
model OpenRouter model ID (e.g., google/gemini-2.0-flash-exp:free)
openrouter_api_key Your OpenRouter API key (or use environment variable)
exa_api_key Your Exa API key (or use environment variable)
Example
[ai]
model = google/gemini-2.0-flash-exp:free
openrouter_api_key = sk-or-v1-your-key-here
exa_api_key = your-exa-key-here
Security Note

For better security, use environment variables instead of storing API keys in the config file: export OPENROUTER_API_KEY=sk-or-v1-...

[autostart] - XDG Autostart

Configure automatic application startup. DWN follows the XDG Autostart specification.

Option Description
enabled Enable/disable all autostart functionality (default: true)
xdg_autostart Scan XDG .desktop files from /etc/xdg/autostart and ~/.config/autostart (default: true)
path Additional directory for symlinks/scripts (default: ~/.config/dwn/autostart.d)
Example
[autostart]
enabled = true
xdg_autostart = true
path = ~/.config/dwn/autostart.d

Directories scanned:

  • /etc/xdg/autostart/ - System defaults (nm-applet, blueman, power-manager)
  • ~/.config/autostart/ - User XDG autostart entries
  • ~/.config/dwn/autostart.d/ - DWN-specific symlinks and scripts

[demo] - Demo Mode

Configure demo mode timing. The demo showcases DWN features including live AI and search functionality.

Option Description
step_delay Time between demo steps in milliseconds (1000-30000, default: 4000)
ai_timeout Timeout for AI/Exa API responses in milliseconds (5000-60000, default: 15000)
window_timeout Timeout for window spawn operations in milliseconds (1000-30000, default: 5000)
Example
[demo]
step_delay = 4000
ai_timeout = 15000
window_timeout = 5000

Complete Configuration Example

~/.config/dwn/config
# DWN Window Manager Configuration
# https://dwn.github.io
[general]
terminal = alacritty
launcher = rofi -show drun
file_manager = thunar
focus_mode = click
focus_follow_delay = 100
decorations = true
[appearance]
border_width = 0
title_height = 28
panel_height = 32
gap = 0
font = fixed
[layout]
default = tiling
master_ratio = 0.55
master_count = 1
[panels]
top = true
bottom = true
[colors]
panel_bg = #1a1a2e
panel_fg = #e0e0e0
workspace_active = #4a90d9
workspace_inactive = #3a3a4e
workspace_urgent = #d94a4a
title_focused_bg = #2d3a4a
title_focused_fg = #ffffff
title_unfocused_bg = #1a1a1a
title_unfocused_fg = #808080
border_focused = #4a90d9
border_unfocused = #333333
notification_bg = #2a2a3e
notification_fg = #ffffff
[ai]
model = google/gemini-2.0-flash-exp:free
# API keys via environment variables recommended
[autostart]
enabled = true
xdg_autostart = true
path = ~/.config/dwn/autostart.d
[demo]
step_delay = 4000
ai_timeout = 15000
window_timeout = 5000