From 86f99da8d08e1f2e290d8ebfd5adb016faff7bac Mon Sep 17 00:00:00 2001 From: Biswakalyan Bhuyan Date: Sat, 24 Sep 2022 12:21:56 +0530 Subject: script's --- cron/README.md | 11 +++++++++++ cron/checkup | 17 +++++++++++++++++ cron/crontog | 6 ++++++ cron/newsup | 15 +++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 cron/README.md create mode 100755 cron/checkup create mode 100755 cron/crontog create mode 100755 cron/newsup (limited to 'cron') diff --git a/cron/README.md b/cron/README.md new file mode 100644 index 0000000..fa0c354 --- /dev/null +++ b/cron/README.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/$(id -u $USER)/bus; export DISPLAY=:0; . $HOME/.zprofile; then_command_goes_here +``` + +This ensures that notifications will display, xdotool commands will function and environmental variables will work as well. diff --git a/cron/checkup b/cron/checkup new file mode 100755 index 0000000..bd3c634 --- /dev/null +++ b/cron/checkup @@ -0,0 +1,17 @@ +#!/bin/sh + +# Syncs repositories and downloads updates, meant to be run as a cronjob. + +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 "${STATUSBAR:-dwmblocks}" + +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/cron/crontog b/cron/crontog new file mode 100755 index 0000000..5aba5e6 --- /dev/null +++ b/cron/crontog @@ -0,0 +1,6 @@ +#!/bin/sh + +# Toggles all cronjobs off/on. +# Stores disabled crontabs in ~/.consaved 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/cron/newsup b/cron/newsup new file mode 100755 index 0000000..ed266d7 --- /dev/null +++ b/cron/newsup @@ -0,0 +1,15 @@ +#!/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. + +/usr/bin/notify-send "📰 Updating RSS feeds..." + +pgrep -f newsboat$ && /usr/bin/xdotool key --window "$(/usr/bin/xdotool search --name "^newsboat$")" R && exit + +echo 🔃 > /tmp/newsupdate +pkill -RTMIN+6 "${STATUSBAR:-dwmblocks}" +/usr/bin/newsboat -x reload +rm -f /tmp/newsupdate +pkill -RTMIN+6 "${STATUSBAR:-dwmblocks}" +/usr/bin/notify-send "📰 RSS feed update complete." -- cgit v1.2.3-59-g8ed1b