Dwm

x11-wm/dwm


Current Maintainer(s):Ari Malinen
Source Repository:Repository:Gentoo Portage Tree

http://dwm.suckless.org/

Summary: dwm is an extremely fast and lightweight window manager. It manages windows in tiled, floating and monocle layouts.

News

Drobbins

New Squeezelite Ebuild

Squeezelite streams audio from Logitech Media Server, supporting FLAC, MP3, and hi-res DSD (SACD) formats.
2017-01-06 by Drobbins
Drobbins

New Raspberry Pi and ODROID builds

We now have builds that are optimized for various Raspberry Pi and ODROID systems.
2017-01-02 by Drobbins
Oleg

LLVM Targets

LLVM Targets
2016-12-08 by Oleg
More...

Dwm

Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

Installation

A program launcher is needed to run programs from dwm. You can choose dmenu or rofi.

/etc/portage/make.conf - Set dmenu USE-flag
USE="$USE dmenu"
# emerge -av dwm

Configuration

dwm is configured by editing /etc/portage/savedconfig/x11-wm/dwm-6.0 and rebuilding. Enable savedconfig.

/etc/portage/package.use
x11-wm/dwm savedconfig

Edit configuration file.

# nano /etc/portage/savedconfig/x11-wm/dwm-6.0

Rebuild dwm.

# emerge dwm

Basic usage

Shortcut Description
Alt META
META+p Run program with dmenu
META+3 Move to tag number 3
META+j / k Move to next / previous client
META+i / d Increase / decrease master clients
META+Enter Move client to master area
META+h / l Resize master area
META+t / f / m Switch to title / floating / monocle layout
shift+META+c Kill client
shift+META+3 Move client to tag 3
shift+META+Enter Run terminal
shift+META+q Quit dwm

Patching

Patches in /etc/portage/patches/x11-wm/dwm are applied when emerging dwm. Patches must have a .patch file extension.

# mkdir -p /etc/portage/patches/x11-wm/dwm
# cd /etc/portage/patches/x11-wm/dwm
# wget -O dwm-6.0-pertag.patch http://dwm.suckless.org/patches/dwm-6.0-pertag.diff

Rebuild dwm.

# emerge dwm

Customize statusbar

Dwm has a statusbar that can be customized with xsetroot. You can run xsetroot from ~/.xinitrc.

~/.xinitrc
ifname="wlan0"
interval=5

rxs=0
txs=0

while true; do
        temp="$(cat /sys/class/thermal/thermal_zone1/temp | cut -b1,2)C"
        load="$(cat /proc/loadavg | cut -d " " -f 1)"
        bandwidth="${rxs}KiB/s ${txs}KiB/s"
        batusage="$(cat /sys/class/power_supply/BAT0/capacity)%"
        batstatus="$(cat /sys/class/power_supply/BAT0/status)"
        date="$(date +"%a %d.%m %H:%M")"

        xsetroot -name "$temp $load | $bandwidth | $batusage $batstatus | $date"

        rx1=$(cat /sys/class/net/$ifname/statistics/rx_bytes)
        tx1=$(cat /sys/class/net/$ifname/statistics/tx_bytes)
        sleep $interval
        rx2=$(cat /sys/class/net/$ifname/statistics/rx_bytes)
        tx2=$(cat /sys/class/net/$ifname/statistics/tx_bytes)
        rxs=$(expr $rx2 - $rx1)
        txs=$(expr $tx2 - $tx1)
        rxs=$(expr $rxs / $interval)
        txs=$(expr $txs / $interval)
        rxs=$(expr $rxs / 1024)
        txs=$(expr $txs / 1024)
done &

exec dwm

Starting

You can start dwm by configuring ~/.xinitrc and running startx.

~/.xinitrc
exec dwm
$ startx

To autostart dwm on login see Getty as display manager.