2013-09-18 18:01:16 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
2014-04-22 22:15:26 +02:00
|
|
|
export LOGDIR="$HOME/.var/log/"
|
|
|
|
|
export RUNDIR="$HOME/.var/run"
|
|
|
|
|
|
|
|
|
|
[[ ! -d "LOGDIR" ]] && mkdir -p "$LOGDIR"
|
|
|
|
|
|
|
|
|
|
LOGFILE="$LOGDIR/xinitrc.log"
|
|
|
|
|
|
|
|
|
|
log() {
|
|
|
|
|
echo "[$(date +%FT%T)] $*" >> "$LOGFILE"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log "START"
|
|
|
|
|
|
2013-09-18 18:01:16 +02:00
|
|
|
if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
|
|
|
|
for f in /etc/X11/xinit/xinitrc.d/*; do
|
|
|
|
|
[ -x "$f" ] && . "$f"
|
|
|
|
|
done
|
|
|
|
|
unset f
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
[ -f /etc/xprofile ] && source /etc/xprofile
|
|
|
|
|
[ -f ~/.xprofile ] && source ~/.xprofile
|
|
|
|
|
|
2014-04-12 00:30:24 +02:00
|
|
|
export LANG=en_US.UTF-8
|
|
|
|
|
|
2014-06-14 00:26:03 +02:00
|
|
|
start_wm() {
|
|
|
|
|
log "generating i3 config"
|
|
|
|
|
I3_LOG="$LOGDIR/i3/i3.log"
|
|
|
|
|
I3_LOGOLD="${I3_LOG}.old"
|
|
|
|
|
|
|
|
|
|
# simple logrotate so we can still get info about the last session
|
|
|
|
|
if [[ -f "$I3_LOG" ]] ; then
|
|
|
|
|
log "moving old i3 log at $I3_LOG to $I3_LOGOLD"
|
|
|
|
|
mv -f "$I3_LOG" "$I3_LOGOLD"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
[[ ! -d "$(dirname $I3_LOG)" ]] && mkdir -p "$(dirname $I3_LOG)"
|
|
|
|
|
SESSION_CONF=$(bash "$HOME/.i3/scripts/genconfig.bash")
|
|
|
|
|
log "generated, starting i3"
|
|
|
|
|
exec i3 -c "$SESSION_CONF" >> "$LOGDIR/i3/i3.log"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2013-09-18 19:27:36 +02:00
|
|
|
# keyboard options
|
|
|
|
|
keyboard_layout=de
|
2013-09-20 15:23:54 +02:00
|
|
|
keyboard_variant=nodeadkeys
|
2013-09-18 19:27:36 +02:00
|
|
|
keyboard_repeat_delay=150
|
|
|
|
|
keyboard_repeat_speed=30
|
|
|
|
|
|
2014-04-17 19:35:04 +02:00
|
|
|
# path and options for the wallpaper changer script
|
|
|
|
|
path_wallchanger="$HOME/.i3/scripts/wallchanger.bash"
|
|
|
|
|
wallpaper_directory="$HOME/pictures/wallpaper/misc"
|
2014-04-22 22:15:26 +02:00
|
|
|
wallpaper_logfile="$LOGDIR/wallpaper.log"
|
2014-04-17 19:35:04 +02:00
|
|
|
wallpaper_fallback="$HOME/.i3/data/wallpaper/"
|
|
|
|
|
wallpaper_interval="900"
|
|
|
|
|
|
|
|
|
|
# redshift settings
|
|
|
|
|
redshift_lat_long="49.5:11"
|
2014-04-22 22:15:26 +02:00
|
|
|
redshift_colortemp="5500:4000"
|
|
|
|
|
|
|
|
|
|
# start mpd
|
|
|
|
|
if [[ -z "$(pgrep --euid hannes --exact "^mpd$")" ]] ; then
|
|
|
|
|
log "mpd is not running, starting mpd"
|
2014-06-14 00:26:03 +02:00
|
|
|
mpd "$HOME/.mpd/mpd.conf" &
|
2014-04-22 22:15:26 +02:00
|
|
|
else
|
|
|
|
|
log "mpd already running, will not start another instance"
|
|
|
|
|
fi
|
2014-04-17 19:35:04 +02:00
|
|
|
|
2014-06-14 00:26:03 +02:00
|
|
|
## start the urxvt daemon
|
|
|
|
|
#if pidof urxvtd &>/dev/null ; then
|
|
|
|
|
# log "urxvtd already running"
|
|
|
|
|
#else
|
|
|
|
|
# log "starting urxvtd"
|
|
|
|
|
# urxvtd -q --fork
|
|
|
|
|
#fi
|
|
|
|
|
|
2014-04-17 19:35:04 +02:00
|
|
|
# start the pulseaudio volume control tray applet
|
2014-04-22 22:15:26 +02:00
|
|
|
log "starting pasystray"
|
2014-06-14 00:26:03 +02:00
|
|
|
pasystray & &> $LOGFILE
|
2014-04-17 19:35:04 +02:00
|
|
|
|
|
|
|
|
# start dropbox
|
2014-04-22 22:15:26 +02:00
|
|
|
log "starting dropboxd"
|
2014-06-14 00:26:03 +02:00
|
|
|
dropboxd & &> $LOGFILE
|
2014-04-17 19:35:04 +02:00
|
|
|
|
|
|
|
|
# start the wallpaper changer
|
2014-04-22 22:15:26 +02:00
|
|
|
log "starting $path_wallchanger"
|
2014-04-17 19:35:04 +02:00
|
|
|
$path_wallchanger "$wallpaper_directory" "$wallpaper_interval" "$wallpaper_fallback" > "$wallpaper_logfile" &
|
|
|
|
|
|
|
|
|
|
# start redshift
|
2014-04-22 22:15:26 +02:00
|
|
|
log "starting redshift-gtk"
|
2014-06-14 00:26:03 +02:00
|
|
|
redshift-gtk -l "$redshift_lat_long" -t "$redshift_colortemp" & &> $LOGFILE
|
|
|
|
|
# not it
|
2014-04-17 19:35:04 +02:00
|
|
|
|
|
|
|
|
# set keyboard layout
|
2014-04-22 22:15:26 +02:00
|
|
|
log "setting keyboard layout"
|
2014-06-14 00:26:03 +02:00
|
|
|
setxkbmap -layout "$keyboard_layout" -variant "$keyboard_variant" & &> $LOGFILE
|
2014-04-17 19:35:04 +02:00
|
|
|
|
|
|
|
|
# set key repeat delay
|
2014-04-22 22:15:26 +02:00
|
|
|
log "setting key repeat delay"
|
2014-06-14 00:26:03 +02:00
|
|
|
xset r rate "$keyboard_repeat_delay" "$keyboard_repeat_speed" & &> $LOGFILE
|
2014-04-17 19:35:04 +02:00
|
|
|
|
2013-09-18 18:01:16 +02:00
|
|
|
# execute the host-specific .xinitrc-addition
|
|
|
|
|
hostfile="$HOME/.xinitrc.d/$(hostname).xinitrc"
|
2014-04-22 22:15:26 +02:00
|
|
|
log "looking for host specific xinitrc addition at $hostfile"
|
|
|
|
|
if [[ -f "$hostfile" ]] ; then
|
|
|
|
|
log "found it. executing"
|
2014-06-14 00:26:03 +02:00
|
|
|
bash "$hostfile" & &> $LOGFILE
|
2014-04-22 22:15:26 +02:00
|
|
|
else
|
|
|
|
|
log "found none"
|
|
|
|
|
fi
|
2013-09-18 18:01:16 +02:00
|
|
|
|
2014-04-22 22:15:26 +02:00
|
|
|
if [[ -f ~/.Xresources ]] ; then
|
|
|
|
|
log "found ~/.Xresources, merging it into xrdb"
|
2014-06-14 00:26:03 +02:00
|
|
|
xrdb -merge ~/.Xresources & &> $LOGFILE
|
2014-04-22 22:15:26 +02:00
|
|
|
else
|
|
|
|
|
log "~/.Xresources not found"
|
|
|
|
|
fi
|
2013-09-18 19:27:36 +02:00
|
|
|
|
2014-04-22 22:15:26 +02:00
|
|
|
|
2014-06-14 00:26:03 +02:00
|
|
|
start_wm
|