]>
Commit | Line | Data |
---|---|---|
dcac60d9 | 1 | #!/bin/zsh |
2 | # using zsh to load .zshenv (eg. for PATH) but file is sh-compatible | |
1b8a4102 | 3 | |
4 | sysmodmap=/usr/local/etc/X11/xinit/.Xmodmap | |
5 | sysresources=/usr/local/etc/X11/xinit/.Xresources | |
dcac60d9 | 6 | usermodmap=~/.Xmodmap |
7 | userresources=~/.Xresources | |
1b8a4102 | 8 | |
9 | if [ -f $sysresources ]; then | |
10 | xrdb -merge $sysresources | |
11 | fi | |
12 | if [ -f $sysmodmap ]; then | |
13 | xmodmap $sysmodmap | |
14 | fi | |
15 | if [ -f "$userresources" ]; then | |
16 | xrdb -merge "$userresources" | |
17 | fi | |
18 | if [ -f "$usermodmap" ]; then | |
19 | xmodmap "$usermodmap" | |
20 | fi | |
21 | ||
12f46d4e | 22 | # redshift, root image |
1b8a4102 | 23 | redon & |
118fb6e0 | 24 | "$HOME/.fehbg" |
25 | ||
26 | # Xorg settings | |
27 | xset r rate 290 26 & | |
28 | xset m 1/1 0 & | |
12f46d4e | 29 | xset s off |
30 | xset dpms 0 0 600 | |
8720834f | 31 | |
32 | find -L "${XDG_DATA_HOME:-~/share}/fonts" -type d -mindepth 1 -maxdepth 1 | while read -r x; do | |
33 | xset +fp $x/ | |
34 | done | |
ff1a2414 | 35 | xset fp rehash |
118fb6e0 | 36 | |
37 | # root terminal | |
2a766e92 | 38 | urxvt -name TermBg1 -override-redirect -geometry x5+0--1 \ |
7f359c8a | 39 | -e tail -F /var/log/messages & |
ff1a2414 | 40 | xdotool search --limit 1 --sync --classname TermBg1 windowsize --usehints 100% 6 |
118fb6e0 | 41 | |
42 | # tray icons | |
43 | #"$HOME/src/phwmon/phwmon.py" --mem --mem_percent --net --io --bg \#0000 & | |
44 | volumeicon & | |
45 | ||
46 | # daemons | |
1b8a4102 | 47 | dunst & |
6aaffcd0 | 48 | mpc-notify -d & |
dcac60d9 | 49 | xautolock -time 10 -locker "$HOME/bin/lck" & |
1b8a4102 | 50 | xbanish & |
ee4bf66d | 51 | eval `ssh-agent` |
1b8a4102 | 52 | |
dcac60d9 | 53 | if [ -z "$TERMINAL" -a \( -x /usr/bin/urxvtd -o -x /usr/local/bin/urxvtd \) ]; then |
1b8a4102 | 54 | for i in 1 2; do |
12f46d4e | 55 | # try to start client twice, once before checking for daemon |
56 | # and another after trying to start it | |
dcac60d9 | 57 | urxvtc -e exit 2>/dev/null |
1b8a4102 | 58 | if [ $? -eq 2 ]; then |
59 | # daemon not started, attempt to start once | |
60 | if [ $i -eq 1 ]; then | |
61 | urxvtd -q -o -f | |
dcac60d9 | 62 | else |
63 | TERMINAL=urxvt | |
64 | export TERMINAL | |
1b8a4102 | 65 | fi |
66 | else | |
dcac60d9 | 67 | TERMINAL=urxvtc |
1b8a4102 | 68 | export TERMINAL |
69 | break | |
70 | fi | |
71 | done | |
72 | unset i | |
73 | fi | |
74 | ||
118fb6e0 | 75 | # try to wait for session to start |
dcac60d9 | 76 | (sleep 0.1 && tint2) & |
77 | # x220t | |
78 | # TODO: check hostname to load auxillary things | |
79 | # TODO: reformat for linux | |
80 | #(sleep 0.1 "$HOME/bin/acpi_ac" "0x0`sysctl -n hw.acpi.acline`") & | |
118fb6e0 | 81 | |
ee4bf66d | 82 | # load any global scripts |
1b8a4102 | 83 | if [ -d /usr/local/etc/X11/xinit/xinitrc.d ]; then |
84 | for f in /usr/local/etc/X11/xinit/xinitrc.d/?*.sh; do | |
85 | [ -x "$f" ] && . "$f" | |
86 | done | |
87 | unset f | |
88 | fi | |
89 | ||
12f46d4e | 90 | # start session |
dcac60d9 | 91 | if [ -z "$1" ]; then |
1b8a4102 | 92 | session=i3 |
93 | else | |
94 | session=$1 | |
ee4bf66d | 95 | shift |
1b8a4102 | 96 | fi |
ee4bf66d | 97 | exec $session "$@" |
118fb6e0 | 98 | |
99 | # cleanup | |
12f46d4e | 100 | #TODO: trap this |
118fb6e0 | 101 | ssh-agent -k |