|
- #!/bin/zsh
- #
- # ~/.xinitrc
- #
- # Executed by startx (run your window manager from here)
-
- # GENERIC #
-
- # Usage: .xinitrc [window-manager] [session-type]
- # where: window-manager is one of '(xmonad openbox stumpwm awesome pekwm)
- # session-type is either "local" or "remote"; upon "" defaults to "local"
-
- # Runs system-wide xinitrc scripts
- if [ -d /etc/X11/xinit/xinitrc.d ]; then
- for f in /etc/X11/xinit/xinitrc.d/*; do
- [ -x "$f" ] && . "$f"
- done
- unset f
- fi
-
- # Set the default curson used by all WM's
- xsetroot -cursor_name left_ptr
-
- # Allow swithing to/from US qwerty and dvorak layouts
- setxkbmap -layout us,us -variant ,dvorak -option grp:sclk_toggle
-
- # Initialize a local desktop session (run generic helper applications)
- function init_local_session() {
- # Set a desktop background
- nitrogen --restore &
-
- # Load Xresources
- xrdb -merge ~/.Xresources
-
- # Create variable GENERAL_SCREEN which is the pid of a screen called "general"
- GENERAL_SCREEN=`screen -ls | grep general | cut -f1 -d'.' | sed 's/\W//g'`
-
- # Check to see if a general screen is already running
- # DEPRECIATED in favor of tmux which is started by systemd
- #if [ "x$GENERAL_SCREEN" == "x" ]; then
- # screen -dmS general &
- #fi
-
- # Start X applications that can't be started from user systemd services
- start-pulseaudio-x11 &
- unclutter &
- xcompmgr &
- xbindkeys &
- xscreensaver -no-splash &
- deskcon-server &
- emacs --daemon &
-
- # Set the default wm to xmonad
- DEFAULT_WM=xmonad
- }
-
- # Initialize a remote desktop session (run generic helper applications)
- function init_remote_session() {
- # Set desktop background
- feh --bg-scale ~/.wallback/Cocaine_Wallpaper_II_by_mdornfeld.png &
-
- # Set the default wm to xmonad
- DEFAULT_WM=stumpwm
- }
-
- # Check the second cl parameter which denotes the session-type (E.g. remote, local)
- case "$2" in
- # Remote session
- remote)
- init_remote_session
- break
- ;;
- # Local session or unspecified
- *)
- init_local_session
- ;;
- esac
-
- # Check the first cl parameter which denotes the window-manager to use
- # Notice: in each case expression below "exec app" hands over execution to some app thus
- # ceasing execution in this script so no "break" is required
- case "$1" in
- xmonad|openbox|stumpwm|awesome|pekwm)
- exec "$1"
- ;;
- *)
- exec "$DEFAULT_WM"
- ;;
- esac
|