|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Installation - 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>Installation</h1>
|
|
<p class="lead">Install DWN on your Linux system</p>
|
|
</div>
|
|
|
|
<div class="toc">
|
|
<div class="toc-title">On this page</div>
|
|
<ul class="toc-list">
|
|
<li><a href="#requirements">Requirements</a></li>
|
|
<li><a href="#dependencies">Dependencies</a></li>
|
|
<li><a href="#building">Building</a></li>
|
|
<li><a href="#installing">Installing</a></li>
|
|
<li><a href="#testing">Testing</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<h2 id="requirements">Requirements</h2>
|
|
<ul>
|
|
<li>Linux with X11 (Xorg)</li>
|
|
<li>GCC compiler</li>
|
|
<li>Make build system</li>
|
|
<li>pkg-config</li>
|
|
</ul>
|
|
|
|
<h2 id="dependencies">Dependencies</h2>
|
|
|
|
<h3>Ubuntu / Debian</h3>
|
|
<div class="code-block">
|
|
<pre><code>sudo apt update && sudo apt install -y \
|
|
build-essential \
|
|
pkg-config \
|
|
libx11-dev \
|
|
libxext-dev \
|
|
libxinerama-dev \
|
|
libxrandr-dev \
|
|
libxft-dev \
|
|
libxtst-dev \
|
|
libfontconfig1-dev \
|
|
libdbus-1-dev \
|
|
libcurl4-openssl-dev \
|
|
libpng-dev \
|
|
libtesseract-dev \
|
|
libleptonica-dev \
|
|
tesseract-ocr \
|
|
tesseract-ocr-eng \
|
|
xserver-xephyr \
|
|
dmenu</code></pre>
|
|
</div>
|
|
|
|
<h3>Fedora / RHEL</h3>
|
|
<div class="code-block">
|
|
<pre><code>sudo dnf install -y \
|
|
gcc make \
|
|
pkg-config \
|
|
libX11-devel \
|
|
libXext-devel \
|
|
libXinerama-devel \
|
|
libXrandr-devel \
|
|
libXtst-devel \
|
|
dbus-devel \
|
|
libcurl-devel \
|
|
libpng-devel \
|
|
tesseract-devel \
|
|
leptonica-devel \
|
|
tesseract-langpack-eng \
|
|
xorg-x11-server-Xephyr \
|
|
dmenu</code></pre>
|
|
</div>
|
|
|
|
<h3>Arch Linux</h3>
|
|
<div class="code-block">
|
|
<pre><code>sudo pacman -S --needed \
|
|
base-devel \
|
|
pkg-config \
|
|
libx11 \
|
|
libxext \
|
|
libxinerama \
|
|
libxrandr \
|
|
libxtst \
|
|
dbus \
|
|
curl \
|
|
libpng \
|
|
tesseract \
|
|
tesseract-data-eng \
|
|
leptonica \
|
|
xorg-server-xephyr \
|
|
dmenu</code></pre>
|
|
</div>
|
|
|
|
<h3>Automatic Installation</h3>
|
|
<p>The Makefile can automatically detect your package manager and install dependencies:</p>
|
|
<div class="code-block">
|
|
<pre><code>make deps</code></pre>
|
|
</div>
|
|
|
|
<h2 id="building">Building</h2>
|
|
|
|
<h3>Clone the Repository</h3>
|
|
<div class="code-block">
|
|
<pre><code>git clone https://github.com/retoor/dwn.git
|
|
cd dwn</code></pre>
|
|
</div>
|
|
|
|
<h3>Build Release Version</h3>
|
|
<div class="code-block">
|
|
<pre><code>make</code></pre>
|
|
</div>
|
|
|
|
<h3>Build Debug Version</h3>
|
|
<div class="code-block">
|
|
<pre><code>make debug</code></pre>
|
|
</div>
|
|
|
|
<h3>Build with Sanitizers</h3>
|
|
<div class="code-block">
|
|
<pre><code>make sanitize</code></pre>
|
|
</div>
|
|
|
|
<h2 id="installing">Installing</h2>
|
|
|
|
<h3>System-wide Installation</h3>
|
|
<div class="code-block">
|
|
<pre><code>sudo make install</code></pre>
|
|
</div>
|
|
|
|
<p>This installs:</p>
|
|
<ul>
|
|
<li><code>/usr/local/bin/dwn</code> - The window manager binary</li>
|
|
<li><code>/usr/local/share/xsessions/dwn.desktop</code> - Session file for display managers</li>
|
|
<li><code>/etc/dwn/config.example</code> - Example configuration file</li>
|
|
</ul>
|
|
|
|
<h3>User Configuration</h3>
|
|
<p>Copy the example configuration to your home directory:</p>
|
|
<div class="code-block">
|
|
<pre><code>mkdir -p ~/.config/dwn
|
|
cp /etc/dwn/config.example ~/.config/dwn/config</code></pre>
|
|
</div>
|
|
|
|
<h3>Uninstalling</h3>
|
|
<div class="code-block">
|
|
<pre><code>sudo make uninstall</code></pre>
|
|
</div>
|
|
|
|
<h2 id="testing">Testing</h2>
|
|
|
|
<h3>Test in Xephyr (Recommended)</h3>
|
|
<p>Test DWN in a nested X server without affecting your current session:</p>
|
|
<div class="code-block">
|
|
<pre><code>make run</code></pre>
|
|
</div>
|
|
|
|
<p>This starts DWN in a 1280x720 Xephyr window on display :1.</p>
|
|
|
|
<h3>Manual Testing</h3>
|
|
<div class="code-block">
|
|
<pre><code># Start Xephyr
|
|
Xephyr :1 -screen 1920x1080 &
|
|
|
|
# Run DWN on the new display
|
|
DISPLAY=:1 ./bin/dwn</code></pre>
|
|
</div>
|
|
|
|
<h3>Using DWN as Your Window Manager</h3>
|
|
<ol>
|
|
<li>Log out of your current session</li>
|
|
<li>At the login screen, select "DWN" from the session menu</li>
|
|
<li>Log in</li>
|
|
</ol>
|
|
|
|
<div class="alert alert-info">
|
|
<strong>Tip:</strong> Keep a terminal open or know the shortcut <code>Ctrl+Alt+T</code> to open one, in case you need to recover from any issues.
|
|
</div>
|
|
|
|
<footer>
|
|
<p>DWN Window Manager - retoor <retoor@molodetz.nl></p>
|
|
</footer>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
|
|
<script src="js/main.js"></script>
|
|
</body>
|
|
</html>
|