This repository has been archived on 2024-09-01. You can view files and clone it, but cannot push or open issues or pull requests.
al-skel/home/.xinitrc

100 lines
2.6 KiB
Plaintext
Raw Normal View History

2017-10-16 14:38:02 -05:00
#!/bin/sh
2018-04-19 01:43:29 -05:00
# this file is executed when calling startx
# To run different WM, run:
# startx ~/.xinitrc SESSION
# eg. startx ~/.xinitrc openbox
# Commands for autologin with Systemd & Arch
# No editing files or messing about required
#--------------------------------------#
# This copies the default getty service file so we can modify it
# 1. sudo cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
# This removes the existing link and creates a link to the file copied above
# 2. sudo rm -f /etc/systemd/system/getty.target.wants/getty@tty1.service && sudo ln -s /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
# This command sets your user as the autologin user
# 3. sudo sed -i "/ExecStart/ c ExecStart=-/sbin/agetty -a ${USER} %I \$TERM" /etc/systemd/system/autologin@.service
# This command will back up existing ~/.zprofile or ~/.bash_profile
# 4. for f in $HOME/.{zprofile,bash_profile}; do if [[ -f $f ]]; then mv $f $HOME/${f}.bak; fi; done
# This command creates a new ~/.zprofile & ~/.bash_profile.. you can delete the one you don't need
# 5. for x in $HOME/.{zprofile,bash_profile}; do echo -e "# $x\n\nif [[ \$DISPLAY ]] && [[ -n \$XDG_VTNR ]] && [[ \$XDG_VTNR -eq 1 ]]; then\n exec startx\nfi\n" > $x; done
# Finish up
# 6. Remove Your Current Display Manager and Reboot!!
#--------------------------------------#
# Session to run if none given
session=${1:-openbox}
2018-04-19 01:43:29 -05:00
# set ENV window manager for use in other scripts
export WM="$session"
2018-04-19 01:43:29 -05:00
# bspwm requires this to be set
export XDG_CONFIG_HOME=$HOME/.config
2018-04-19 01:43:29 -05:00
# Default Arch xinit scripts
2017-10-16 14:38:02 -05:00
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*.sh; do
[ -x "$f" ] && . "$f"
done
2017-10-16 14:38:02 -05:00
fi
2018-04-19 01:43:29 -05:00
if [ -f /etc/X11/xinit/.Xmodmap ]; then
xmodmap /etc/X11/xinit/.Xmodmap
fi
2018-04-19 01:43:29 -05:00
# user init scripts and settings
if [ -f ~/.Xmodmap ]; then
xmodmap ~/.Xmodmap
fi
2018-04-19 01:43:29 -05:00
if [ -f ~/.Xresources ]; then
xrdb -merge ~/.Xresources
fi
if [ -f ~/.xprofile ]; then
2018-04-19 01:43:29 -05:00
source ~/.xprofile
fi
2018-04-19 01:43:29 -05:00
# keyring for storing passwords
gnome-keyring-daemon --start --components=pkcs11 &
2018-04-19 01:43:29 -05:00
# run policy kit
lxpolkit &
2018-04-19 01:43:29 -05:00
# keyboard repeat rate
kbdrate -d 400 -r 50
xset r rate 400 50
2018-04-19 01:43:29 -05:00
# display timeout
xset s 3600 3600
2017-10-16 14:38:02 -05:00
2018-04-19 01:43:29 -05:00
# Do NOT put code below this case statement
case $session in
2018-04-19 01:43:29 -05:00
dwm)
exec dwm
;;
i3|i3wm)
exec i3
;;
bsp|bspwm)
exec bspwm
;;
xfce|xfce4)
exec startxfce4
;;
openbox)
exec openbox-session
;;
*)
exec "$1" # Unknown, try running it
esac