diff options
Diffstat (limited to 'xsessionrc.dot.link')
-rwxr-xr-x | xsessionrc.dot.link | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/xsessionrc.dot.link b/xsessionrc.dot.link new file mode 100755 index 0000000..4808896 --- /dev/null +++ b/xsessionrc.dot.link @@ -0,0 +1,121 @@ +#!/bin/bash +# +# .xsession: set basic X11 environment +# + +# Background image +BACKGROUND="" + +# Session applications +PROGRAMS="xconky" + +# 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 +if [ -e "/usr/bin/xscreensaver" ]; then + xscreensaver -no-splash & +fi + +# Custom +if [ -e "$HOME/.custom/xsession" ]; then + . $HOME/.custom/xsession +fi + +# Set background +if [ "$BACKGROUND" = "all" ]; then + feh --bg-scale --randomize $HOME/.config/themes/backgrounds/* +elif [ ! -z "$BACKGROUND" ] && [ "$BACKGROUND" != "unset" ]; then + #Esetroot -scale $HOME/.config/themes/backgrounds/$BACKGROUND + feh --bg-scale $HOME/.config/themes/backgrounds/$BACKGROUND +elif [ "$BACKGROUND" != "unset" ]; then + xsetroot -solid black +fi + +# Set window manager +if [ -z "$WINDOW_MANAGER" ]; then + WINDOW_MANAGER='awesome' +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 + +# Clipboard management +# See http://mutelight.org/subtleties-of-the-x-clipboard +#if which autocutsel > /dev/null 2>&1; then +# autocutsel -fork & +# autocutsel -selection PRIMARY -fork & +#fi +if which parcellite > /dev/null 2>&1; then + parcellite -n & +fi + +# Keyring +if [ "$OSVERSION" != "6" ] && which gnome-keyring-daemon > /dev/null; 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) + #eval $(gnome-keyring-daemon --start --components=pkcs11,secrets) + true +fi + +# Make sure to finish all background processes +#trap 'kill $(jobs -p)' EXIT + +# Pulse audio +if which pulseaudio > /dev/null 2>&1; then + pulseaudio --start +fi + +# Start spice-vdagent if needed +if [ -e "/dev/virtio-ports/com.redhat.spice.0" ] && [ -x "/usr/bin/spice-vdagent" ]; then + spice-vdagent +fi + +# Check for unclutter +if [ -x "/usr/bin/unclutter" ]; then + /usr/bin/unclutter & +fi + +# Start window manager +if [ "$OSVERSION" = "7" ] || [ "$START_WINDOW_MANAGER" = "true" ]; then + $WINDOW_MANAGER +fi |