Note

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Package:Dwm

From Funtoo
Revision as of 16:56, April 18, 2015 by Gatorchomps (talk | contribs) (more grammar fixes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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"
root # 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.

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

Rebuild dwm.

root # 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.

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

Rebuild dwm.

root # 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
user $ startx

To autostart dwm on login see Getty as display manager.