riazj.com

source code for this website
git clone https://riazj.com/git/riazj.com
Log | Files | Refs | LICENSE

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:
Marticles/technology-i-use.html | 1-
Aarticles/wmutils.html | 34++++++++++++++++++++++++++++++++++
Mindex.html | 1+
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>