tenseleyflow/rcal / 38753e4

Browse files

update readme

Added controls section with detailed usage instructions and layout behavior for rcal.
Authored by Matthew Forrester Wolffe <137964366+mfwolffe@users.noreply.github.com>
Committed by GitHub
SHA
38753e4b9203703a8fe0d5dfa9395ef61305f123
Parents
ac0a37d
Tree
24b213e

1 changed file

StatusFile+-
M README.md 41 43
README.mdmodified
@@ -3,10 +3,6 @@
33
 `rcal` is a terminal calendar for quick month, week, and day navigation. It is
44
 built in Rust with `ratatui`, `crossterm`, and the `time` crate.
55
 
6
-This first milestone is meant for local daily trial use. It opens on the
7
-current month, keeps keyboard navigation fast, falls back to week or day views
8
-when terminal space is tight, and shows agenda previews from the current local
9
-events file plus holiday sources.
106
 
117
 ## Install
128
 
@@ -67,6 +63,47 @@ fixed for now.
6763
 Nager.Date is cache-first and opt-in. Default startup does not need network
6864
 access.
6965
 
66
+## Controls
67
+
68
+- Arrow keys move the selected date.
69
+- `?` opens contextual help.
70
+- `+` opens the Create event modal.
71
+- In day view, `c` opens the Copy confirmation for the selected editable event.
72
+- In day view, `d` opens the Delete confirmation for the selected editable event.
73
+- `Enter` opens the focused day view.
74
+- `Esc` returns from day view to month view.
75
+- `q` exits.
76
+- In day view, Left/Right move to the previous or next day while staying in day
77
+  view.
78
+- Digits jump immediately to a day in the visible month. A quick second digit
79
+  refines the selected day, so `1` selects day 1 and `1` then `6` selects day
80
+  16.
81
+- Weekday initials jump within the selected week. Use `tu` for Tuesday, `th`
82
+  for Thursday, `su` for Sunday, and `sa` for Saturday.
83
+- Left click selects a visible date; double-click a visible date to open day
84
+  view.
85
+
86
+The create/edit modal supports timed events, single-day all-day events,
87
+recurrence, location, notes, and multiple reminder offsets. Its `Calendar`
88
+field controls where the event is saved; use Left/Right on that field to cycle
89
+between local storage and configured editable provider calendars. Local events
90
+are stored as JSON, while Microsoft events are written through Graph and then
91
+shown immediately from the provider cache.
92
+Reminder notifications are delivered by a user-level background service. Use
93
+`rcal reminders install` to install it, `rcal reminders status` to inspect it,
94
+and `rcal reminders test` to send a test notification. On macOS, notification
95
+delivery uses `osascript` because it is more reliable for CLI-launched
96
+notifications than the generic notification backend. Reminder install snapshots
97
+the resolved events and state file paths, so reinstall the service after config
98
+changes that affect reminders.
99
+
100
+## Layout
101
+
102
+`rcal` tries to render the full month first. If the terminal is too constrained,
103
+it falls back to the selected week. If even that cannot fit cleanly, it falls
104
+back to a focused day summary.
105
+
106
+
70107
 ## Microsoft Provider
71108
 
72109
 Microsoft Graph is the first remote provider. It is cache-first: the TUI reads
@@ -150,45 +187,6 @@ create/edit/delete/copy operations for Microsoft events back through Graph.
150187
 Provider reminders fire from cached provider events after a sync; the reminder
151188
 daemon does not sync remote calendars itself.
152189
 
153
-## Controls
154
-
155
-- Arrow keys move the selected date.
156
-- `?` opens contextual help.
157
-- `+` opens the Create event modal.
158
-- In day view, `c` opens the Copy confirmation for the selected editable event.
159
-- In day view, `d` opens the Delete confirmation for the selected editable event.
160
-- `Enter` opens the focused day view.
161
-- `Esc` returns from day view to month view.
162
-- `q` exits.
163
-- In day view, Left/Right move to the previous or next day while staying in day
164
-  view.
165
-- Digits jump immediately to a day in the visible month. A quick second digit
166
-  refines the selected day, so `1` selects day 1 and `1` then `6` selects day
167
-  16.
168
-- Weekday initials jump within the selected week. Use `tu` for Tuesday, `th`
169
-  for Thursday, `su` for Sunday, and `sa` for Saturday.
170
-- Left click selects a visible date; double-click a visible date to open day
171
-  view.
172
-
173
-The create/edit modal supports timed events, single-day all-day events,
174
-recurrence, location, notes, and multiple reminder offsets. Its `Calendar`
175
-field controls where the event is saved; use Left/Right on that field to cycle
176
-between local storage and configured editable provider calendars. Local events
177
-are stored as JSON, while Microsoft events are written through Graph and then
178
-shown immediately from the provider cache.
179
-Reminder notifications are delivered by a user-level background service. Use
180
-`rcal reminders install` to install it, `rcal reminders status` to inspect it,
181
-and `rcal reminders test` to send a test notification. On macOS, notification
182
-delivery uses `osascript` because it is more reliable for CLI-launched
183
-notifications than the generic notification backend. Reminder install snapshots
184
-the resolved events and state file paths, so reinstall the service after config
185
-changes that affect reminders.
186
-
187
-## Layout
188
-
189
-`rcal` tries to render the full month first. If the terminal is too constrained,
190
-it falls back to the selected week. If even that cannot fit cleanly, it falls
191
-back to a focused day summary.
192190
 
193191
 ## Current Limits
194192