#!/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 # shellcheck source=/dev/null [ -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 # Set DPMS features on, but disabled xset +dpms dpms 0 0 0 # Start ssh agent eval "$(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 # Hide cursor when any key is pressed xbanish # 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