390 lines
14 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Configuration - DWN Documentation</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<button class="mobile-menu-btn">Menu</button>
<div class="layout">
<aside class="sidebar">
<div class="sidebar-header">
<h1>DWN</h1>
<span class="version">v1.0.0</span>
</div>
<div class="search-box">
<input type="text" class="search-input" placeholder="Search docs...">
</div>
<nav class="sidebar-nav">
<div class="nav-section">
<div class="nav-section-title">Getting Started</div>
<a href="index.html" class="nav-link">Introduction</a>
<a href="installation.html" class="nav-link">Installation</a>
<a href="quickstart.html" class="nav-link">Quick Start</a>
</div>
<div class="nav-section">
<div class="nav-section-title">User Guide</div>
<a href="features.html" class="nav-link">Features</a>
<a href="shortcuts.html" class="nav-link">Keyboard Shortcuts</a>
<a href="configuration.html" class="nav-link">Configuration</a>
<a href="layouts.html" class="nav-link">Layouts</a>
<a href="ai-features.html" class="nav-link">AI Integration</a>
</div>
<div class="nav-section">
<div class="nav-section-title">API Reference</div>
<a href="api-overview.html" class="nav-link">API Overview</a>
<a href="api-reference.html" class="nav-link">API Reference</a>
<a href="api-examples.html" class="nav-link">API Examples</a>
</div>
<div class="nav-section">
<div class="nav-section-title">Advanced</div>
<a href="architecture.html" class="nav-link">Architecture</a>
<a href="building.html" class="nav-link">Building from Source</a>
</div>
</nav>
</aside>
<main class="main-content">
<div class="content">
<div class="page-header">
<h1>Configuration</h1>
<p class="lead">Customize DWN to your preferences</p>
</div>
<h2>Configuration File</h2>
<p>DWN uses an INI-style configuration file located at:</p>
<div class="code-block">
<pre><code>~/.config/dwn/config</code></pre>
</div>
<p>Create it from the example:</p>
<div class="code-block">
<pre><code>mkdir -p ~/.config/dwn
cp /etc/dwn/config.example ~/.config/dwn/config</code></pre>
</div>
<h2>Configuration Sections</h2>
<h3>[general] - Core Settings</h3>
<div class="code-block">
<pre><code>[general]
terminal = xfce4-terminal
launcher = dmenu_run
file_manager = thunar
focus_mode = click
focus_follow_delay = 100
decorations = true</code></pre>
</div>
<div class="table-container">
<table>
<thead>
<tr>
<th>Option</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>terminal</code></td>
<td>xfce4-terminal</td>
<td>Terminal emulator command</td>
</tr>
<tr>
<td><code>launcher</code></td>
<td>dmenu_run</td>
<td>Application launcher command</td>
</tr>
<tr>
<td><code>file_manager</code></td>
<td>thunar</td>
<td>File manager command</td>
</tr>
<tr>
<td><code>focus_mode</code></td>
<td>click</td>
<td><code>click</code> or <code>follow</code> (sloppy focus)</td>
</tr>
<tr>
<td><code>focus_follow_delay</code></td>
<td>100</td>
<td>Delay in ms for focus-follow mode (0-1000)</td>
</tr>
<tr>
<td><code>decorations</code></td>
<td>true</td>
<td>Show window decorations (title bar)</td>
</tr>
</tbody>
</table>
</div>
<h3>[appearance] - Visual Settings</h3>
<div class="code-block">
<pre><code>[appearance]
border_width = 0
title_height = 28
panel_height = 32
gap = 0
font = fixed</code></pre>
</div>
<div class="table-container">
<table>
<thead>
<tr>
<th>Option</th>
<th>Range</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>border_width</code></td>
<td>0-50</td>
<td>Window border width in pixels</td>
</tr>
<tr>
<td><code>title_height</code></td>
<td>0-100</td>
<td>Title bar height in pixels</td>
</tr>
<tr>
<td><code>panel_height</code></td>
<td>0-100</td>
<td>Panel height in pixels</td>
</tr>
<tr>
<td><code>gap</code></td>
<td>0-100</td>
<td>Gap between windows in pixels</td>
</tr>
<tr>
<td><code>font</code></td>
<td>-</td>
<td>X11 font name</td>
</tr>
</tbody>
</table>
</div>
<h3>[layout] - Layout Behavior</h3>
<div class="code-block">
<pre><code>[layout]
default = tiling
master_ratio = 0.55
master_count = 1</code></pre>
</div>
<div class="table-container">
<table>
<thead>
<tr>
<th>Option</th>
<th>Values</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>default</code></td>
<td>tiling, floating, monocle</td>
<td>Default layout for new workspaces</td>
</tr>
<tr>
<td><code>master_ratio</code></td>
<td>0.1-0.9</td>
<td>Master area ratio in tiling layout</td>
</tr>
<tr>
<td><code>master_count</code></td>
<td>1-10</td>
<td>Number of windows in master area</td>
</tr>
</tbody>
</table>
</div>
<h3>[panels] - Panel Visibility</h3>
<div class="code-block">
<pre><code>[panels]
top = true
bottom = true</code></pre>
</div>
<h3>[colors] - Color Scheme</h3>
<p>Colors are specified in hex format <code>#RRGGBB</code>.</p>
<div class="code-block">
<pre><code>[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</code></pre>
</div>
<h3>[api] - WebSocket API</h3>
<div class="code-block">
<pre><code>[api]
enabled = true
port = 8777</code></pre>
</div>
<div class="table-container">
<table>
<thead>
<tr>
<th>Option</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>enabled</code></td>
<td>false</td>
<td>Enable WebSocket API server</td>
</tr>
<tr>
<td><code>port</code></td>
<td>8777</td>
<td>API server port number</td>
</tr>
</tbody>
</table>
</div>
<h3>[ai] - AI Integration</h3>
<div class="code-block">
<pre><code>[ai]
model = google/gemini-2.0-flash-exp:free
openrouter_api_key = sk-or-v1-your-key
exa_api_key = your-exa-key</code></pre>
</div>
<p>API keys can also be set via environment variables:</p>
<ul>
<li><code>OPENROUTER_API_KEY</code></li>
<li><code>EXA_API_KEY</code></li>
</ul>
<h3>[autostart] - XDG Autostart</h3>
<div class="code-block">
<pre><code>[autostart]
enabled = true
xdg_autostart = true
path = ~/.config/dwn/autostart.d</code></pre>
</div>
<p>Directories scanned when <code>xdg_autostart = true</code>:</p>
<ul>
<li><code>/etc/xdg/autostart/*.desktop</code> - System defaults</li>
<li><code>~/.config/autostart/*.desktop</code> - User autostart</li>
<li><code>~/.config/dwn/autostart.d/*</code> - DWN-specific scripts</li>
</ul>
<h3>[demo] - Demo Mode Timing</h3>
<div class="code-block">
<pre><code>[demo]
step_delay = 4000
ai_timeout = 15000
window_timeout = 5000</code></pre>
</div>
<h2>Environment Variables</h2>
<div class="table-container">
<table>
<thead>
<tr>
<th>Variable</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>OPENROUTER_API_KEY</code></td>
<td>API key for AI command palette</td>
</tr>
<tr>
<td><code>EXA_API_KEY</code></td>
<td>API key for Exa semantic search</td>
</tr>
<tr>
<td><code>DISPLAY</code></td>
<td>X server to connect to</td>
</tr>
</tbody>
</table>
</div>
<h2>Example Configuration</h2>
<div class="code-block">
<pre><code>[general]
terminal = alacritty
launcher = rofi -show drun
file_manager = nautilus
focus_mode = click
decorations = true
[appearance]
border_width = 2
title_height = 24
panel_height = 28
gap = 5
font = monospace
[layout]
default = tiling
master_ratio = 0.55
master_count = 1
[panels]
top = true
bottom = false
[colors]
panel_bg = #282c34
panel_fg = #abb2bf
workspace_active = #61afef
workspace_inactive = #3e4451
border_focused = #61afef
border_unfocused = #3e4451
[api]
enabled = true
port = 8777
[autostart]
enabled = true
xdg_autostart = true</code></pre>
</div>
<footer>
<p>DWN Window Manager - retoor &lt;retoor@molodetz.nl&gt;</p>
</footer>
</div>
</main>
</div>
<script src="js/main.js"></script>
</body>
</html>