diff options
Diffstat (limited to 'xsession.dot.link')
-rwxr-xr-x | xsession.dot.link | 79 |
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 |