Fix git toplevel folder in push function; git log and git pull could maybe simplified in the same way push now works, without using multiple ifs and the up env var; to check later.
Add support for several week number types, default to ISO. And minor phrasing edits in the config.
Add a feature to load another data or config file, as well as a git log view
88 ,d
°° 88
8b,dPPYba, ,adPPYba, 88,dPYba,,adPYba, 88 8b,dPPYba, MM88MMM
88P° °Y8 a8P_____88 88P° °88° °8a 88 88P° '°8a 88
88 8PP°°°°°°° 88 88 88 88 88 88 88
88 °8b, ,aa 88 88 88 88 88 88 88,
88 '°Ybbd8°° 88 88 88 88 88 88 °Y888
A simple terminal UI wrapper for D. Skoll's Remind calendar program
remint
is a simple wrapper script to add interactions and navigation to the terminal outputs of D. Skoll's Remind scripting calendar program.
Make sure Dianne Skoll's remind
is intalled and that remint.sh
is executable with chmod +x /path/to/remint.sh
, then run with ./remint.sh /path/to/a/reminders/file/or/directory
(if the argument is a directory, then remint
will read from all *.rem
files in it). remint
will try default locations if none is supplied as argument, as well as the DOTREMINDERS
environment variable. I use it as a script executed in a new terminal window when clicking on the clock of my system bar.
remint
allows synchronizing to and from a git repository if you use *.rem
files from a folder initialized as a git repository. Running remint
on a single file supplied as CLI argument or on a data folder not containing files named as <something>.rem
will not allow git synchronization; this is to limit the risk of synchronizing unwanted files. See git synchronization in action in the video below:
Other short demos of the features are available here (some base functions, initial version) and here (a few new functions in a later update).
remint
options can be toggled from the TUI, but the defaults can be edited at the beginning of the script, or placed into a remint.conf
file either alongside remint.sh
(same directory) or in your Remind data directory (~/.reminders
, ~/.config/remind
, or a folder set in DOTREMINDERS
) to make them persist after updates:
DEFAULTFILE="100-remint.rem" # Default file to edit and add new events to if
# the Remind data path is a directory
COLOR="-@2" # COLOR="" to disable, COLOR="-@1" for 256 colors only.
FORMAT="1" # FORMAT="1" means 24h format, FORMAT="0" means am/pm.
VIEW="calendar" # VIEW="list" to display the agenda by default.
COLORINVERTED="no" # COLORINVERTED="yes" to toggle light/dark default mode.
SHOWDOYWOY="yes" # SHOWDOYWOY="no" to hide day of year and week number.
WEEKNUMBERTYPE="V" # "V" for ISO numbering, "W" for non-ISO and Monday as
# first day of the week, "U" for non-ISO and Sunday as
# first day of the week.
WEEKSPAN="4" # Number of weeks to show by default in week view.
MONTHSPAN="1" # Number of months to show by default in month view.
PREFIX="+" # If PREFIX="+", then the default view shows weeks,
# else if PREFIX="", then the default view shows months.
SPACING="" # SPACING="" for fixed cell spacing (see `s` binding),
# else SPACING=",n,m" where n and m are numbers.
FIRSTDAYOFWEEK="m" # FIRSTDAYOFWEEK="s" to start weeks on Sundays.
REMPAGER="less -Ri" # Or REMPAGER="$PAGER" to use your usual PAGER. Useful to
# search patterns or scroll long outputs. Beware that not
# all pagers can handle Remind's color and escape colors
# correctly; "less -Ri" can.
INFODURATION="1" # Duration (in s) of displayed messages; the UI will be
# be unresponsive until info messages disappear.
AUTOSYNC="no" # "yes" to automatically synchronize from and to git
# at startup (git pull) and when quitting (git push), else
# "no"; "yes" requires a reminders file in a git repository.
CUSTOM="" # Add any extra Remind arguments you may need here.
NAVIGATION
, p Prev page g Go to (yyyy, yyyymmdd, yyyy-mm-dd)
. n Next page t Go to today
h/l -1/+1 day o Navigate from the year overview
k/j -1/+1 week q Quit
M/m -1/+1 month other Quit with prompt
Y/y -1/+1 year ? Show this help
VIEW
v Toggle calendar/list views
w Toggle week/month span modes
[/] Span -1/+1 week (or month) per page (depending on current mode)
r 0 Reset to default page span for the current mode
z Toggle Monday/Sunday as first day of the week
: x Toggle 24h format
d Toggle day of the year and week number
/ Pipe to pager (e.g. to search pattern, press h for help)
s Toggle fixed/collapsed cell spacing
i Invert terminal background and foreground colors
c Toggle Remind colors
0-9 Duration (in s) of temporary messages (e.g. git, back up)
; Show last info message again
$indent DATA
f Load another data (or configuration) file
a Add event at selected day in the current data file
e Edit the current data file
b Back up the current data file
>/< Push/pull data file(s) to/from git repository
u Show git version history
© 2022 Mathieu Laparie, <mlaparie@disr.it>, MIT license