lmariscal / dwm-1

My personal patched build of Suckless's DWM.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dynamic Window Manager

This is my personal build of Suckless's dwm.

Each branch of this repository contains a feature implemented on top of the base build of dwm from Suckless.

All desired features are then merged into the build branch. The current build contains patches from all other branches, other than the alpha and swallow patches.

Patches & Features

All patches that I have applied are located in patches.

  • attach aside: New clients are attached and focused in the slave area, not master area.
  • autostart: Define programs to autostart in config.def.h.
  • awesome bar: Make status bar similar to awesomewm. On this build, this patch only makes visual changes.
  • bar padding: Add option to add space between bar and edge of screen.
  • always center: Floating windows are always centered.
  • cfacts: Use Super + Shift + j/k to resize slave windows
  • gaps: Use Super + -/+(=) to adjust gap size, Super + Shift + '+' to reset
  • hide_vacant_tags: Hide vacant tags from the status bar
  • monocle symbol: Always show monocle layout symbol in status bar, rather than window count
  • pertag: Allow each tag to have its own layout
  • scratchpad: Use Super + grave to show and hide scratchpad terminal
  • status padding: Add padding to status bar text (not positive this is working properly)

Support for clickable status bar modules is also included, when used along with a patched version of dwmblocks. See here.

Fonts

Fonts:

  • Cherry: Default text font.
  • Siji: Icon font.
  • JoyPixels: Emoji font, not used in bar except when a window's title contains them.

Cherry and Siji are bitmap fonts. If there are any issues with displaying these fonts, make sure the file /etc/fonts/conf.d/70-no-bitmaps.conf does not exist.

On my system, bitmaps fonts only work when using the .bdf version of the font, rather than the .pcf format.

See below for notes about making sure JoyPixels, and emoji fonts in general, work properly.

Bindings

The keybindings setup for this build are highly personalized to my own system, so I recommend looking at config.def.h to see all the the keybindings I've setup.

It may be helpful to look at my dotfiles repository to understand the scripts/commands the keybindings are mapped to execute.

In general, however, Super + Alt is used to launch programs & applications, while Super + Ctrl is used to launch helper dmenu scripts.

Use my build

Since my current build supports emoji's, it is required replace libXft with the patched version until the fix gets implemented in the official build.

libxft-bgra is available in the AUR.

After replacing the standard libXft with the package above, you can build and install dwm by cloning this repository (insuring you are on the build branch).

Finally, run:

# make install

After making changes, be sure to include the clean target when rebuilding St:

# make clean install

About

My personal patched build of Suckless's DWM.

License:MIT License


Languages

Language:C 92.1%Language:Roff 5.4%Language:Makefile 2.2%Language:C++ 0.3%