Provided by: wyrd_1.7.1-2_amd64 bug

Name

       wyrd - the user manual for wyrd(1), an ncurses interface to remind(1).

Synopsis

  Wyrd User Manual

       Paul J. Pelzl

       "Because you're tired of waiting for your bloated calendar program to start up."

Documentation

   1 Introduction

       Wyrd  is  a  text-based  front-end to Remind ⟨https://dianne.skoll.ca/projects/remind⟩ , a
       sophisticated calendar and alarm program. Wyrd serves two purposes:

       1) It displays reminders in a scrollable timetable  view  suitable  for  visualizing  your
       calendar at a glance.
       2)  It  makes  creating  and  editing reminders fast and easy. However, Wyrd does not hide
       Remind's textfile programmability,  for  this  is  what  makes  Remind  a  truly  powerful
       calendaring system.

       Wyrd  also  requires  only a fraction of the resources of most calendar programs available
       today.

   2 Installation

       This section describes how to install  Wyrd  by  compiling  from  source.  Wyrd  has  been
       packaged  for a number of popular Linux/Unix variants, so you may be able to save yourself
       some time by installing from a package provided by your OS distribution.

       Wyrd is designed to be portable to most Unix-like operating systems, including  GNU/Linux,
       *BSD,  and  Mac OS X. Before installing Wyrd, your system must have the following software
       installed:

       • OCaml ⟨https://ocaml.org/⟩
        >= 4.08
       • the ncurses library ⟨https://invisible-island.net/ncurses/⟩
        (and development headers)
       • OCaml Curses ⟨https://github.com/mbacarella/curses⟩

       • Remind ⟨https://dianne.skoll.ca/projects/remind/⟩
        >= 4.0.0
       • GNU make ⟨https://www.gnu.org/software/make/⟩

       • the Unix pager application, less

       After installing the OCaml compiler, Wyrd may be compiled and installed through any of the
       following 3 methods:

    2.1 Method 1: GNU make and OCaml findlib

       1)    Install    the    OCaml    findlib    package    for    your    operating    system:
       https://repology.org/project/findlib/related
       2)    Install    the    OCaml    curses    package    for    your    operating     system:
       https://repology.org/project/ocaml:curses/versions
       3) Execute the following commands at the root of the source tree:

            export PREFIX=/usr
          make
          make install

         On the BSDs, GNU make is usually available under the name gmake instead of make.

    2.2 Method 2: Dune

       1)      Install      the      Dune      package     for     your     operating     system:
       https://repology.org/project/dune/versions
       2)    Install    the    OCaml    curses    package    for    your    operating     system:
       https://repology.org/project/ocaml:curses/versions
       3) Execute the following commands at the root of the source tree:

            export WYRD_SYSCONFDIR=/etc
          dune build --release
          dune install --prefix=/usr --sections=bin

    2.3 Method 3: OPAM

       1)      Install      the      OPAM      package     for     your     operating     system:
       https://opam.ocaml.org/doc/Install.html
       2) Execute the following commands at the root of the source tree:

            opam init -c ocaml-system -n
          opam install -y ./wyrd.opam

       3) Wyrd may then be started with this command:

            opam exec wyrd

   3 Quick Start

       This section describes how to use Wyrd in its default configuration.  After  familiarizing
       yourself  with  the  basic operations as outlined in this section, you may wish to consult
       the Advanced Configuration section to see how Wyrd can be configured to  better  fit  your
       needs.

   4 Overview

       Before  attempting to use Wyrd, learn how to use Remind. Wyrd makes no attempt to hide the
       details of Remind programming from the user. Aside from reading the  Remind  manpage,  you
       may   get   some   useful  pointers  by  reading  Mike  Harris's  article  on  43  Folders
       ⟨https://www.43folders.com/2005/02/24/guest-mike-harris-looks-at-remind⟩ , Dianne  Skoll's
       writeup  on Linux Journal ⟨https://www.linuxjournal.com/article/3529⟩ , or the Remind Wiki
       ⟨https://dianne.skoll.ca/wiki/Remind⟩

       You can launch Wyrd using the default reminder file  by  executing  wyrd.  If  desired,  a
       different  reminder  file  (or  reminder  directory)  may  be  selected  by executing wyrd
       <filename>.

       At the top of the window is a short (incomplete) list of keybindings.

       The left window displays a  scrollable  timetable  view,  with  reminders  highlighted  in
       various  colors. If the DURATION specifier is used for a reminder, the highlighted area is
       rendered with an appropriate size. Overlapping reminders are rendered using  one  of  four
       different  indentation levels so that all reminders are at least partially visible. If the
       current time is visible in this window, it is highlighted in red.

       The upper right window displays a month calendar, with the color of each day  representing
       the  number  of  reminders it contains. The colors range across shades of white to blue to
       magenta as the number of reminders increases. The selected date is highlighted in cyan; if
       the current date is visible, it is highlighted in red.

       The  lower  right  window displays a list of the untimed reminders falling on the selected
       date.

       The bottom window displays the full text of the MSG for the reminder or reminders that are
       currently selected.

   5 Navigation

       ────────────────────────────────────────────────────────────────────
       Action                             Keypress
       ────────────────────────────────────────────────────────────────────
       scroll up and down the schedule    <up>, <down> or k, j
       jump back or forward by a day      <pageup>,  <pagedown> or 4, 6 or
                                          <, > or H, L
       jump back or forward by a week     8, 2 or [, ] or K, J
       jump back or forward by a month    {, }
       jump to current date and time      <home>
       jump to the next reminder          <tab>
       switch  between   schedule   and   <left>, <right> or h, l
       untimed reminders window
       zoom in on the schedule            z
       scroll the description window up   d, D
       and down
       ────────────────────────────────────────────────────────────────────

       Notice that if you have a numeric keypad, the  {4,  6,  8,  2}  keys  will  let  you  move
       directionally  in the month calendar view at the upper-right of the screen. Similarly, {H,
       J, K, L} will cause directional calendar movement using the standard mapping from vi(1).

       In addition to the hotkeys provided above, Wyrd lets you jump  immediately  to  a  desired
       date by pressing 'g', entering in a date specifier, and then pressing <return>. Any of the
       following date specifiers may be used:

       • 8 digits representing year, month, and day: YYYYMMDD
       • 4 digits representing month and day (of current year): MMDD
       • 2 digits representing day (of current month and year): DD

       (The  date  specifier  format  may  be  changed  to  DDMMYYYY;  consult  the  section   on
       Configuration Variables.)

   6 Editing Reminders

       Note:  By  default, Wyrd is configured to modify your reminder files using the text editor
       specified by the  $EDITOR  environment  variable.  (This  configuration  has  been  tested
       successfully  with  a number of common settings for $EDITOR, including 'vim', 'emacs', and
       'nano'.) If you wish to use a different editor, see Advanced Configuration.

       If you select a timeslot in the schedule view, then hit 't', you will begin creating a new
       timed  reminder. Wyrd will open up your reminder file in your favorite editor and move the
       cursor to the end of the file, where  a  new  reminder  template  has  been  created.  The
       template  has the selected date and time filled in, so in many cases you will only need to
       fill in a MSG value.

       Similarly, hitting 'u' will begin creating an untimed reminder. 'w' will create  a  weekly
       timed  reminder,  and 'W' will create a weekly untimed reminder; 'm' will create a monthly
       timed reminder, and 'M' will create a monthly untimed reminder.

       The keys 'T' and 'U' also create timed and untimed  reminders  (respectively),  but  first
       will provide a selection dialog for you to choose which reminder file you want to add this
       reminder to. The set of reminder files is determined by scanning the INCLUDE lines in your
       default  reminder  file.  (If  you  use a reminder directory, then all *.rem files in that
       directory will be available along with all INCLUDEd files.)

       If you select a reminder (either timed or  untimed)  and  hit  <return>,  you  will  begin
       editing that reminder. Wyrd will open up the appropriate reminders file in your editor and
       move the cursor to the corresponding REM line.

       If you select a timeslot that contains multiple overlapping reminders, Wyrd will provide a
       dialog that allows you to select the desired reminder.

       If  you  hit  <enter> on a blank timeslot, Wyrd will begin creating a new timed or untimed
       reminder (depending on whether the timed or the untimed window is selected).

       Finally, pressing 'e' will open the reminder file in your  editor  without  attempting  to
       select any particular reminder.

   7 Quick Reminders

       Wyrd  offers  an additional mode for entering simple reminders quickly. Press 'q', and you
       will be prompted for an event description. Simply enter a description for the event  using
       natural language, then press <return>. Examples:

       • meeting with Bob tomorrow at 11
       • drop off package at 3pm
       • Wednesday 10am-11:30 go grocery shopping
       • Board game night 20:15 next Fri
       • 7/4 independence day
       • 7/4/2007 independence day (next year)
       • independence day (next year) on 2007-07-04

       If your event description can be understood, Wyrd will immediately create the reminder and
       scroll the display to its location.

       Currently the quick reminder mode tends to favor USA English conventions, as  generalizing
       the natural language parser would require some work.

       Wyrd  also  allows you to use the "quick reminder" syntax to create new reminders from the
       command line, using the -a or --add options. For example,

          wyrd --add "dinner with neighbors tomorrow at 7pm"

       would create a new reminder for tomorrow evening. When  used  in  this  mode,  Wyrd  exits
       silently with error code 0 if the reminder was successfully created. If the reminder could
       not be created (e.g. if the reminder syntax could not be parsed),  Wyrd  prints  an  error
       message and exits with a nonzero error code.

   8 Cutting and Pasting Reminders

       Reminders  can  be  easily duplicated or rescheduled through the use of Wyrd's cutting and
       pasting features.

       Selecting a reminder and pressing 'X' will cut that reminder: the corresponding  REM  line
       is  deleted  from  your reminders file, and the reminder is copied to Wyrd's clipboard. To
       copy a reminder without deleting it, use 'y' instead.

       To paste a reminder from the clipboard back into your schedule, just move  the  cursor  to
       the  desired  date/time  and press 'p'. Wyrd will append a new REM line to the end of your
       reminders file, and open the file with your editor. The REM line  will  be  configured  to
       trigger  on  the selected date. If the copied reminder was timed, then the pasted reminder
       will be set to  trigger  at  the  selected  time  using  the  original  DURATION  setting.
       (Additional Remind settings such as delta and tdelta are not preserved by copy-and-paste.)

       If  you  wish  to  paste  a reminder into a non-default reminders file, use 'P'. This will
       spawn a selection dialog where you can choose the file that will hold the new reminder.

       WARNING: Cutting a reminder will delete  only  the  single  REM  command  responsible  for
       triggering it. If you are using more complicated Remind scripting techniques to generate a
       particular reminder, then the cut operation may not do what you want.

   9 Viewing Reminders

       Aside from viewing reminders as they fall in the schedule, you can press 'r' to  view  all
       reminders triggered on the selected date in a less(1) window. Similarly, 'R' will view all
       reminders triggered  on  or  after  the  selected  date  (all  non-expired  reminders  are
       triggered).

       If  you  want  to  get  a  more  global view of your schedule, Wyrd will also let you view
       Remind's formatted calendar output in a less(1) window. Pressing 'c' will view a  one-week
       calendar  that  contains  the  selected  date,  while  pressing  'C' will view a one-month
       calendar containing the selected date.

   10 Searching for Reminders

       Wyrd allows you to search for reminders with MSG values that match a search string.  Press
       '/'  to  start  entering a (case insensitive) regular expression. After the expression has
       been entered, press <return> and Wyrd will locate  the  next  reminder  that  matches  the
       regexp.  Press  'n'  to  repeat the same search. Entry of a search string may be cancelled
       with <esc> or Ctrl-g.

       The regular expression syntax is Emacs-compatible.

       Note: Sorry, there is no "search backward" function. The search function requires the  use
       of  "remind  -n",  which  operates  only  forward in time. For the same reason, there is a
       command to jump forward to the next reminder, but no  command  to  jump  backward  to  the
       previous reminder.

   11 Other Commands

       A  list  of  all  keybindings may be viewed by pressing '?'. You can exit Wyrd by pressing
       'Q'. If the screen is corrupted for some reason, hit 'Ctrl-L' to refresh the display.

   12 Alarm Strategies

       You may wish to generate some sort of alarm when a reminder is triggered.  Wyrd  does  not
       offer  any  special  alarm functionality, because Remind can handle the job already. Check
       the Remind manpage and consider how the -k option could be used to  generate  alarms  with
       the  aid  of  external  programs. For example, the following command will generate a popup
       window using gxmessage(1) whenever a timed reminder is triggered:

          remind -z -k'gxmessage -title "reminder" %s &' ~/.reminders &

       (A sensible way to start this alarm command is to  place  it  in  ~/.xinitrc  so  that  it
       launches when the X server is started.)

       If  you want some advance warning (say, 15 minutes), you can cause Remind to trigger early
       by setting a tdelta in the AT clause:

          REM Nov 27 2005 AT 14:30 +15 MSG Do something

       Alternatively, if you want to generate alarms only for specific reminders, consider  using
       Remind's  RUN  command.  This  process  could  be  easily automated by using the templateN
       configuration variables described in Advanced Configuration.

   13 Miscellaneous

       Remind's TAG specifier may be used to cause Wyrd to  give  special  treatment  to  certain
       reminders.  If a reminder line includes the clause "TAG noweight", then Wyrd will not give
       that reminder any weight when determining the "busy  level"  colorations  applied  to  the
       month  calendar.  If  a  reminder line includes the clause "TAG nodisplay", then Wyrd will
       neither display that reminder nor give it any weight when determining the  month  calendar
       colorations. The tag parameters are case insensitive.

       WARNING: These tag parameters are not guaranteed to interact well with other Remind front-
       ends such as tkremind.

   14 Usage Tips

       Wyrd fills in sensible defaults for the fields of a REM statement, but you will inevitably
       need  to  make  some small edits to achieve the behavior you want. If you use Vim, you can
       make your life easier by installing the Vim-Latex Suite and then modifying your  ~/.wyrdrc
       to use REM templates like this:

          set timed_template="REM %monname% %mday% %year% <++>AT %hour%:%min%<++> \
             DURATION 1:00<++> MSG %\"<++>%\" %b"
          set untimed_template="REM %monname% %mday% %year% <++>MSG %\"<++>%\" %b"

       With  this  change,  hitting  Ctrl-J inside Vim (in insert mode) will cause your cursor to
       jump directly to the <++> markers, enabling you to quickly add any  desired  Remind  delta
       and message parameters.

       There is a page on Wyrd ⟨https://dianne.skoll.ca/wiki/Wyrd⟩
        in the Remind Wiki. This is a good place to look for other usage tips.

   15 Licensing

       SPDX-License-Identifier: GPL-2.0-only

       Wyrd is Free Software; you can redistribute it and/or modify it under the terms of the GNU
       General Public License (GPL), Version 2, as published by the Free Software Foundation. You
       should have received a copy of the GPL along with this program, in the file 'COPYING'.

   16 Acknowledgments

       Thanks, of course, to Dianne Skoll for writing such a powerful reminder system.

       Thanks also to Nicolas George, who wrote the OCaml curses bindings used within Wyrd.

   17 Contact info

       Wyrd website: https://gitlab.com/wyrd-calendar/wyrd

   18 Miscellaneous

       "Wyrd  is  a  concept  in ancient Anglo-saxon and Nordic cultures roughly corresponding to
       fate or personal destiny." -- Wikipedia

   See Also

       wyrd(1), wyrdrc(5), remind(1)

   Author

       This manpage is written by Paul J. Pelzl <pelzlpj@gmail.com>.