aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-22 23:30:30 -0600
committerCraig Jennings <c@cjennings.net>2026-02-22 23:30:30 -0600
commit561603892dd6dfff2b863cc425f581611f7003f3 (patch)
tree16e2931288b537bdb1ebaa667365e2f99d0a4cc6
parent4b279bac36f11da7873859cb2527ae30b9c31bbf (diff)
downloadchime-561603892dd6dfff2b863cc425f581611f7003f3.tar.gz
chime-561603892dd6dfff2b863cc425f581611f7003f3.zip
Fix bold formatting in README for org-mode rendering
Replace markdown-style **bold** with org-mode *bold* for correct rendering on GitHub.
-rw-r--r--README.org70
1 files changed, 35 insertions, 35 deletions
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