build: add -ldl linker flag, recursive source discovery, and API test targets to Makefile
This commit is contained in:
+130
-1
@@ -13,7 +13,7 @@
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-header">
|
||||
<h1>DWN</h1>
|
||||
<span class="version">v1.0.0</span>
|
||||
<span class="version">v2.0.0</span>
|
||||
</div>
|
||||
|
||||
<div class="search-box">
|
||||
@@ -47,6 +47,8 @@
|
||||
<div class="nav-section">
|
||||
<div class="nav-section-title">Advanced</div>
|
||||
<a href="architecture.html" class="nav-link">Architecture</a>
|
||||
<a href="abstraction-layer.html" class="nav-link">Abstraction Layer</a>
|
||||
<a href="plugin-development.html" class="nav-link">Plugin Development</a>
|
||||
<a href="building.html" class="nav-link">Building from Source</a>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -309,6 +311,133 @@ ai_timeout = 15000
|
||||
window_timeout = 5000</code></pre>
|
||||
</div>
|
||||
|
||||
<h3 id="rules">[rules] - Window Rules</h3>
|
||||
<p>Automatically apply settings to windows based on their class or title. Rules use glob patterns for matching.</p>
|
||||
|
||||
<div class="code-block">
|
||||
<pre><code>[rules]
|
||||
Firefox = workspace:2, floating:false
|
||||
class:*terminal* = workspace:1
|
||||
title:*Calculator* = floating:true, width:400, height:300
|
||||
class:Telegram = workspace:9, sticky:true
|
||||
Gimp = floating:true
|
||||
class:mpv = fullscreen:true</code></pre>
|
||||
</div>
|
||||
|
||||
<h4>Rule Syntax</h4>
|
||||
<p>Each rule has the format: <code>pattern = property:value, property:value, ...</code></p>
|
||||
|
||||
<div class="table-container">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Pattern Prefix</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>class:</code></td>
|
||||
<td>Match by WM_CLASS (default if no prefix)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>title:</code></td>
|
||||
<td>Match by window title</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>(no prefix)</td>
|
||||
<td>Treated as class pattern</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h4>Available Properties</h4>
|
||||
<div class="table-container">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Property</th>
|
||||
<th>Values</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>workspace</code></td>
|
||||
<td>1-9</td>
|
||||
<td>Move to specific workspace</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>floating</code></td>
|
||||
<td>true/false</td>
|
||||
<td>Set floating mode</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sticky</code></td>
|
||||
<td>true/false</td>
|
||||
<td>Visible on all workspaces</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>fullscreen</code></td>
|
||||
<td>true/false</td>
|
||||
<td>Start in fullscreen mode</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>width</code></td>
|
||||
<td>pixels</td>
|
||||
<td>Set initial width</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>height</code></td>
|
||||
<td>pixels</td>
|
||||
<td>Set initial height</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>x</code></td>
|
||||
<td>pixels</td>
|
||||
<td>Set initial X position</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>y</code></td>
|
||||
<td>pixels</td>
|
||||
<td>Set initial Y position</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h4>Pattern Matching</h4>
|
||||
<ul>
|
||||
<li><code>*</code> - Matches any sequence of characters</li>
|
||||
<li><code>?</code> - Matches any single character</li>
|
||||
<li><code>[abc]</code> - Matches any character in brackets</li>
|
||||
<li>Matching is case-insensitive</li>
|
||||
</ul>
|
||||
|
||||
<h4>Examples</h4>
|
||||
<div class="code-block">
|
||||
<pre><code>[rules]
|
||||
# Open Firefox on workspace 2
|
||||
Firefox = workspace:2
|
||||
|
||||
# All terminals on workspace 1
|
||||
class:*terminal* = workspace:1
|
||||
|
||||
# Calculator always floating with specific size
|
||||
title:*Calculator* = floating:true, width:400, height:300
|
||||
|
||||
# Picture-in-picture windows
|
||||
title:Picture-in-Picture = floating:true, sticky:true
|
||||
|
||||
# Gimp dialogs floating
|
||||
class:Gimp = floating:true
|
||||
|
||||
# Video players fullscreen
|
||||
class:mpv = fullscreen:true
|
||||
class:vlc = fullscreen:true</code></pre>
|
||||
</div>
|
||||
|
||||
<h2>Environment Variables</h2>
|
||||
<div class="table-container">
|
||||
<table>
|
||||
|
||||
Reference in New Issue
Block a user