diff options
Diffstat (limited to 'packages/xmonad/autostart.sh')
| -rwxr-xr-x | packages/xmonad/autostart.sh | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/packages/xmonad/autostart.sh b/packages/xmonad/autostart.sh new file mode 100755 index 0000000..5421000 --- /dev/null +++ b/packages/xmonad/autostart.sh @@ -0,0 +1,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; |
