97 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
userresources=$HOME/.Xresources
 | 
						|
usermodmap=$HOME/.Xmodmap
 | 
						|
sysresources=/etc/X11/xinit/.Xresources
 | 
						|
sysmodmap=/etc/X11/xinit/.Xmodmap
 | 
						|
 | 
						|
# merge in defaults and keymaps
 | 
						|
[ -f $sysresources ] && xrdb -merge $sysresources
 | 
						|
[ -f $sysmodmap ] && xmodmap $sysmodmap
 | 
						|
[ -f "$userresources" ] && xrdb -merge "$userresources"
 | 
						|
[ -f "$usermodmap" ] && xmodmap "$usermodmap"
 | 
						|
 | 
						|
 | 
						|
# start any default scripts
 | 
						|
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 | 
						|
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
 | 
						|
  [ -x "$f" ] && . "$f"
 | 
						|
 done
 | 
						|
 unset f
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
#== Thurstylark additions below ==#
 | 
						|
# Reference: https://wiki.thurstylark.com/Xinitrc.html
 | 
						|
 | 
						|
# Set st up as the default terminal for i3-sensible-terminal
 | 
						|
export TERMINAL=st
 | 
						|
# Default screen locker
 | 
						|
 | 
						|
# Set DPMS timeout to 10 sec, force DPMS off,
 | 
						|
# lock with i3lock without forking, then when 
 | 
						|
# unlocked, disable DPMS timeout.
 | 
						|
screen_locker="xset dpms 0 0 10 dpms force off; i3lock --nofork -befc 000000; xset dpms 0 0 0"
 | 
						|
locktime=30 # Default screen lock timeout in minutes
 | 
						|
 | 
						|
xset +dpms dpms 0 0 0 # Set DPMS features on, but disabled
 | 
						|
 | 
						|
eval $(ssh-agent) # Start ssh agent
 | 
						|
 | 
						|
# If srandrd is installed, start it up
 | 
						|
# ALL display/xrandr and touchscreen setup should be configured in ~/.config/srandrd.conf!
 | 
						|
if [ -s /usr/bin/srandrd ]; then
 | 
						|
	srandrd ~/.config/srandrd.conf
 | 
						|
else
 | 
						|
	printf "==== FATAL: srandrd does not appear to be installed! ===="
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
 | 
						|
# Host-specific config
 | 
						|
case "$(hostname)" in
 | 
						|
	"dtarchaio")
 | 
						|
		locktime=15 # Screen lock timeout
 | 
						|
		xset b 75 750 50 # Set the bell to be different from Matt's 
 | 
						|
		;;
 | 
						|
esac
 | 
						|
 | 
						|
# Automatically lock after $locktime minutes using i3lock
 | 
						|
xautolock -time $locktime -locker "$screen_locker" -detectsleep &
 | 
						|
 | 
						|
# If numlockx is installed, turn numlock on
 | 
						|
[ -s /usr/bin/numlockx ] && numlockx on
 | 
						|
 | 
						|
 | 
						|
# If $1 isn't set, use "i3"
 | 
						|
session=${1:-i3}
 | 
						|
 | 
						|
case $session in
 | 
						|
	awesome           ) exec awesome;;
 | 
						|
	bspwm             ) exec bspwm;;
 | 
						|
	catwm             ) exec catwm;;
 | 
						|
	cinnamon          ) exec cinnamon-session;;
 | 
						|
	dwm               ) exec dwm;;
 | 
						|
	enlightenment     ) exec enlightenment_start;;
 | 
						|
	ede               ) exec startede;;
 | 
						|
	fluxbox           ) exec startfluxbox;;
 | 
						|
	gnome             ) exec gnome-session;;
 | 
						|
	gnome-classic     ) exec gnome-session --session=gnome-classic;;
 | 
						|
	i3|i3wm           ) j4-make-config -a $(hostname).config archlinux # Create config
 | 
						|
			    exec i3;;
 | 
						|
	icewm             ) exec icewm-session;;
 | 
						|
	jwm               ) exec jwm;;
 | 
						|
	kde               ) exec startkde;;
 | 
						|
	mate              ) exec mate-session;;
 | 
						|
	monster|monsterwm ) exec monsterwm;;
 | 
						|
	notion            ) exec notion;;
 | 
						|
	openbox           ) exec openbox-session;;
 | 
						|
	unity             ) exec unity;;
 | 
						|
	xfce|xfce4        ) exec startxfce4;;
 | 
						|
	xmonad            ) exec xmonad;;
 | 
						|
	# No known session, try to run it as command
 | 
						|
	*) exec $1;;
 | 
						|
esac
 | 
						|
 | 
						|
 | 
						|
 |