feat: add news ticker with sentiment analysis and error codes

docs: update site links to retoor repository and documentation
chore: add author lines to header files
build: rebuild binary and object files
This commit is contained in:
2025-12-28 04:30:10 +01:00
parent 7a4f7a82ad
commit 9182d9931e
42 changed files with 262 additions and 76 deletions
+7 -7
View File
@@ -28,7 +28,7 @@
<a href="architecture.html">Architecture</a>
</div>
</li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
<div class="nav-toggle" onclick="toggleNav()">
<span></span>
@@ -434,21 +434,21 @@ model = google/gemini-2.0-flash-exp:free</code></pre>
<li><a href="features.html">Features</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="ai-features.html">AI Integration</a></li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Community</h4>
<ul>
<li><a href="https://github.com/dwn/dwn/issues">Issue Tracker</a></li>
<li><a href="https://github.com/dwn/dwn/discussions">Discussions</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/LICENSE">License (MIT)</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/issues">Issue Tracker</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/discussions">Discussions</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/LICENSE">License (MIT)</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>DWN Window Manager - Open Source under the MIT License</p>
<p>DWN Window Manager by retoor &lt;retoor@molodetz.nl&gt; - MIT License</p>
</div>
</div>
</footer>
+7 -7
View File
@@ -28,7 +28,7 @@
<a href="architecture.html">Architecture</a>
</div>
</li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
<div class="nav-toggle" onclick="toggleNav()">
<span></span>
@@ -541,21 +541,21 @@ extern DWNState *dwn; // Global singleton</code></pre>
<li><a href="features.html">Features</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="ai-features.html">AI Integration</a></li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Community</h4>
<ul>
<li><a href="https://github.com/dwn/dwn/issues">Issue Tracker</a></li>
<li><a href="https://github.com/dwn/dwn/discussions">Discussions</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/LICENSE">License (MIT)</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/issues">Issue Tracker</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/discussions">Discussions</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/LICENSE">License (MIT)</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>DWN Window Manager - Open Source under the MIT License</p>
<p>DWN Window Manager by retoor &lt;retoor@molodetz.nl&gt; - MIT License</p>
</div>
</div>
</footer>
+7 -7
View File
@@ -28,7 +28,7 @@
<a href="architecture.html">Architecture</a>
</div>
</li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
<div class="nav-toggle" onclick="toggleNav()">
<span></span>
@@ -496,21 +496,21 @@ model = google/gemini-2.0-flash-exp:free
<li><a href="features.html">Features</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="ai-features.html">AI Integration</a></li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Community</h4>
<ul>
<li><a href="https://github.com/dwn/dwn/issues">Issue Tracker</a></li>
<li><a href="https://github.com/dwn/dwn/discussions">Discussions</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/LICENSE">License (MIT)</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/issues">Issue Tracker</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/discussions">Discussions</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/LICENSE">License (MIT)</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>DWN Window Manager - Open Source under the MIT License</p>
<p>DWN Window Manager by retoor &lt;retoor@molodetz.nl&gt; - MIT License</p>
</div>
</div>
</footer>
+11 -9
View File
@@ -28,7 +28,7 @@
<a href="architecture.html">Architecture</a>
</div>
</li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
<div class="nav-toggle" onclick="toggleNav()">
<span></span>
@@ -360,8 +360,10 @@
<h3>Bottom Panel</h3>
<p>
The bottom panel shows the current time and date. Both panels can be hidden
in the configuration if you prefer a minimal setup.
The bottom panel shows the current time and a scrolling news ticker. Navigate
news articles with <kbd>Super</kbd> + <kbd>Up</kbd>/<kbd>Down</kbd> and open
the current article with <kbd>Super</kbd> + <kbd>Return</kbd>. Both panels can
be hidden in the configuration if you prefer a minimal setup.
</p>
<h2>Next Steps</h2>
@@ -399,21 +401,21 @@
<li><a href="features.html">Features</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="ai-features.html">AI Integration</a></li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Community</h4>
<ul>
<li><a href="https://github.com/dwn/dwn/issues">Issue Tracker</a></li>
<li><a href="https://github.com/dwn/dwn/discussions">Discussions</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/LICENSE">License (MIT)</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/issues">Issue Tracker</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/discussions">Discussions</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/LICENSE">License (MIT)</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>DWN Window Manager - Open Source under the MIT License</p>
<p>DWN Window Manager by retoor &lt;retoor@molodetz.nl&gt; - MIT License</p>
</div>
</div>
</footer>
+23 -8
View File
@@ -28,7 +28,7 @@
<a href="architecture.html">Architecture</a>
</div>
</li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
<div class="nav-toggle" onclick="toggleNav()">
<span></span>
@@ -160,12 +160,27 @@
<p>Optional bottom panel for additional information:</p>
<ul style="margin-top: 1rem; padding-left: 1.25rem; color: var(--text-muted);">
<li><strong>Clock Display</strong> - Time and date</li>
<li><strong>Status Messages</strong> - System notifications</li>
<li><strong>News Ticker</strong> - Scrolling news feed with navigation</li>
<li><strong>Customizable</strong> - Can be hidden in config</li>
</ul>
</div>
</div>
<h3 style="margin-top: 3rem; margin-bottom: 1.5rem;">News Ticker</h3>
<div class="card">
<p>The bottom panel includes a scrolling news ticker that displays headlines from a news feed.
Navigate through articles using keyboard shortcuts:</p>
<ul style="margin-top: 1rem; padding-left: 1.25rem; color: var(--text-muted);">
<li><kbd>Super</kbd> + <kbd>Down</kbd> - Next article</li>
<li><kbd>Super</kbd> + <kbd>Up</kbd> - Previous article</li>
<li><kbd>Super</kbd> + <kbd>Return</kbd> - Open in browser</li>
</ul>
<p style="margin-top: 1rem; color: var(--text-muted);">
The ticker updates automatically and caches up to 50 articles. Smooth scrolling animation
at 80 pixels per second keeps you informed without distraction.
</p>
</div>
<h3 style="margin-top: 3rem; margin-bottom: 1.5rem;">System Tray Features</h3>
<div class="features-grid">
<div class="card">
@@ -387,21 +402,21 @@
<li><a href="features.html">Features</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="ai-features.html">AI Integration</a></li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Community</h4>
<ul>
<li><a href="https://github.com/dwn/dwn/issues">Issue Tracker</a></li>
<li><a href="https://github.com/dwn/dwn/discussions">Discussions</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/LICENSE">License (MIT)</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/issues">Issue Tracker</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/discussions">Discussions</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/LICENSE">License (MIT)</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>DWN Window Manager - Open Source under the MIT License</p>
<p>DWN Window Manager by retoor &lt;retoor@molodetz.nl&gt; - MIT License</p>
</div>
</div>
</footer>
+10 -10
View File
@@ -29,7 +29,7 @@
<a href="architecture.html">Architecture</a>
</div>
</li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
<div class="nav-toggle" onclick="toggleNav()">
<span></span>
@@ -109,7 +109,7 @@
<div class="container">
<div class="stats">
<div class="stat-item">
<h3>~10K</h3>
<h3>~15K</h3>
<p>Lines of Pure C</p>
</div>
<div class="stat-item">
@@ -121,7 +121,7 @@
<p>Memory Footprint</p>
</div>
<div class="stat-item">
<h3>64+</h3>
<h3>43+</h3>
<p>Keyboard Shortcuts</p>
</div>
</div>
@@ -143,7 +143,7 @@
<button class="copy-btn" onclick="copyCode(this)">Copy</button>
</div>
<pre><code># Clone the repository
git clone https://github.com/dwn/dwn.git
git clone https://retoor.molodetz.nl/retoor/dwn.git
cd dwn
# Install dependencies (auto-detects your distro)
@@ -328,21 +328,21 @@ echo "exec dwn" >> ~/.xinitrc</code></pre>
<li><a href="features.html">Features</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="ai-features.html">AI Integration</a></li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Community</h4>
<ul>
<li><a href="https://github.com/dwn/dwn/issues">Issue Tracker</a></li>
<li><a href="https://github.com/dwn/dwn/discussions">Discussions</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/LICENSE">License (MIT)</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/issues">Issue Tracker</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/discussions">Discussions</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/LICENSE">License (MIT)</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>DWN Window Manager - Open Source under the MIT License</p>
<p>DWN Window Manager by retoor &lt;retoor@molodetz.nl&gt; - MIT License</p>
</div>
</div>
</footer>
+12 -12
View File
@@ -28,7 +28,7 @@
<a href="architecture.html">Architecture</a>
</div>
</li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
<div class="nav-toggle" onclick="toggleNav()">
<span></span>
@@ -133,7 +133,7 @@
<span>Terminal</span>
<button class="copy-btn" onclick="copyCode(this)">Copy</button>
</div>
<pre><code>git clone https://github.com/dwn/dwn.git
<pre><code>git clone https://retoor.molodetz.nl/retoor/dwn.git
cd dwn</code></pre>
</div>
</div>
@@ -232,7 +232,7 @@ sudo apt install -y \
pkg-config
# Build and install
git clone https://github.com/dwn/dwn.git
git clone https://retoor.molodetz.nl/retoor/dwn.git
cd dwn
make
sudo make install</code></pre>
@@ -259,7 +259,7 @@ sudo dnf install -y \
pkg-config
# Build and install
git clone https://github.com/dwn/dwn.git
git clone https://retoor.molodetz.nl/retoor/dwn.git
cd dwn
make
sudo make install</code></pre>
@@ -285,7 +285,7 @@ sudo pacman -S --needed \
pkg-config
# Build and install
git clone https://github.com/dwn/dwn.git
git clone https://retoor.molodetz.nl/retoor/dwn.git
cd dwn
make
sudo make install</code></pre>
@@ -316,7 +316,7 @@ sudo xbps-install -S \
pkg-config
# Build and install
git clone https://github.com/dwn/dwn.git
git clone https://retoor.molodetz.nl/retoor/dwn.git
cd dwn
make
sudo make install</code></pre>
@@ -586,21 +586,21 @@ sudo dnf install dejavu-fonts-all liberation-fonts # Fedora</code></pre>
<li><a href="features.html">Features</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="ai-features.html">AI Integration</a></li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Community</h4>
<ul>
<li><a href="https://github.com/dwn/dwn/issues">Issue Tracker</a></li>
<li><a href="https://github.com/dwn/dwn/discussions">Discussions</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/LICENSE">License (MIT)</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/issues">Issue Tracker</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/discussions">Discussions</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/LICENSE">License (MIT)</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>DWN Window Manager - Open Source under the MIT License</p>
<p>DWN Window Manager by retoor &lt;retoor@molodetz.nl&gt; - MIT License</p>
</div>
</div>
</footer>
+42 -8
View File
@@ -28,7 +28,7 @@
<a href="architecture.html">Architecture</a>
</div>
</li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
<div class="nav-toggle" onclick="toggleNav()">
<span></span>
@@ -71,7 +71,7 @@
<td>Open terminal (configurable)</td>
</tr>
<tr>
<td><kbd>Alt</kbd> + <kbd>F2</kbd></td>
<td><kbd>Super</kbd> / <kbd>Alt</kbd> + <kbd>F2</kbd></td>
<td>Open application launcher (dmenu/rofi)</td>
</tr>
<tr>
@@ -82,6 +82,10 @@
<td><kbd>Super</kbd> + <kbd>B</kbd></td>
<td>Open web browser</td>
</tr>
<tr>
<td><kbd>Print</kbd></td>
<td>Take screenshot (xfce4-screenshooter)</td>
</tr>
</tbody>
</table>
</div>
@@ -285,6 +289,36 @@
</table>
</div>
<!-- News Ticker -->
<h2 id="news">News Ticker</h2>
<p style="color: var(--text-muted); margin-bottom: 1rem;">
Navigate the scrolling news ticker displayed in the bottom panel.
</p>
<div class="table-wrapper">
<table class="shortcuts-table">
<thead>
<tr>
<th style="width: 40%;">Shortcut</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td><kbd>Super</kbd> + <kbd>Down</kbd></td>
<td>Next news article</td>
</tr>
<tr>
<td><kbd>Super</kbd> + <kbd>Up</kbd></td>
<td>Previous news article</td>
</tr>
<tr>
<td><kbd>Super</kbd> + <kbd>Return</kbd></td>
<td>Open current article in browser</td>
</tr>
</tbody>
</table>
</div>
<!-- Help & System -->
<h2 id="system">Help & System</h2>
<div class="table-wrapper">
@@ -389,21 +423,21 @@
<li><a href="features.html">Features</a></li>
<li><a href="installation.html">Installation</a></li>
<li><a href="ai-features.html">AI Integration</a></li>
<li><a href="https://github.com/dwn/dwn">GitHub</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn">Git</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Community</h4>
<ul>
<li><a href="https://github.com/dwn/dwn/issues">Issue Tracker</a></li>
<li><a href="https://github.com/dwn/dwn/discussions">Discussions</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://github.com/dwn/dwn/blob/main/LICENSE">License (MIT)</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/issues">Issue Tracker</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/discussions">Discussions</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/CONTRIBUTING.md">Contributing</a></li>
<li><a href="https://retoor.molodetz.nl/retoor/dwn/blob/main/LICENSE">License (MIT)</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>DWN Window Manager - Open Source under the MIT License</p>
<p>DWN Window Manager by retoor &lt;retoor@molodetz.nl&gt; - MIT License</p>
</div>
</div>
</footer>