Skip to content
/ dwm Public

A personal fork of the suckless window manager.

License

Notifications You must be signed in to change notification settings

dyamon/dwm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A personal fork of dwm - the suckless dynamic window manager

Patches

Look at the commit history for more details on how these patches were applied.

Statusbar

  • notitle - remove window name area from statusbar;
  • statusallmons - render statusbar on all monitors;
  • hidevacanttags - display only tags with at least one client;
  • statuspadding - add configurable horizontal/vertical padding to statusbar;
  • status2d - allow changing fg/bg color and rectangle drawing in statusbar.
  • statuscmd - integrates with dwmblocks to provide clickable areas in the statusbar through signals.

Layouts

  • bottomstack - mirrored version of the tile layout (only bstack has been patched and renamed to btile);
  • centeredmaster - layout where the master area is positioned on a central column with the stack area split on both sides (only the centeredmaster layout has been patched and renamed to centmaster);
  • gaplessgrid - positions clients in a grid;
  • deck - monocle for the stack area. The master area is maintained as for the tile layout while the stack area behaves like a deck of cards;
  • actualfullscreen - add true, pre-client, toggleable fullscreen;
  • sticky - add per-client, toggleable stickiness across tags;
  • ru_gaps - add gaps between clients, modifiable at runtime. Additional patches had to be applied for each additional patched layout;
  • cyclelayouts - add the ability to cycle through layouts instead of binding each of them to a specific key.

Rules

  • center - add a rule to center a (possibly floating) client on the screen;
  • swallow - allows graphical interfaces to take over the window terminal who spawned them. This, for example, is useful to avoid the hack of embedding sxiv or mpv into the terminal window when spawning them from a cli/tui interface.

Additional commands

  • restartsig - add signal handling to cleanly kill/restart dwm;
  • movestack - add ability to move selected client up/down the stack.

Requirements

In order to build dwm you need the Xlib header files.

Installation

Edit config.mk to match your local setup (dwm is installed into the /usr/local namespace by default).

Afterwards enter the following command to build and install dwm (if necessary as root):

make clean install

Running dwm

Add the following line to your .xinitrc to start dwm using startx:

exec dwm

In order to connect dwm to a specific display, make sure that the DISPLAY environment variable is set correctly, e.g.:

DISPLAY=foo.bar:1 exec dwm

(This will start dwm on display :1 of the host foo.bar.)

In order to display status info in the bar, you can do something like this in your .xinitrc:

while xsetroot -name "`date` `uptime | sed 's/.*,//'`"
do
	sleep 1
done &
exec dwm

Configuration

The configuration of dwm is done by creating a custom config.h and (re)compiling the source code.

About

A personal fork of the suckless window manager.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published