View Single Post
Posts: 3,841 | Thanked: 1,079 times | Joined on Nov 2006
#212
Originally Posted by Texrat View Post
Yet another strong testament for separating logic from UI.
Maybe the 'remind' utility could be an example of this.. it's more of a scheduler than a calendar (although it can be used as one). It's a command line tool that can work as an engine for a graphical user interface.

I'm not too familiar with remind, I only know about it because someone on ITT asked for a version for the N8x0 and I built and provided one from Debian sources (and I also follow their mailing list in case there's need for support for the N8x0 version). But even as little as I have used it it looks interesting.

The command line tool runs as follows:
Code:
$ remind

REMIND 03.01.05 (English version) Copyright 1992-1998 David F. Skoll
Copyright 1999-2008 Roaring Penguin Software Inc.
Usage: remind [options] filename [date] [time] [*rep]
Options:
 -n     Output next occurrence of reminders in simple format
 -r     Disable RUN directives
 -c[a][n] Produce a calendar for n (default 1) months
 -c[a]+[n] Produce a calendar for n (default 1) weeks
 -w[n[,p[,s]]]  Specify width, padding and spacing of calendar
 -s[a][+][n] Produce `simple calendar' for n (1) months (weeks)
 -p[a][n] Same as -s, but input compatible with rem2ps
 -l     Prefix each simple calendar line with line number and filename comment
 -v     Verbose mode
 -o     Ignore ONCE directives
 -t[n]  Trigger all future (or those within `n' days)
 -h     `Hush' mode - be very quiet
 -a     Don't trigger timed reminders immediately - just queue them
 -q     Don't queue timed reminders
 -f     Trigger timed reminders by staying in foreground
 -z[n]  Enter daemon mode, waking every n (5) minutes.
 -d...  Debug: e=echo x=expr-eval t=trig v=dumpvars l=showline f=tracefiles
 -e     Divert messages normally sent to stderr to stdout
 -b[n]  Time format for cal: 0=am/pm, 1=24hr, 2=none
 -x[n]  Iteration limit for SATISFY clause (def=150)
 -kcmd  Run `cmd' for MSG-type reminders
 -g[ddd] Sort reminders by date, time and priority before issuing
 -ivar=val Initialize var to val and preserve var
 -m     Start calendar with Monday rather than Sunday
 -y     Synthesize tags for tagless reminders
Then there are several UIs available. I attach two screenshots, one of 'tkremind' and the other is 'wyrd' - they are very different but are using 'remind' (and the same db) all the same.
tkremind uses TK while wyrd runs in xterm.

(NB: These are desktop snapshots, I didn't build tkremind or wyrd for the N8x0).
Attached Images
  
__________________
N800/OS2007|N900/Maemo5
-- Metalayer-crawler delenda est.
-- Current state: Fed up with everything MeeGo.
 

The Following User Says Thank You to TA-t3 For This Useful Post: