]> oss.titaniummirror.com Git - smckown/dotfiles.git/blobdiff - dwmrc
ssh: add agent forwarding for negadon
[smckown/dotfiles.git] / dwmrc
diff --git a/dwmrc b/dwmrc
index aed08e11b4ddad9fe71f64f739d702cfd95a59a1..92a4448a7c5783b6d5ec8b427a319879cfe1b2ce 100755 (executable)
--- a/dwmrc
+++ b/dwmrc
@@ -1,15 +1,11 @@
 #!/bin/bash
 #
-# Probably called from a /usr/share/xsessions/somesession.desktop that lists an
-# exec like dwm.custom, and the dwm.custom executable script looks like:
-#
-# #!/bin/bash
-#
-# if [ -f "$HOME/.dwmrc" ]; then
-#     exec "$HOME/.dwmrc"
-# else
-#     exec dwm.custom
-# fi
+# 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
@@ -20,7 +16,7 @@ xrdb -merge ~/.Xresources
 pactl set-sink-volume $(pactl info | grep "Default Sink:" | awk '{ print $3}') '30%'
 
 # Default LCD panel brightness
-xbacklight -set 50
+xbacklight -set 15
 
 # Set the X background
 xsetroot -solid black
@@ -29,16 +25,33 @@ xsetroot -solid black
 dispcfg
 
 # Screen saver.  DPMS standby -> suspend -> off in seconds
-# xss-lock calls i3lock on no X activity (DPMS standby)
 xset dpms 300 600 1200
-pgrep -x xss-lock || xss-lock -- i3lock --dpms &
+
+# 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 || xbindkeys &
-pgrep -x dunst || dunst &
-pgrep -x nm-applet || nm-applet &
-pgrep -x xfce4-power-manager || xfce4-power-manager &
-pgrep -x pidgin || pidgin &
-pgrep dwm-i3status || dwm-i3status &
-
-exec dwm.custom
+(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