Difference between revisions of "Package:Dwm"

(Updated to reflect changes in dwm ebuilds)
Line 7: Line 7:
== Installation ==
== Installation ==
dmenu is needed to run programs from dwm.
Program launcher is needed to run programs from dwm. You can choose dmenu or rofi.
{{file|name=/etc/portage/make.conf|desc=Set dmenu USE-flag|body=
USE="$USE dmenu"
###i## emerge -av dwm dmenu
###i## emerge -av dwm

Revision as of 21:02, January 14, 2015


Current Maintainer(s):Ari Malinen
Source Repository:Repository:Causes Overlay


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



OpenSSH 7 Disables DSA Keys By Default

Please be aware of this important change to avoid getting locked out of your Funtoo server.
2015-10-07 by Drobbins

Project Unfork Status

Here's an update on Project Unfork, plus other neat things.
2015-10-03 by Drobbins

IP Space Migration Continues

All Funtoo user containers in the 8.28 IP space will be moving into our new IP space (172.97) over the next few days. If you have DNS set up -- be sure to watch your container and update to the new IP! container.host.funtoo.org DNS will be updated after the move.
2015-08-27 by Drobbins



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.


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


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

Enable savedconfig.

x11-wm/dwm savedconfig

Edit configuration file.

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

Rebuild dwm.

# emerge dwm

Basic usage

Shortcut Description
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


Patches in /etc/portage/patches/x11-wm/dwm gets applied when emerging dwm. Patches has to have .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 statusbar that can be customized with xsetroot. You can run xsetroot from ~/.xinitrc. You can start dwm by configuring ~/.xinitrc and running startx.



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


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

exec dwm
$ startx

To autostart dwm on login see Getty as display manager.