Marty Oehme
6b7e5d119f
After holding capslock for 500ms, it will not generate an escape press to avoid some unintentional presses of escape.
79 lines
2.5 KiB
Bash
79 lines
2.5 KiB
Bash
#!/bin/sh
|
|
|
|
userresources=$HOME/.Xresources
|
|
usermodmap=$HOME/.Xmodmap
|
|
sysresources=/etc/X11/xinit/.Xresources
|
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
|
|
|
# merge in defaults and keymaps
|
|
|
|
if [ -f $sysresources ]; then
|
|
xrdb -merge $sysresources
|
|
fi
|
|
|
|
if [ -f $sysmodmap ]; then
|
|
xmodmap $sysmodmap
|
|
fi
|
|
|
|
if [ -f "$userresources" ]; then
|
|
xrdb -merge "$userresources"
|
|
fi
|
|
|
|
if [ -f "$usermodmap" ]; then
|
|
xmodmap "$usermodmap"
|
|
fi
|
|
|
|
# start some nice programs
|
|
|
|
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
|
|
|
|
# Remaps Capslock key to control.
|
|
# (only works for x environment - I haven't needed it for non-x yet)
|
|
setxkbmap -option ctrl:nocaps
|
|
# sets default to EURkey layout, with possibility to switch to german
|
|
# sets german layout to be default for the only pc I have with a german keyboard
|
|
if [[ $HOST == "marty-desk" ]] || [[ $HOSTNAME == "marty-desk" ]]; then
|
|
setxkbmap -layout de,eu
|
|
else
|
|
setxkbmap -layout eu,de
|
|
fi
|
|
# allows switching layouts with alt+space
|
|
setxkbmap -option grp:alt_shift_toggle
|
|
|
|
# Makes Capslock behave as escape - when ONLY capslock is pressed and released
|
|
# this only works when we already substitute a ctrl for caps with the lines above,
|
|
# otherwise control itself will act as escape.
|
|
# Needs xcape package installed. https://github.com/alols/xcape
|
|
# set a timeout of 500ms, if pressed longer it will ignore esc
|
|
type xcape >/dev/null 2>&1 && xcape -e 'Control_L=Escape' -t 500
|
|
|
|
# if unclutter exists start it
|
|
type unclutter >/dev/null 2>&1 && unclutter &
|
|
# if picom exists then we can start it as our compositor
|
|
type picom >/dev/null 2>&1 && picom --experimental-backends &
|
|
# same deal with flashfocus as our active window indicator
|
|
type flashfocus >/dev/null 2>&1 && flashfocus -l never &
|
|
# if redshift is installed run it
|
|
type redshift >/dev/null 2>&1 && redshift &
|
|
|
|
# if sxhkd - the key-binding daemon is installed, start it up
|
|
type sxhkd >/dev/null 2>&1 && sxhkd &
|
|
# if greenclip - a clipboard manager, integrated with rofi, is installed, start it up
|
|
type greenclip >/dev/null 2>&1 && greenclip daemon &
|
|
|
|
# if pywal is installed,
|
|
# -R restores the last colorscheme that was in use.
|
|
type wal >/dev/null 2>&1 && wal -R &
|
|
|
|
# additional config options for Touchpad devices ONLY
|
|
if [ $(dmesg | grep -c "Touchpad") -gt 0 ]; then
|
|
# enable touch tapping for XPS13 touchpad - for different devices get the touchpad name with xinput list-prop <TAB>
|
|
xinput set-prop "DLL075B:01 06CB:76AF Touchpad" "libinput Tapping Enabled" 1
|
|
fi
|
|
|
|
type i3 >/dev/null 2>&1 && exec i3
|