wyrdrc(5)
π¦ wyrdrc β the Wyrd configuration file π¦
okay bestie, so this is wyrdrc(5) β the config textfile for the wyrd(1) console calendar app. yes it's a whole manpage. no it's not scary. let's go π
β¨ NAME β¨
wyrdrc β the configuration textfile for the wyrd(1) console calendar application. that's it, that's the name, iconic π
πΈ SYNOPSIS πΈ
Wyrd Configuration File
Wyrd reads a run-configuration textfile (generally /etc/wyrdrc or /usr/local/etc/wyrdrc) to figure out your key bindings, your color schemes, and likeβ¦ a ton of other settings. π«Ά
You can make your own personalized config file at $HOME/.wyrdrc and pick settings that match how you actually use it. The recommended procedure (fr, do this) is to "include" the wyrdrc file that ships with Wyrd (see the Including Other Rcfiles section below), then add or remove settings as you please. β¨
π DOCUMENTATION π
π 1 wyrdrc Syntax π
so you might notice the wyrdrc syntax is giving very much the same energy as the config file for the Mutt email client (muttrc). iykyk. π
Inside the wyrdrc file, strings should be wrapped in double quotes ("). A double quote character inside a string may be represented by \". And the backslash character itself must be represented by doubling it (\\). yes really. double it. π«
π§ 2 Including Other Rcfiles π§
Syntax:
include filename_string
This lets you include one run-configuration file inside another. The classic move is loading the default wyrdrc file (probably found in /etc/wyrdrc or /usr/local/etc/wyrdrc) inside your own personalized rcfile, ~/.wyrdrc. π
The filename string should be enclosed in quotes. periodt.
π 3 Setting Configuration Variables π
Syntax:
set variable=value_string
A bunch of configuration variables can be set this way β go check the Configuration Variables description for the full list. The variables themselves are unquoted, but the values should be quoted strings. β
π 4 Creating Key Bindings π
Syntax:
bind key_identifier operation
This command binds a keypress to execute a calendar operation. The various operations β which should not be wrapped in quotes β live in the section on Calendar Operations.
Key identifiers may be specified by strings that represent a single keypress, for example "m" (quotes included, bestie, yes you need them). The key may be prefixed with \\C or \\M to mean Control or Meta (Alt) modifiers respectively β and heads up, the backslash has to be doubled there. π«
Some special keys don't have single-character representations, so you can use these strings instead:
"<esc>""<tab>""<enter>""<return>""<insert>""<home>""<end>""<pageup>""<pagedown>""<space>""<left>""<right>""<up>""<down>""<f1>"to"<f12>"
Now, because terminal emulators are all messy little divas and refuse to agree with each other π, this key identifier syntax might not be enough to describe every single keypress. As a workaround, Wyrd will also accept key identifiers in octal notation. For example, you could use \024 (do not enclose it in quotes) to represent Ctrl-T. β¨
Multiple keys may be bound to the same operation if you want. slay. π₯
π 5 Removing Key Bindings π
Syntax:
unbind key_identifier
This removes all bindings associated with that key identifier. The key identifiers should be defined using the syntax from the previous section. bye bye binding π
π 6 Setting the Color Scheme π
Syntax:
color object foreground background
This applies the specified foreground and background colors to the appropriate object. A list of colorable objects is provided in the section on Colorable Objects.
Wyrd recognizes these color keywords: black, red, green, yellow, blue, magenta, cyan, white, default. The default keyword lets you choose the default foreground or background colors. And if you use default for your background color, that accesses the transparent background on terminal emulators that support it. so pretty. π¦
π 7 Configuration Variables π
The following configuration variables may be set as described in the Setting Configuration Variables section:
remind_commandβ determines the command used to execute Remind.reminders_fileβ controls which Remind file (or Remind directory) Wyrd will operate on. The default is~/.reminders.edit_old_commandβ controls the command used to edit a pre-existing reminder. The special strings'%file%'and'%line%'will be replaced with a filename to edit and a line number to navigate to within that file.edit_new_commandβ controls the command used to edit a new reminder. The special character'%file%'will be replaced with a filename to edit. Ideally, this command should move the cursor to the last line of the file, where the new reminder template is created.edit_any_commandβ controls the command used for editing a reminder file without selecting any particular reminder. The special character'%file%'will be replaced with a filename to edit.pager_commandβ controls the command used for viewing keybindings (?), calendar, and reminders{c, C, r, R}. Set this to"less -c"if you wantless(1)to repaint the screen by clearing it instead of scrolling.default_zoomβ controls the default zoom level that Wyrd starts up with. This setting accepts an integer value of:0for Hourly time increments1for Half-Hourly time increments2for Quarter-Hourly time increments.
Any integer other than these 3 is invalid and will cause an error. π¨
timed_templateβ controls the format of the REM line created when editing a new timed reminder. The following string substitutions will be made:'%monname%'- month name'%mon%'- month number (1-12)'%0mon%'- month number (01-12)'%mday%'- day of the month (1-31)'%0mday%'- day of the month (01-31)'%year%'- year'%hour%'- hour'%min%'- minute'%wdayname%'- weekday name'%wday%'- weekday number.
untimed_templateβ controls the format of the REM line created when editing a new untimed reminder. The substitution syntax is the same as fortimed_template.templateNβ controls the format of a generic user-defined REM line template;Nmay range from 0 to 9. The substitution syntax is the same as fortimed_template.busy_algorithmβ an integer value specifying which algorithm to use for measuring how busy the user is on a particular day. Ifbusy_algorithm="1", then Wyrd will simply count the total number of reminders triggered on that day. Ifbusy_algorithm="2", then Wyrd will count the number of hours of reminders that fall on that day. (Untimed reminders are assumed to occupyuntimed_durationminutes.)untimed_durationβ an integer value that specifies the assumed duration of an untimed reminder, in minutes. This is used only when computing the busy level withbusy_algorithm="2".busy_level1β an integer value specifying the maximum number of reminders in a day (withbusy_algorithm="1") or maximum hours of reminders in a day (withbusy_algorithm="2") which will be colored using the color scheme forcalendar_level1.busy_level2β same as above, using thecalendar_level2color scheme.busy_level3β same as above, using thecalendar_level2color scheme rendered in bold.busy_level4β same as above, using thecalendar_level3color scheme. Any day with more reminders than this will be rendered using thecalendar_level3color scheme rendered in bold.week_starts_mondayβ a boolean value ("true"or"false") that determines the first day of the week.schedule_12_hourβ a boolean value that determines whether the timed reminders window is drawn using 12- or 24-hour time.selection_12_hourβ a boolean value that determines whether the selection information is drawn with 12- or 24-hour time.status_12_hourβ a boolean value that determines whether the current time is drawn using a 12- or 24-hour clock.description_12_hourβ a boolean value that determines whether reminder start and end times are drawn using 12- or 24-hour time in the description window. This value also controls the format of timestamps in the formatted calendars produced byview_weekandview_month.center_cursorβ a boolean value that determines how the screen and cursor move during scrolling operations. When set to"true", the cursor is fixed in the center of the timed reminders window, and the schedule scrolls around it. When set to"false"(the default), the cursor will move up and down the schedule during scrolling operations.goto_big_endianβ a boolean value that determines how the goto operation will parse dates. When set to"true", date specifiers should be in ISO 8601 (YYYYMMDD) format. When set to"false", date specifiers should be in European styleDDMMYYYYformat.quick_date_USβ a boolean value that determines how thequick_addoperation will parse numeric dates with slashes, e.g.6/1(or6/1/2006). When set to"true", the first number is a month and the second is the day of the month (June 1). When set to"false", these meanings of these two fields are switched (January 6).number_weeksβ a boolean value that determines whether or not weeks should be numbered within the month calendar window. Weeks are numbered according to the ISO 8601 standard. The ISO standard week begins on Monday, so to avoid confusion it is recommended thatweek_starts_mondaybe set to"true"when week numbering is enabled.home_stickyβ a boolean value that determines whether or not the cursor should "stick" to the "home" position. When this option is set to"true", then after pressing the<home>key the cursor will automatically follow the current date and time. The effect is cancelled by pressing any of the navigation keys.advance_warningβ a boolean value that determines whether or not Wyrd should display advance warning of reminders. When set to"true", Wyrd will invoke Remind in a mode that generates advance warning of reminders as specified in the reminder file.untimed_window_widthβ an integer value that determines the target width of the month-calendar window and the untimed reminders window. The allowable range is 34 to ($COLUMNS- 40) characters, and Wyrd will silently disregard any setting outside this range. πuntimed_boldβ a boolean value that determines whether or not Wyrd should render untimed reminders using a bold font.reminder_colorsβ Render reminders in color (auto/true/false) needs ccc support in termcap:tput ccc && echo supportedauto will fallback to default colors.
For maximum usefulness,busy_level1<busy_level2<busy_level3<busy_level4. π
β 8 Calendar Operations β
Every Wyrd operation can be made available to the interface using the syntax described in the section on Creating Key Bindings. β¨
The following is a list of every available operation.
scroll_upβ nudge the cursor up by one element β¬οΈscroll_downβ nudge the cursor down by one element β¬οΈnext_dayβ yeet yourself one day into the futureprevious_dayβ rewind one day backnext_weekβ skip ahead a whole weekprevious_weekβ hop back a whole weeknext_monthβ zoom ahead one monthprevious_monthβ rewind one monthhomeβ snap straight back to the current date and time πgotoβ start typing a date specifier so you can jump to itzoomβ zoom in on the day schedule view (heads up: this one is cyclic π)editβ edit whichever reminder is selectededit_anyβ edit a reminder file without having to pick a specific reminder firstscroll_description_upβ scroll the description window contents up (when possible)scroll_description_downβ scroll the description window contents down (when possible)quick_addβ add a "quick reminder" β‘new_timedβ make a brand new timed remindernew_timed_dialogβ same as the one above, but with a reminder file selection dialognew_untimedβ make a brand new untimed remindernew_untimed_dialogβ same as the one above, but with a reminder file selection dialognew_templateNβ make a new user-defined reminder usingtemplateN, whereNmay range from0to9new_templateN_dialogβ same as the one above, but with a reminder file selection dialogcopyβ copy a reminder onto Wyrd's clipboard πcutβ delete a reminder and drop it onto Wyrd's clipboard βοΈpasteβ paste a reminder from Wyrd's clipboard into the schedulepaste_dialogβ same as the one above, but with a reminder file selection dialogswitch_windowβ flip between the day schedule window on the left and the untimed reminder window on the right βοΈbegin_searchβ start typing a search stringsearch_nextβ find the next occurrence of the search stringnext_reminderβ jump to the next reminder (thenext_reminderoperation locates reminders at the point they occur; ifadvance_warningis enabled,next_reminderwill skip over any displayed warnings of an event)view_remindβ view the output ofremindfor the selected dateview_remind_allβ view the output ofremindfor the selected date, triggering all non-expired remindersview_weekβ view Remind's formatted calendar for the week that contains the selected date (the in-calendar timestamp formats are determined by the value ofdescription_12_hour)view_monthβ view Remind's formatted calendar for the month that contains the selected date (the in-calendar timestamp formats are determined by the value ofdescription_12_hour)refreshβ refresh the display πquitβ exit Wyrd πentry_completeβ signal that you're done entering a search string or date specifierentry_backspaceβ delete the last character of the search string or date specifierentry_cancelβ cancel entry of a search string or date specifier
π¨ 9 Colorable Objects π¨
Every single on-screen element of Wyrd can be colored with whatever color scheme you want, using the syntax defined over in the section on Setting the Color Scheme. So yes, you can absolutely make it match your aesthetic π
Here's the full list of everything that's colorable:
helpβ the help bar chilling at the top of the screentimed_defaultβ an empty timeslot in the day-schedule windowtimed_currentβ the current time in the day-schedule window (if it's visible)timed_reminder1β a nonempty timeslot in the day-schedule window, indented to level 1timed_reminder2β a nonempty timeslot in the day-schedule window, indented to level 2timed_reminder3β a nonempty timeslot in the day-schedule window, indented to level 3timed_reminder4β a nonempty timeslot in the day-schedule window, indented to level 4untimed_reminderβ an entry in the untimed reminders windowtimed_dateβ the vertical date strip running down the left side of the screenselection_infoβ the line showing the date/time for whatever you currently have selecteddescriptionβ the reminder description windowstatusβ the bottom bar serving up the current date and timecalendar_labelsβ the month and weekday labels in the calendar windowcalendar_level1β calendar days with low activitycalendar_level2β calendar days with medium activitycalendar_level3β calendar days with high activitycalendar_todayβ the current day in the calendar window (if it's visible)left_dividerβ the vertical line to the left of the timed reminders windowright_dividerβ the vertical and horizontal lines to the right of the timed reminders window
π See Also
βοΈ Author
This manpage is written by Paul J. Pelzl <pelzlpj@gmail.com>.
and that's the whole vibe check, bestie π«Ά this page is served up courtesy of Odoc and it's page wyrdrc(5) β go forth and color-code your calendar, you iconic main character πβ¨
π¦ where this page comes from
- debian trixie: wyrd 1.7.4-1+b1 Β· GPL-2.0-only
- nixos 26.05: wyrd 1.7.4
- nixpkgs unstable: wyrd 1.7.4
- ubuntu questing: wyrd 1.7.4-1
- ubuntu resolute: wyrd 1.7.4-1build1 Β· GPL-2.0-only
- ubuntu stonking: wyrd 1.7.4-1build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms