From a5e66ac4f45322b3665c944ba34d83b7db43ebc5 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Sat, 23 Nov 2019 16:16:30 -0500 Subject: merger of bin --- .local/bin/cron/IMPORTANT_NOTE.md | 11 +++++++++++ .local/bin/cron/checkup | 18 ++++++++++++++++++ .local/bin/cron/cronbat | 8 ++++++++ .local/bin/cron/crontog | 5 +++++ .local/bin/cron/newsup | 16 ++++++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 .local/bin/cron/IMPORTANT_NOTE.md create mode 100755 .local/bin/cron/checkup create mode 100755 .local/bin/cron/cronbat create mode 100755 .local/bin/cron/crontog create mode 100755 .local/bin/cron/newsup (limited to '.local/bin/cron') diff --git a/.local/bin/cron/IMPORTANT_NOTE.md b/.local/bin/cron/IMPORTANT_NOTE.md new file mode 100644 index 0000000..9eece42 --- /dev/null +++ b/.local/bin/cron/IMPORTANT_NOTE.md @@ -0,0 +1,11 @@ +# Important Note + +These cronjobs have components that require information about your current display to display notifications correctly. + +When you add them as cronjobs, I recommend you precede the command with commands as those below: + +``` +export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus; export DISPLAY=:0; . $HOME/.zprofile; then_command_goes_here +``` + +This ensures that notifications will display, xdotool commands will function and environmental varialbes will work as well. diff --git a/.local/bin/cron/checkup b/.local/bin/cron/checkup new file mode 100755 index 0000000..927b9d8 --- /dev/null +++ b/.local/bin/cron/checkup @@ -0,0 +1,18 @@ +#!/usr/bin/env sh +# Syncs repositories and downloads updates, meant to be run as a cronjob. + +ping -q -c 1 1.1.1.1 > /dev/null || exit + +notify-send "📦 Repository Sync" "Checking for package updates..." + +sudo pacman -Syyuw --noconfirm || notify-send "Error downloading updates. + +Check your internet connection, if pacman is already running, or run update manually to see errors." +pkill -RTMIN+8 i3blocks + +if pacman -Qu | grep -v "\[ignored\]" +then + notify-send "🎁 Repository Sync" "Updates available. Click statusbar icon (📦) for update." +else + notify-send "📦 Repository Sync" "Sync complete. No new packages for update." +fi diff --git a/.local/bin/cron/cronbat b/.local/bin/cron/cronbat new file mode 100755 index 0000000..ee21a17 --- /dev/null +++ b/.local/bin/cron/cronbat @@ -0,0 +1,8 @@ +#!/usr/bin/env sh +# Notify me with notify-send if my battery is below 25%. +# You can set this to run via cron. + +[ "$(cat /sys/class/power_supply/BAT0/status)" = "Charging" ] && exit +[ "$(cat /sys/class/power_supply/BAT0/capacity)" -lt 25 ] && +export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus && +notify-send -u critical "Battery critically low." diff --git a/.local/bin/cron/crontog b/.local/bin/cron/crontog new file mode 100755 index 0000000..237eb9c --- /dev/null +++ b/.local/bin/cron/crontog @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +# Toggles all cronjobs off/on. +# Stores disabled crontabs in ~/.consaved until restored. + +([ -f ~/.config/cronsaved ] && crontab - < ~/.config/cronsaved && rm ~/.config/cronsaved && notify-send "🕓 Cronjobs re-enabled.") || ( crontab -l > ~/.config/cronsaved && crontab -r && notify-send "🕓 Cronjobs saved and disabled.") diff --git a/.local/bin/cron/newsup b/.local/bin/cron/newsup new file mode 100755 index 0000000..6b6a348 --- /dev/null +++ b/.local/bin/cron/newsup @@ -0,0 +1,16 @@ +#!/usr/bin/env sh +# Set as a cron job to check for new RSS entries for newsboat. +# If newsboat is open, sends it an "R" key to refresh. + +ping -q -c 1 1.1.1.1 > /dev/null || exit + +/usr/bin/notify-send "📰 Updating RSS feeds..." + +pgrep -x newsboat >/dev/null && /usr/bin/xdotool key --window "$(/usr/bin/xdotool search --name newsboat)" R && exit + +echo 🔃 > /tmp/newsupdate +pkill -RTMIN+6 i3blocks +/usr/bin/newsboat -x reload +rm -f /tmp/newsupdate +pkill -RTMIN+6 i3blocks +/usr/bin/notify-send "📰 RSS feed update complete." -- cgit v1.3.1