summaryrefslogtreecommitdiffstats
path: root/.local/bin/cron
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/cron')
-rw-r--r--.local/bin/cron/IMPORTANT_NOTE.md11
-rwxr-xr-x.local/bin/cron/checkup18
-rwxr-xr-x.local/bin/cron/cronbat8
-rwxr-xr-x.local/bin/cron/crontog5
-rwxr-xr-x.local/bin/cron/newsup16
5 files changed, 58 insertions, 0 deletions
diff --git a/.local/bin/cron/IMPORTANT_NOTE.md b/.local/bin/cron/IMPORTANT_NOTE.md
new file mode 100644
index 0000000..4568a77
--- /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/.profile; 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..0bda098
--- /dev/null
+++ b/.local/bin/cron/checkup
@@ -0,0 +1,18 @@
+#!/bin/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..c09ff42
--- /dev/null
+++ b/.local/bin/cron/cronbat
@@ -0,0 +1,8 @@
+#!/bin/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..93c2d30
--- /dev/null
+++ b/.local/bin/cron/crontog
@@ -0,0 +1,5 @@
+#!/bin/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..f894927
--- /dev/null
+++ b/.local/bin/cron/newsup
@@ -0,0 +1,16 @@
+#!/bin/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."