aboutsummaryrefslogtreecommitdiff
path: root/xsession.dot.link
diff options
context:
space:
mode:
Diffstat (limited to 'xsession.dot.link')
-rwxr-xr-xxsession.dot.link79
1 files changed, 79 insertions, 0 deletions
diff --git a/xsession.dot.link b/xsession.dot.link
new file mode 100755
index 0000000..6af48b3
--- /dev/null
+++ b/xsession.dot.link
@@ -0,0 +1,79 @@
+#!/bin/bash
+#
+# .xsession: set basic X11 environment
+#
+
+# Background image
+BACKGROUND=""
+
+# Session applications
+PROGRAMS=""
+
+# OS Version
+OSVERSION="`cut -d . -f 1 /etc/debian_version`"
+
+# Hostname
+HOSTNAME="`cat /etc/hostname`"
+
+# Make sure to load the profile
+. $HOME/.profile
+
+# Start xscreensaver
+xscreensaver -no-splash &
+
+# Custom
+if [ -e "$HOME/.custom/xsession" ]; then
+ . $HOME/.custom/xsession
+fi
+
+# Set background
+if [ ! -z "$BACKGROUND" ]; then
+ Esetroot -scale $HOME/.config/themes/backgrounds/$BACKGROUND
+else
+ xsetroot -solid black
+fi
+
+# Additional applications depending on the machine type
+if laptop-detect; then
+ PROGRAMS="$PROGRAMS xwicd"
+else
+ PROGRAMS="$PROGRAMS"
+fi
+
+# Start session applications
+for program in $PROGRAMS; do
+ $program &
+done
+
+# Apply custom keyboard configuration
+if [ -f "$HOME/.Xmodmaps/$HOSTNAME" ]; then
+ xmodmap $HOME/.Xmodmaps/$HOSTNAME
+
+ # Why xmodmap has to run twice to some changes take place?
+ # https://faq.i3wm.org/question/558/xmodmap-loading/
+ # https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/700309
+ xmodmap $HOME/.Xmodmaps/$HOSTNAME
+fi
+
+# Fix mumble configuration, which varies depending on machine audio
+if [ -f "$HOME/.config/Mumble/Mumble-$HOSTNAME.conf" ]; then
+ (
+ cd $HOME/.config/Mumble
+ mv Mumble.conf Mumble-$HOSTNAME.conf.backup
+ ln -s Mumble-$HOSTNAME.conf Mumble.conf
+ )
+fi
+
+# Execute window manager
+if [ "$OSVERSION" = "7" ]; then
+ # See https://bugzilla.redhat.com/show_bug.cgi?id=783568
+ # https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/932177
+ # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653011
+ # https://bugzilla.gnome.org/show_bug.cgi?id=660240
+ #unset GNOME_KEYRING_PID
+ #unset GNOME_KEYRING_CONTROL
+ eval $(gnome-keyring-daemon --start --components=pkcs11,gpg,secrets)
+
+ # Start window manager
+ awesome
+fi