#!/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 xsetroot -solid '#1C1C1C' fi # See https://wiki.archlinux.org/index.php/Compton if which compton > /dev/null 2>&1; then if [ -e "$HOME/.config/compton.conf" ]; then compton --config $HOME/.config/compton.conf -b else compton -b fi fi # See https://wiki.archlinux.org/index.php/Xcompmgr if which xcompmgr > /dev/null 2>&1; then xcompmgr -c & 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 # Polkit agent # See https://leap.se/en/docs/client/known-issues#no-polkit-agent-available-error if [ -e "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1" ]; then /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 & 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 # Custom SSH_ASKPASS config # See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=606934 #export SSH_ASKPASS="/usr/bin/ssh-askpass-fullscreen" #export SSH_ASKPASS="/usr/lib/pssh/pssh-askpass" #export SSH_ASKPASS="" # Java config # See http://stackoverflow.com/questions/29494915/android-sdk-on-debian-linux-has-blank-windows # https://wiki.archlinux.org/index.php/Java#Non-reparenting_window_managers export _JAVA_AWT_WM_NONREPARENTING=1 # Start window manager if [ "$OSVERSION" = "7" ] || [ "$START_WINDOW_MANAGER" = "true" ]; then $WINDOW_MANAGER fi