DH_INSTALLWM(1)

✨ DH_INSTALLWM(1) β€” the debhelper era ✨

okay bestie, so this is a page from the Debhelper manual set (yes, that debhelper, the icon herself), and today's episode is all about dh_installwm. grab ur iced coffee, we're registering a window manager πŸ’…


🌸 NAME 🌸

dh_installwm β€” register a window manager. that's the whole vibe. she puts your WM on the map, literally, via the alternatives system. no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

dh_installwm [debhelper options] [-n] [--priority=n] [wm ...]

look at her. small. mighty. a little bit iconic.


πŸ’– DESCRIPTION πŸ’–

so dh_installwm is a debhelper program, and her whole job β€” her main character energy, if you will β€” is generating the postinst and prerm commands that register a window manager with update-alternatives(8). slay.

the window manager's man page also gets registered as a slave symlink (that's in v6 mode and up, iykyk). and here's the catch, bestie: that man page must already be installed in usr/share/man/man1/ inside the package build directory before you call dh_installwm. like, she cannot manifest it for you. it has to be there first. πŸ™ˆ

oh and in compat 9 and earlier? the manpage was optional. different times, different rules. she's grown. 🌱


πŸŽ€ FILES πŸŽ€

  • debian/package.wm β€” the list of window manager programs you want to register. that's it, that's the file. but wait β€” she supports substitution variables in compat 13 and later, exactly as documented over in debhelper(7). fancy. ✨

πŸ‘‘ OPTIONS πŸ‘‘

  • --priority=n β€” sets the priority of the window manager. the default is 20, which ngl is too low for most window managers. like, embarrassingly low. go check the Debian Policy document for how to actually calculate the correct value, because guessing is not the move. πŸ’€
  • -n, --no-scripts β€” don't touch postinst/prerm scripts. this literally turns the entire command into a no-op. she's showing up but doing nothing. respect honestly.
  • -A, --all β€” modify scripts for window managers specified by command line parameters in ALL packages acted on, not just the first. all of them. every single one. inclusivity queen. 🫢
  • wm ... β€” the window manager programs to register. the actual list, right there on the command line.

⚠️ NOTES ⚠️

not to be dramatic but: this command is not idempotent. like, at all.

you should call dh_prep(1) between invocations of this command. otherwise? it may cause multiple instances of the same text to be added to your maintainer scripts. yes, duplicated. yes, messy. we don't do that. 😭


🌈 SEE ALSO 🌈

also, and this is important β€” this program is a part of debhelper. she's not solo, she's in the group chat. πŸ’œ


⭐ AUTHOR ⭐

Joey Hess <joeyh@debian.org> β€” the founder, the original, the blueprint. we stan. πŸŽ€


and that's the page bestie! πŸ’– this one shipped as part of debhelper version 14.5ubuntu1, dated 2026-09-21. go forth, register ur window managers, set a priority that isn't 20, and remember to run dh_prep(1) in between. mwah. πŸ’…βœ¨

πŸ“¦ where this page comes from