From c7a88a07b9287db9c129914483f6b3ae1ab5404c Mon Sep 17 00:00:00 2001 From: awy Date: Fri, 14 Nov 2025 23:43:38 +0300 Subject: init --- .local/bin/cron/README.md | 14 ++++++++++++++ .local/bin/cron/checkup | 13 +++++++++++++ .local/bin/cron/crontog | 6 ++++++ .local/bin/cron/mailup | 9 +++++++++ .local/bin/cron/newsup | 15 +++++++++++++++ 5 files changed, 57 insertions(+) create mode 100644 .local/bin/cron/README.md create mode 100755 .local/bin/cron/checkup create mode 100755 .local/bin/cron/crontog create mode 100755 .local/bin/cron/mailup create mode 100755 .local/bin/cron/newsup (limited to '.local/bin/cron') 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}" -- cgit v1.2.3