blob: 5421000508c5265b16448bb46a673f139f3664b3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
source ~/.config/zsh/paths.zsh;
source ~/.config/zsh/config.zsh;
##### Helpers {{{
action="$1";
# Is logout command (Cleanup)
is_kill() { [[ "$action" == "kill" ]]; }
# Focus on a tag/ws
focus_tag() { [[ ! -z "$1" ]] && dwmc view $(($1 - 1)); sleep 0.2; }
# Only run when there are no windows on the screen
on_startup() { is_kill || [[ "$(wmctrl -l | wc -l)" = "0" ]] && $@ & }
# Run only once. If an instance is already running, noop
once() {
local name=$1; shift;
if (is_kill); then
pkill "$name";
else
pgrep $name || $@ &
fi;
}
# Kill previous instance and run again
run() {
local name=$1; shift;
[[ ! -z "$name" ]] && pkill "$name" && sleep 0.05;
is_kill || $@ &
}
# }}}
##### Autostart {{{
echo "[Autostart]: Running daemons";
# Key daemon
run "shotkey" shotkey;
# Wallpaper
run "" ~/.fehbg;
# Dwm blocks status text
# run "dwmblocks" dwmblocks;
# Notification daemon
run "dunst" dunst -config ~/.config/dunst/dunstrc;
# Compositor
run "picom" picom --experimental-backends --config ~/.config/picom.conf;
# Cron jobs
#run "crond" crond -n -f ~/.config/crontab/crontab;
# Scheduler
run "remind" remind -k"notify-send -a reminder %s" -z10 $REMINDER_FILE;
# Battery watcher
run "" ~/scripts/battery-watch.sh start;
# Disk automount
#once "udiskie" ~/.bin/with_zsh udiskie;
# Clipboard history
#once "clipmenud" clipmenud;
# Network manager applet
#once "nm-applet" nm-applet;
# Syncthing
#run "syncthing" syncthing -logflags=0 -no-browser 2>&1 >/dev/null;
# Torrent daemon
#once "btpd" btpd -d "$HOME/.config/btpd";
#once "transmission" transmission-daemon --download-dir ~/Downloads/dl;
# Music daemon
#once "mpd" mpd ~/.config/mpd/mpd.conf --stdout --no-daemon;
# Hide mouse pointer
#once "unclutter" unclutter;
# }}}
##### Initialized applications {{{
echo "[Autostart]: Checking applications";
#on_startup sensible-browser;
applications() {
#sleep 0.5;
#focus_tag 9;
#on_startup :today;
#on_startup :tasks;
#focus_tag 6;
#on_startup sensible-browser;
#focus_tag 1;
}
applications &
# }}}
disown;
|