From 561603892dd6dfff2b863cc425f581611f7003f3 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 22 Feb 2026 23:30:30 -0600 Subject: Fix bold formatting in README for org-mode rendering Replace markdown-style **bold** with org-mode *bold* for correct rendering on GitHub. --- README.org | 70 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) (limited to 'README.org') diff --git a/README.org b/README.org index 0a15679..1a7f78c 100644 --- a/README.org +++ b/README.org @@ -164,7 +164,7 @@ Control how often chime checks for upcoming events: Lower values make notifications more responsive but increase system load. Higher values reduce polling overhead but may delay notifications slightly. -**Choosing a polling interval:** +*Choosing a polling interval:* - *120-300 seconds (2-5 minutes)*: Okay for reducing system load, but most people require more timely notifications. - *60 seconds (default)*: Ideal for most users. Matches org's minute-based timestamps and provides timely notifications with minimal overhead. @@ -172,7 +172,7 @@ Lower values make notifications more responsive but increase system load. Higher - *15-10 seconds*: Maximum responsiveness, but you're polling 4-6 times more frequently for marginal precision gain on minute-based events. - *Below 10 seconds*: Not recommended or supported. Org events are scheduled to the minute. Faster polling provides near-zero benefit while significantly increasing CPU, disk I/O, and battery usage. -**Note:** Changes take effect after restarting chime-mode (=M-x chime-mode= twice, or restart Emacs). +*Note:* Changes take effect after restarting chime-mode (=M-x chime-mode= twice, or restart Emacs). *** Alert Intervals @@ -362,8 +362,8 @@ This separation allows you to: The modeline supports two click actions: -- **Left-click**: Opens your calendar in a web browser (if configured) -- **Right-click**: Jumps directly to the event's org entry in its file +- *Left-click*: Opens your calendar in a web browser (if configured) +- *Right-click*: Jumps directly to the event's org entry in its file To enable left-click calendar access, set your calendar URL: @@ -495,7 +495,7 @@ Limit the length of long event titles to conserve modeline space: ;; → " ⏰ Very Long Me... ( in 10m)" #+END_SRC -**Important:** This setting affects *only the event title* (%t), not the icon, time, or countdown. The icon comes from =chime-modeline-format= and is added separately. +*Important:* This setting affects *only the event title* (%t), not the icon, time, or countdown. The icon comes from =chime-modeline-format= and is added separately. The truncation includes the "..." in the character count, so a 15-character limit means up to 12 characters of title plus "...". @@ -554,12 +554,12 @@ For maximum modeline space savings: **** Whitelist and Blacklist Precedence -If the same keyword or tag appears in both a whitelist and blacklist, the **blacklist takes precedence** and the item will be filtered out. This ensures sensitive information cannot accidentally be exposed in notifications. +If the same keyword or tag appears in both a whitelist and blacklist, the *blacklist takes precedence* and the item will be filtered out. This ensures sensitive information cannot accidentally be exposed in notifications. Examples: -- Item with =TODO= keyword when =TODO= is in both ~chime-keyword-whitelist~ and ~chime-keyword-blacklist~ → **filtered out** (blacklist wins) -- Item with =:urgent:= tag when =urgent= is in both ~chime-tags-whitelist~ and ~chime-tags-blacklist~ → **filtered out** (blacklist wins) -- Item with whitelisted keyword but blacklisted tag → **filtered out** (blacklist wins) +- Item with =TODO= keyword when =TODO= is in both ~chime-keyword-whitelist~ and ~chime-keyword-blacklist~ → *filtered out* (blacklist wins) +- Item with =:urgent:= tag when =urgent= is in both ~chime-tags-whitelist~ and ~chime-tags-blacklist~ → *filtered out* (blacklist wins) +- Item with whitelisted keyword but blacklisted tag → *filtered out* (blacklist wins) Most users configure either whitelists or blacklists, not both. If you use both, ensure they don't overlap to avoid confusion. @@ -594,12 +594,12 @@ SCHEDULED: <2025-10-30 Thu 10:00> **** Current Behavior -**Modeline:** +*Modeline:* - All-day events are *never* shown in the modeline - Only timed events with specific times appear - Rationale: Modeline shows urgent, time-sensitive items -**Notifications:** +*Notifications:* - All-day events can trigger notifications at configured times - By default, =chime-day-wide-alert-times= is ='("08:00")= (morning notification) - When set, chime will notify you of all-day events happening *today* at those times @@ -619,7 +619,7 @@ To receive notifications for all-day events (like birthdays): (setq chime-day-wide-alert-times nil) #+END_SRC -**Example workflow:** +*Example workflow:* 1. You have =* Blake's Birthday <2025-12-19 Fri>= in your org file 2. On December 19th at 8:00 AM, chime notifies: "Blake's Birthday is due or scheduled today" 3. This gives you a reminder to send birthday wishes or buy a gift @@ -636,12 +636,12 @@ Control whether overdue TODO items and past events appear alongside all-day even (setq chime-show-any-overdue-with-day-wide-alerts nil) #+END_SRC -**When enabled (default =t=):** +*When enabled (default =t=):* - Shows today's DEADLINE/SCHEDULED tasks that have passed (e.g., 9am deadline when it's now 2pm) - Shows today's all-day events even if you launch Emacs after the alert time (e.g., launch at 10am when alert was 8am) - Shows all-day events from past days (e.g., yesterday's birthday, last week's holiday) -**When disabled (=nil=):** +*When disabled (=nil=):* - Shows today's DEADLINE/SCHEDULED tasks that have passed ✓ - Shows today's all-day events even if you launch Emacs late ✓ - Hides all-day events from past days (prevents old birthday/holiday spam) ✓ @@ -685,10 +685,10 @@ All-day events are never shown in the modeline itself (only timed events appear The relationship between =chime-day-wide-alert-times= and =chime-show-any-overdue-with-day-wide-alerts= can be confusing: -- =chime-day-wide-alert-times= controls **when** notifications fire (e.g., 8:00 AM) -- =chime-show-any-overdue-with-day-wide-alerts= controls **what happens if you miss that time** +- =chime-day-wide-alert-times= controls *when* notifications fire (e.g., 8:00 AM) +- =chime-show-any-overdue-with-day-wide-alerts= controls *what happens if you miss that time* -**Example scenario:** +*Example scenario:* #+BEGIN_EXAMPLE You have: (setq chime-day-wide-alert-times '("08:00")) @@ -704,7 +704,7 @@ Timeline: → This catches you up on today's events you might have missed #+END_EXAMPLE -**If you disable overdue alerts:** +*If you disable overdue alerts:* #+BEGIN_EXAMPLE (setq chime-show-any-overdue-with-day-wide-alerts nil) @@ -717,11 +717,11 @@ Same scenario, but now: → This setting only hides events from PAST DAYS (yesterday, last week, etc.) #+END_EXAMPLE -**Key insight:** You'll always see today's all-day events when you launch Emacs, even if you missed the configured alert time. The =chime-show-any-overdue-with-day-wide-alerts= setting only controls whether you see events from *previous days*. +*Key insight:* You'll always see today's all-day events when you launch Emacs, even if you missed the configured alert time. The =chime-show-any-overdue-with-day-wide-alerts= setting only controls whether you see events from *previous days*. **** Common Use Cases -**Birthdays:** +*Birthdays:* #+BEGIN_SRC org ,* Blake Michael's Birthday <2025-02-20 Thu> @@ -729,13 +729,13 @@ Same scenario, but now: With =chime-day-wide-alert-times= set to ='("08:00")=, you'll get a morning reminder on the birthday. -**Holidays:** +*Holidays:* #+BEGIN_SRC org ,* Holiday: Thanksgiving <2025-11-27 Thu> #+END_SRC -**Multi-day Events:** +*Multi-day Events:* #+BEGIN_SRC org ,* Conference: EmacsCon 2025 <2025-11-10 Mon>--<2025-11-13 Thu> @@ -747,20 +747,20 @@ You'll receive notifications on each day of the conference at your configured al If you use [[https://repo.or.cz/org-contacts.git][org-contacts]] for managing contacts and birthdays, chime provides built-in integration to ensure birthdays appear in your agenda and trigger notifications. -**The Problem:** +*The Problem:* Org-contacts stores birthdays as properties (=:BIRTHDAY: 1985-03-15=) and uses diary sexps (=%%(org-contacts-anniversaries)=) to display them in your agenda. However, chime's async subprocess doesn't have org-contacts loaded, causing "Bad sexp" errors and preventing birthdays from appearing. -**The Solution:** +*The Solution:* Chime provides a two-part solution: -1. **One-time conversion** for existing contacts -2. **Automatic capture template** for new contacts +1. *One-time conversion* for existing contacts +2. *Automatic capture template* for new contacts Both approaches add plain org timestamps alongside the =:BIRTHDAY:= property, preserving vCard export compatibility while enabling chime notifications. -**Step 1: Convert Existing Contacts** +*Step 1: Convert Existing Contacts* Use the included conversion script to add birthday timestamps to your existing contacts file: @@ -795,7 +795,7 @@ Into: <1985-03-15 Sat +1y> #+END_SRC -**Safety:** The script creates a timestamped backup (=contacts.org.backup-YYYY-MM-DD-HHMMSS=) before making any changes. +*Safety:* The script creates a timestamped backup (=contacts.org.backup-YYYY-MM-DD-HHMMSS=) before making any changes. After conversion, comment out the diary sexp in your schedule file: @@ -803,7 +803,7 @@ After conversion, comment out the diary sexp in your schedule file: # %%(org-contacts-anniversaries) #+END_SRC -**Step 2: Enable Capture Template for New Contacts** +*Step 2: Enable Capture Template for New Contacts* To automatically add birthday timestamps when capturing new contacts: @@ -823,20 +823,20 @@ This adds an org-capture template that: - Automatically inserts a yearly repeating timestamp if birthday is provided - Preserves the =:BIRTHDAY:= property for vCard export -**Using the Capture Template:** +*Using the Capture Template:* 1. Press =C-c c= (or your org-capture binding) 2. Press =C= (or your configured capture key) 3. Fill in contact information 4. Birthday timestamps are added automatically on save -**Template Fields:** +*Template Fields:* - Name, Email, Phone, Address - Birthday (YYYY-MM-DD or MM-DD format) - Nickname, Company, Title, Website - Note (instead of free-form text below properties) -**Disabling the Integration:** +*Disabling the Integration:* Set =chime-org-contacts-file= to =nil= to disable the capture template: @@ -844,7 +844,7 @@ Set =chime-org-contacts-file= to =nil= to disable the capture template: (setq chime-org-contacts-file nil) ; Disabled by default #+END_SRC -**Result:** +*Result:* After setup, birthdays will: - ✓ Appear in org-agenda @@ -1107,8 +1107,8 @@ emacs & # This creates a SECOND chime instance! #+END_SRC 2. Decide on your preferred architecture: - - **Option A**: Use emacs daemon + emacsclient exclusively (recommended for consistency) - - **Option B**: Use standalone Emacs processes only (simpler, but separate configs) + - *Option A*: Use emacs daemon + emacsclient exclusively (recommended for consistency) + - *Option B*: Use standalone Emacs processes only (simpler, but separate configs) 3. Kill extra processes: #+BEGIN_SRC bash -- cgit v1.2.3