Difference between revisions of "Package:Dwm"

From Funtoo
Jump to navigation Jump to search
(Updated to reflect changes in dwm ebuilds)
m (removed duplicate text, minor grammar fixes)
Line 2: Line 2:
|Summary=<code>dwm</code> is extremely fast and lightweight window manager. It manages windows in tiled, floating and monocle layouts.
|Summary=<code>dwm</code> is extremely fast and lightweight window manager. It manages windows in tiled, floating and monocle layouts.
|CatPkg=x11-wm/dwm
|CatPkg=x11-wm/dwm
|Maintainer=Causes,  
|Maintainer=Causes,
|Homepage=http://dwm.suckless.org/
|Homepage=http://dwm.suckless.org/
}}
}}
== Installation ==
== Installation ==


Program launcher is needed to run programs from dwm. You can choose dmenu or rofi.
A 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=
{{file|name=/etc/portage/make.conf|desc=Set dmenu USE-flag|body=
USE="$USE dmenu"
USE="$USE dmenu"
Line 17: Line 17:
== Configuration ==
== Configuration ==


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


Enable savedconfig.
Enable savedconfig.
Line 64: Line 64:


== Patching ==
== Patching ==
Patches in <code>/etc/portage/patches/x11-wm/dwm</code> gets applied when emerging dwm. Patches has to have .patch file extension.
Patches in <code>/etc/portage/patches/x11-wm/dwm</code> are applied when emerging dwm. Patches have to have .patch file extension.
<console>
<console>
###i## mkdir -p /etc/portage/patches/x11-wm/dwm
###i## mkdir -p /etc/portage/patches/x11-wm/dwm
Line 77: Line 77:


== Customize statusbar ==
== Customize statusbar ==
dwm has statusbar that can be customized with <code>xsetroot</code>. You can run xsetroot from <code>~/.xinitrc</code>.
dwm has a statusbar that can be customized with <code>xsetroot</code>. You can run xsetroot from <code>~/.xinitrc</code>.
You can start dwm by configuring <code>~/.xinitrc</code> and running <code>startx</code>.
 
{{file|name=~/.xinitrc|lang=|desc=|body=
{{file|name=~/.xinitrc|lang=|desc=|body=
ifname="wlan0"
ifname="wlan0"

Revision as of 16:54, April 18, 2015

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 have to have .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.