#!/bin/sh # this file is executed when calling startx # To run different WM, run: # startx ~/.xinitrc WM # Session to run if none given session=${1:-openbox} # set ENV window manager for use in other scripts export WM="$session" # bspwm requires this to be set export XDG_CONFIG_HOME=$HOME/.config # Default Arch xinit scripts if [ -d /etc/X11/xinit/xinitrc.d ]; then for f in /etc/X11/xinit/xinitrc.d/*.sh; do [ -x "$f" ] && . "$f" done fi if [ -f /etc/X11/xinit/.Xmodmap ]; then xmodmap /etc/X11/xinit/.Xmodmap fi # user init scripts and settings if [ -f ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi if [ -f ~/.Xresources ]; then xrdb -merge ~/.Xresources fi if [ -f ~/.xprofile ]; then source ~/.xprofile fi if hash gnome-keyring &>/dev/null; then # keyring for storing passwords gnome-keyring-daemon --start --components=pkcs11 & fi if [ -x "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1" ]; then # run policy kit /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & fi # keyboard repeat rate kbdrate -d 400 -r 50 xset r rate 400 50 # display timeout xset s 3600 3600 # Do NOT put code below this case statement case $session in i3|i3wm) exec i3 ;; bsp|bspwm) exec bspwm ;; xfce|xfce4) exec startxfce4 ;; openbox) exec openbox-session ;; dwm) exec dwm ;; *) exec "$1" # Unknown, try running it esac