aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/cron
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/cron')
-rw-r--r--.local/bin/cron/README.md14
-rwxr-xr-x.local/bin/cron/checkup13
-rwxr-xr-x.local/bin/cron/crontog6
-rwxr-xr-x.local/bin/cron/mailup9
-rwxr-xr-x.local/bin/cron/newsup15
5 files changed, 57 insertions, 0 deletions
diff --git a/.local/bin/cron/README.md b/.local/bin/cron/README.md
new file mode 100644
index 0000000..e314296
--- /dev/null
+++ b/.local/bin/cron/README.md
@@ -0,0 +1,14 @@
+# 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/$(id -u $USER)/bus; export WAYLAND_DISPLAY=wayland-1; . $HOME/.zprofile; then_command_goes_here
+```
+
+This ensures that notifications will display, wtype/wlrctl commands will function and environmental variables will work as well.
+
+# Also important
+DBUS_SESSION_BUS_ADDRESS variable will always have a random address in the /tmp directory when you are using dinit as your init system.
diff --git a/.local/bin/cron/checkup b/.local/bin/cron/checkup
new file mode 100755
index 0000000..3cfcca7
--- /dev/null
+++ b/.local/bin/cron/checkup
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Syncs repositories and downloads updates, meant to be run as a cronjob.
+
+doas 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 "${STATUSBAR:-someblocks}"
+
+if pacman -Qu | rg -v "\[ignored\]"
+then
+ notify-send "🎁 Repository Sync" "Updates available. Click statusbar icon (📦) for update."
+fi
diff --git a/.local/bin/cron/crontog b/.local/bin/cron/crontog
new file mode 100755
index 0000000..c9a640f
--- /dev/null
+++ b/.local/bin/cron/crontog
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Toggles all cronjobs off/on.
+# Stores disabled crontabs in ~/.config/cronsaved until restored.
+
+([ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/cronsaved ] && crontab - < "${XDG_CONFIG_HOME:-$HOME/.config}"/cronsaved && rm "${XDG_CONFIG_HOME:-$HOME/.config}"/cronsaved && notify-send "🕓 Cronjobs re-enabled.") || ( crontab -l > "${XDG_CONFIG_HOME:-$HOME/.config}"/cronsaved && crontab -r && notify-send "🕓 Cronjobs saved and disabled.")
diff --git a/.local/bin/cron/mailup b/.local/bin/cron/mailup
new file mode 100755
index 0000000..e392f01
--- /dev/null
+++ b/.local/bin/cron/mailup
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+pgrep -f mailsync && exit
+
+echo "" > /tmp/mailupdate
+pkill -RTMIN+12 "${STATUSBAR:-someblocks}"
+/usr/bin/mailsync
+rm -f /tmp/mailupdate
+pkill -RTMIN+12 "${STATUSBAR:-someblocks}"
diff --git a/.local/bin/cron/newsup b/.local/bin/cron/newsup
new file mode 100755
index 0000000..80d31fa
--- /dev/null
+++ b/.local/bin/cron/newsup
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Set as a cron job to check for new RSS entries for newsraft.
+# If newsraft is open, sends it an "R" key to refresh.
+
+export XDG_RUNTIME_DIR=/tmp/hyprland
+export WAYLAND_DISPLAY=wayland-1
+
+pgrep -f newsraft$ && hyprctl --instance 0 dispatch sendshortcut ,R ,title:newsraft
+
+echo  > /tmp/newsupdate
+pkill -RTMIN+6 "${STATUSBAR:-someblocks}"
+/usr/bin/newsraft -e reload-all
+rm -f /tmp/newsupdate
+pkill -RTMIN+6 "${STATUSBAR:-someblocks}"