#!/bin/bash # # Startup on my Ubuntu 14.04 system works like this: # - lightdm finds /usr/share/xsessions/dwm.desktop # - This desktop file launches dwm.user, which is found in /usr/bin # - /usr/bin/dwm.user is a script that execs $HOME/.dwmrc, if present, else it # execs dwm. # - This is my dwmrc, which installs as ~/.dwmrc # Although the system startup merged ~/.Xresources, it did so with the -nocpp # option (Ubuntu 14.04), which prevents the use of #define, etc. Re-merge here # for correct behavior. xrdb -merge ~/.Xresources # Initial startup volume to sane level pactl set-sink-volume $(pactl info | grep "Default Sink:" | awk '{ print $3}') '30%' # Default LCD panel brightness xbacklight -set 15 # Set the X background xsetroot -solid black # Set up screens dispcfg # Screen saver. DPMS standby -> suspend -> off in seconds xset dpms 300 600 1200 # Use xss-lock to call a program on no X activity (DPMS standby) if [ -x ~/.Xidle ]; then # If provided, .Xidle can do stuff before and after a call to 'i3lock -n' (pgrep -x xss-lock || exec xss-lock -- ~/.Xidle ) & elif [ -x /usr/bin/i3lock ]; then # Fall back to i3lock, which provides a screen lock. # Instead of --dpms use --color. This is less confusing on monitors that # are slow to sync back up. And since X should generally have the monitor # suspended by this point anyway, the behavior should only change in the # case of things like an invalid password being entered. (pgrep -x xss-lock || exec xss-lock -- i3lock --color=000000 ) & fi # Turn off touchpad (later use a toggle) type synclient 2>/dev/null && synclient TouchpadOff=1 # Applets, etc (pgrep -x xbindkeys || exec xbindkeys ) & (pgrep -x dunst || exec dunst ) & (pgrep -x nm-applet || exec nm-applet ) & (pgrep -x xfce4-power-manager || exec xfce4-power-manager ) & (pgrep dwm-i3status || exec dwm-i3status ) & (exec xterm -e mcabber ) & # DWM has bindings for screen captures that expects ~/screenshots/ to exist. mkdir -p ~/screenshots exec dwm-custom