Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 4.36 KB

README.md

File metadata and controls

45 lines (32 loc) · 4.36 KB

DWM - Dynamic Window Manager

dwm is an extremely fast, small, and dynamic window manager for X.

Repository Setup

  • Clone the repository
  • Setup upstream remote:
     git remote add upstream https://git.suckless.org/dwm
     git remote set-url --push upstream DISABLE
     git checkout -b upstream upstream/master

Patches

  • actualfullscreen via patch: Actually toggle fullscreen for a window, instead of toggling the status bar and the monocle layout.
  • bartoggle via patch: Allows you to toggle every part of the dwm bar with keybinds.
  • colorbar via patch: Lets you change the foreground and background color of every statusbar element.
  • hidevacanttags via patch: Prevents dwm from drawing tags with no clients (i.e. vacant) on the bar.
  • restoreafterstart via patch: Save tag of every window/client to the file and after dwm is restarted the file is read and used to get all the windows/clients in their previous tags.
  • restartsig via patch: Enable dwm to be restarted via MOD+CTRL+SHIFT+Q or by kill -HUP dwmpid (required for restart after start).
  • scratchpads via patch: Enables multiple scratchpads, each with one asigned window. Accessible with MODKEY+shift+enter.
  • stacker via patch: Provides comprehensive utilities for managing the client stack.
  • statuscmd via patch: Add clickable status bar sections.
  • sticky via patch: Press MODKEY+s (default) to make a client 'sticky'. A sticky client is visible on all tags.
  • swallow via patch: Adds "window swallowing" to dwm as known from Plan 9's windowing system rio.
  • xresources via patch: Allows to handle settings from Xresources (works with pywal).

Additional Layouts

  • rmaster via patch: Enables swapping the master- and stack area such that the master-client appears on the right and the stack-clients appear on the left.
  • centeredmaster via patch: Two centered-based layouts

Additional Features

Session Persistence

Added support for saving and restoring client state across restarts. When dwm is restarted, all open windows are returned to their previous monitor and tag assignments automatically.

To use this feature, dwm must be restarted in a way that triggers saveSession() before exiting and restoreSession() after startup (done automatically via main(). The session state is written to SESSION_FILE on exit and read back on the next startup. The file is deleted after a successful restore, so it does not persist across full logouts or reboots — only across in-place restarts.

Status Bar Click Mask

Added modifiers to sigstatusbar, which can be used by dwmblocks to set $BLOCK_MODIFIERS. This is used to combine a mouse button click while holding down the Shift key.