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
|
2014-08-19 13:49:19 +02:00
|
|
|
path_wallchanger="$HOME/development/projects/wallchanger/wallchanger"
|
2014-07-31 02:51:20 +02:00
|
|
|
wallchanger_pidfile="$RUNDIR/wallchanger.pid"
|
2014-04-17 19:35:04 +02:00
|
|
|
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/"
|
2014-09-30 19:55:51 +02:00
|
|
|
wallpaper_interval="10800"
|
2014-04-17 19:35:04 +02:00
|
|
|
|
|
|
|
|
# redshift settings
|
|
|
|
|
redshift_lat_long="49.5:11"
|
2014-08-17 23:34:02 +02:00
|
|
|
redshift_colortemp="5500:3700"
|
2014-04-22 22:15:26 +02:00
|
|
|
|
|
|
|
|
# start mpd
|
2014-07-31 02:51:20 +02:00
|
|
|
if ! pgrep --euid hannes --exact '^mpd$' ; then
|
2014-04-22 22:15:26 +02:00
|
|
|
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-09-30 19:55:51 +02:00
|
|
|
start the urxvt daemon
|
|
|
|
|
if pgrep urxvtd >/dev/null 2>&1; then
|
|
|
|
|
log "urxvtd already running"
|
|
|
|
|
else
|
|
|
|
|
log "starting urxvtd"
|
|
|
|
|
urxvtd -q -q -o
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
log "starting zim in tray"
|
|
|
|
|
zim --plugin trayicon
|
2014-06-14 00:26:03 +02:00
|
|
|
|
2014-07-21 02:29:37 +02:00
|
|
|
log "starting conky clock on desktop"
|
2014-09-30 19:55:51 +02:00
|
|
|
(sleep 3 && conky -c "$HOME/.conky/clock.conkyrc" &>> $LOGFILE) &
|
2014-07-21 02:29:37 +02:00
|
|
|
|
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-07-31 02:51:20 +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-07-31 02:51:20 +02:00
|
|
|
nice -n 10 ionice -c 3 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-07-31 02:51:20 +02:00
|
|
|
$path_wallchanger "$wallpaper_directory" "$wallpaper_interval" "$wallpaper_fallback" &
|
|
|
|
|
echo $! > "$wallchanger_pidfile"
|
2014-04-17 19:35:04 +02:00
|
|
|
|
|
|
|
|
# start redshift
|
2014-04-22 22:15:26 +02:00
|
|
|
log "starting redshift-gtk"
|
2014-07-31 02:51:20 +02:00
|
|
|
redshift-gtk -l "$redshift_lat_long" -t "$redshift_colortemp" & &>> $LOGFILE
|
2014-04-17 19:35:04 +02:00
|
|
|
|
|
|
|
|
# set keyboard layout
|
2014-04-22 22:15:26 +02:00
|
|
|
log "setting keyboard layout"
|
2014-07-31 02:51:20 +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-07-31 02:51:20 +02:00
|
|
|
xset r rate "$keyboard_repeat_delay" "$keyboard_repeat_speed" & &>> $LOGFILE
|
|
|
|
|
|
|
|
|
|
# disable auto screen disable
|
|
|
|
|
xset -dpms
|
|
|
|
|
xset s off
|
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-07-31 02:51:20 +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-07-31 02:51:20 +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-06-14 00:26:03 +02:00
|
|
|
start_wm
|