aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano.tronto@gmail.com>2022-02-09 19:23:08 +0100
committerSebastiano Tronto <sebastiano.tronto@gmail.com>2022-02-09 19:23:08 +0100
commit2836d2f4452b538e24ca6b85ee27df7bce0b69b2 (patch)
tree8c45994a9ee4b80589f718c7eb0e647c6c53881f /scripts
parent0bcca7b6808a02af3c4758c30eec9984d44dfac7 (diff)
downloadsdep-2836d2f4452b538e24ca6b85ee27df7bce0b69b2.tar.gz
sdep-2836d2f4452b538e24ca6b85ee27df7bce0b69b2.zip
Simplified scripts build process (removed SDEPDATA).
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/sdep-add6
-rwxr-xr-xscripts/sdep-checknow12
-rwxr-xr-xscripts/sdep-checkpast8
-rwxr-xr-xscripts/sdep-clear6
-rwxr-xr-xscripts/sdep-edit4
-rwxr-xr-xscripts/sdep-list12
6 files changed, 26 insertions, 22 deletions
diff --git a/scripts/sdep-add b/scripts/sdep-add
index bb0b2c8..c9f4344 100755
--- a/scripts/sdep-add
+++ b/scripts/sdep-add
@@ -1,6 +1,6 @@
1#!/bin/sh 1#!/bin/sh
2 2
3# Adds a line to SDEPDATA/once. It is possible to specify a date, which will be 3# Adds a line to $sdepdata/once. It is possible to specify a date, which will be
4# read by date -d and prepended to the input text. 4# read by date -d and prepended to the input text.
5# -d is a non-portable option of GNU date. On some other systems one can 5# -d is a non-portable option of GNU date. On some other systems one can
6# accomplish the same with the -j option. 6# accomplish the same with the -j option.
@@ -8,7 +8,9 @@
8# Usage: sdep-add [date] 8# Usage: sdep-add [date]
9# Example: sdep-add "next monday" 9# Example: sdep-add "next monday"
10 10
11file="SDEPDATA/once" 11sdepdata="${XDG_DATA_HOME:-$HOME/.local}/sdep"
12
13file="$sdepdata/once"
12date="" 14date=""
13 15
14[ -n "$1" ] && date=$(date -d "$1" +%Y-%m-%d) 16[ -n "$1" ] && date=$(date -d "$1" +%Y-%m-%d)
diff --git a/scripts/sdep-checknow b/scripts/sdep-checknow
index 2cb8f68..404d461 100755
--- a/scripts/sdep-checknow
+++ b/scripts/sdep-checknow
@@ -3,7 +3,7 @@
3# Run this every minute (for example using cron) to receive a notification 3# Run this every minute (for example using cron) to receive a notification
4# when an event happens. 4# when an event happens.
5# 5#
6# The events are read from the following files in SDEPDATA folder: 6# The events are read from the following files in $sdepdata folder:
7# once: events that only happen once; full date needs to be specified 7# once: events that only happen once; full date needs to be specified
8# daily: events that happen every day; only specify the time in HH:MM format 8# daily: events that happen every day; only specify the time in HH:MM format
9# weekly: only specify Weekday + time 9# weekly: only specify Weekday + time
@@ -14,6 +14,8 @@
14# might have to change if you are not on Linux (on some systems you can 14# might have to change if you are not on Linux (on some systems you can
15# accomplish the same with -j). 15# accomplish the same with -j).
16 16
17sdepdata="${XDG_DATA_HOME:-$HOME/.local}/sdep"
18
17#notify="notify-send -t 3600000" 19#notify="notify-send -t 3600000"
18notify=herbe 20notify=herbe
19title="$(date +%H:%M)" 21title="$(date +%H:%M)"
@@ -23,17 +25,17 @@ sdepnotify() {
23} 25}
24 26
25# One-off events 27# One-off events
26sdepnotify <"SDEPDATA/once" 28sdepnotify <"$sdepdata/once"
27 29
28# Daily events 30# Daily events
29sed "s/^/$(date +%Y-%m-%d) /" <"SDEPDATA/daily" | sdepnotify 31sed "s/^/$(date +%Y-%m-%d) /" <"$sdepdata/daily" | sdepnotify
30 32
31# Weekly events - needs GNU date (try -j intead of -d on BSD) 33# Weekly events - needs GNU date (try -j intead of -d on BSD)
32while read line; do 34while read line; do
33 weekday=$(echo "$line" | sed "s/ .*$//") 35 weekday=$(echo "$line" | sed "s/ .*$//")
34 echo "$line" | sed "s/^[ ]*[^ ]* /$(date -d $weekday +%Y-%m-%d) /" 36 echo "$line" | sed "s/^[ ]*[^ ]* /$(date -d $weekday +%Y-%m-%d) /"
35done <"SDEPDATA/weekly" | \ 37done <"$sdepdata/weekly" | \
36sdepnotify 38sdepnotify
37 39
38# Monthly events 40# Monthly events
39sed "s/^[ ]*/$(date +%Y-%m-)/" <"SDEPDATA/daily" | sdepnotify 41sed "s/^[ ]*/$(date +%Y-%m-)/" <"$sdepdata/daily" | sdepnotify
diff --git a/scripts/sdep-checkpast b/scripts/sdep-checkpast
index 35a561c..e5686fb 100755
--- a/scripts/sdep-checkpast
+++ b/scripts/sdep-checkpast
@@ -1,13 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2 2
3# Run this at boot to receive a notification about past events that you might 3# Run this at boot to receive a notification about past events that you might
4# have missed 4# have missed (based on sdep-list).
5#
6# The events are read from the following files in SDEPDATA folder:
7# once: events that only happen once; full date needs to be specified
8# daily: events that happen every day; only specify the time in HH:MM format
9# weekly: only specify Weekday + time
10# monthly: only specify day of the month + time
11 5
12# Requires: a command to send notifications such as herbe or notify-send. 6# Requires: a command to send notifications such as herbe or notify-send.
13 7
diff --git a/scripts/sdep-clear b/scripts/sdep-clear
index 814f853..98599ef 100755
--- a/scripts/sdep-clear
+++ b/scripts/sdep-clear
@@ -1,10 +1,12 @@
1#!/bin/sh 1#!/bin/sh
2 2
3# Removes old events from specified file (default: SDEPDATA/once). 3# Removes old events from specified file (default: $sdepdata/once).
4 4
5# Usage: sdep-clear [file] 5# Usage: sdep-clear [file]
6 6
7file="SDEPDATA/${1:-once}" 7sdepdata="${XDG_DATA_HOME:-$HOME/.local}/sdep"
8
9file="$sdepdata/${1:-once}"
8temp=$(mktemp) 10temp=$(mktemp)
9 11
10sdep -t <"$file" >"$temp" 12sdep -t <"$file" >"$temp"
diff --git a/scripts/sdep-edit b/scripts/sdep-edit
index d19a3f5..b561dd8 100755
--- a/scripts/sdep-edit
+++ b/scripts/sdep-edit
@@ -5,7 +5,9 @@
5# Usage: sdep-edit [file] 5# Usage: sdep-edit [file]
6# No options = once 6# No options = once
7 7
8file="SDEPDATA/${1:-once}" 8sdepdata="${XDG_DATA_HOME:-$HOME/.local}/sdep"
9
10file="$sdepdata/${1:-once}"
9editor=${VISUAL:-vi} 11editor=${VISUAL:-vi}
10 12
11$editor "$file" 13$editor "$file"
diff --git a/scripts/sdep-list b/scripts/sdep-list
index a9e5405..c1e89f9 100755
--- a/scripts/sdep-list
+++ b/scripts/sdep-list
@@ -4,7 +4,7 @@
4# Recurring events are listed at most once, and only if their first occurrence 4# Recurring events are listed at most once, and only if their first occurrence
5# is in the range. 5# is in the range.
6# 6#
7# The events are read from the following files in the SDEPDATA folder: 7# The events are read from the following files in the $sdepdata folder:
8# once: events that only happen once; full date needs to be specified 8# once: events that only happen once; full date needs to be specified
9# daily: events that happen every day; only specify the time in HH:MM format 9# daily: events that happen every day; only specify the time in HH:MM format
10# weekly: only specify Weekday + time 10# weekly: only specify Weekday + time
@@ -15,6 +15,8 @@
15# Usage: sdep-list [today|tomorrow|week|nextweek|past|future] 15# Usage: sdep-list [today|tomorrow|week|nextweek|past|future]
16# No options = all 16# No options = all
17 17
18sdepdata="${XDG_DATA_HOME:-$HOME/.local}/sdep"
19
18from="" 20from=""
19to="" 21to=""
20w="%d %b %H:%M" 22w="%d %b %H:%M"
@@ -52,13 +54,13 @@ esac
52 54
53tempfile=$(mktemp) 55tempfile=$(mktemp)
54 56
55cat "SDEPDATA/once" > "$tempfile" 57cat "$sdepdata/once" > "$tempfile"
56sed "s/^/$(date +%Y-%m-%d) /" <"SDEPDATA/daily" | >> "$tempfile" 58sed "s/^/$(date +%Y-%m-%d) /" <"$sdepdata/daily" | >> "$tempfile"
57while read line; do 59while read line; do
58 weekday=$(echo "$line" | sed "s/ .*$//") 60 weekday=$(echo "$line" | sed "s/ .*$//")
59 echo "$line" | sed "s/^[ ]*[^ ]* /$(date -d $weekday +%Y-%m-%d) /" 61 echo "$line" | sed "s/^[ ]*[^ ]* /$(date -d $weekday +%Y-%m-%d) /"
60done <"SDEPDATA/weekly" >> "$tempfile" 62done <"$sdepdata/weekly" >> "$tempfile"
61sed "s/^[ ]*/$(date +%Y-%m-)/" <"SDEPDATA/daily" >> "$tempfile" 63sed "s/^[ ]*/$(date +%Y-%m-)/" <"$sdepdata/daily" >> "$tempfile"
62 64
63sdep -w "$w" -f "$from" -t "$to" <"$tempfile" 65sdep -w "$w" -f "$from" -t "$to" <"$tempfile"
64 66

Generated with cgit - Back to sebastiano.tronto.net