commit 0dbac403a8b12e57d376eb55601fd1ae1dd0d4c3
parent 4213dccb022b3104e67edaec96196e9b20556ea6
Author: Riaz <riaz@riazj.com>
Date: Mon, 28 Jul 2025 09:22:10 -0700
Write article about managing windows without a WM
Diffstat:
3 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/articles/technology-i-use.html b/articles/technology-i-use.html
@@ -25,7 +25,6 @@
</li>
<li>Text Editor: <a href="https://martanne.github.io/vis/">Vis</a></li>
<li>Document Viewer: <a href="https://pwmt.org/projects/zathura/">zathura</a></li>
-<li>Window Manager: <a href="https://dwm.suckless.org/">dwm</a></li>
<li>Terminal: <a href="https://st.suckless.org/">st</a></li>
<li><a href="https://github.com/astier/xhidecursor">xhidecursor</a>: hide the cursor on keypress</li>
</ul>
diff --git a/articles/wmutils.html b/articles/wmutils.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8">
+<title>Managing Windows Without a WM | Riaz's Website</title>
+<link rel="stylesheet" href="/style.css">
+<link rel="icon" href="data:,">
+<meta name="description" content="Simple monocle-only setup with wmutils, a minimalist alternative to window managers">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+</head>
+<body>
+<h1>Managing Windows Without a WM</h1>
+<hr>
+<article>
+<p><a href="https://github.com/wmutils/core">wmutils</a> is a set of tools for X window manipulation. These individual programs can be combined to uniquely manage windows.</p>
+<p>When I used dwm, I set the monocle layout to the default and rarely used the tiling mode. My workflow looked like this:</p>
+<ol>
+<li>Work in a window.</li>
+<li>Open a second window that is referenced (such as a web browser).</li>
+<li>Run a few commands in a third window.</li>
+<li>Try to go to the previous one for reference.</li>
+<li>Waddle around with Alt+j or Alt+k after realizing the opposite was needed, or move a window to a different tag.</li>
+</ol>
+<p>With wmutils, this is no longer a problem as it provides a program to change the stacking order, allowing me to bind Alt+Tab to switch between the last two focused windows, preventing distracted multitasking.</p>
+<p>The scripts I use are based on z3bra's from the <a href="https://github.com/wmutils/contrib">contrib repo</a>. In my <a href="/git/dotfiles/file/.config/xinitrc">xinitrc</a>, I call the <a href="/git/dotfiles/file/.local/bin/winwatch.html">winwatch script</a> (depends on <a href="https://github.com/wmutils/opt">wew</a>) to fullscreen windows on the MAP X event and focus the next window when one is destroyed. The MAP event is used rather than CREATE to work with web browsers that create multiple windows.</p>
+<p>In dwm, even when in monocle mode, other windows were still visible at a small gap to the bottom of my screen. With the <a href="/git/dotfiles/file/.local/bin/fullscreen.html">script for fullscreening</a>, a fullscreen means a fullscreen.</p>
+<p>For a status bar, instead of using xsetroot, I now use <a href="https://github.com/LemonBoy/bar">lemonbar</a> with this command: <code>while status; do sleep 1m; done | lemonbar -d -F '#ccc' &</code>. The -d option prevents it from being focused or deleted by <a href="/git/dotfiles/file/.config/sxhkd/sxhkdrc.html">my keybinds</a>. The <a href="/git/dotfiles/file/.local/bin/status.html">status command</a> does the following: <code>echo "%{r} $(cat /sys/class/power_supply/BAT0/capacity)% | $(date +%I:%M) | $(uptime -p)"</code>. The <code>%{r}</code> right-aligns the text.</p>
+<p>In the fullscreen script, there is an offset, preventing the windows from hiding the status bar. xprop can be used to find the resolution of a window.</p>
+</article>
+<footer>
+<hr>
+<a href="/">Home Page</a></footer>
+</body>
+</html>
diff --git a/index.html b/index.html
@@ -15,6 +15,7 @@
<nav><a href="git/">Code</a> | <a href="contact">Contact</a> | <a href="links">Links</a></nav>
<h2>Articles</h2>
<ul>
+<li><time datetime="2025-07-28">2025 Jul 28</time> <a href="/articles/wmutils">Managing Windows Without a WM</a></li>
<li><time datetime="2025-07-24">2025 Jul 24</time> <a href="/articles/pw">Write a Password Manager in POSIX Shell</a></li>
<li><time datetime="2025-07-19">2025 Jul 19</time> <a href="/articles/tldr">Simple TLDR Client Written in POSIX Shell</a></li>
<li><time datetime="2025-06-08">2025 Jun 08</time> <a href="/articles/dictionaries">Notes on Offline English Dictionaries</a></li>