Making an entry into your agenda in GNU Emacs 29.3 (or really, any recent Emacs version with Org mode) primarily involves using Org mode. Org mode is a major mode for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system. The agenda is then generated from these Org files.

Here's a step-by-step guide on how to make an agenda entry:

1. Create/Open an Org File:

  • Org mode works with files that usually have a .org extension. You can create a new one or open an existing one.
    • To create a new one: C-x C-f (that's Ctrl-x Ctrl-f), then type a filename like ~/org/todo.org and press Enter.
    • To open an existing one: C-x C-f, then navigate to and select your .org file.

2. Basic Agenda Entry (Headings with Dates):

Agenda entries are typically headings in your Org file that have a timestamp.

  • Create a heading: Start a line with one or more asterisks (*). The number of asterisks indicates the heading level.

    • Example: * My Task for Tomorrow
  • Add a timestamp: Place your cursor on the heading line or the line directly below it and use C-c . (that's Ctrl-c .). This will prompt you to enter a date.

    • You can type dates in various formats (e.g., 2025-07-28, tomorrow, next monday).
    • Press Enter after typing the date.
    • This will insert a timestamp like <2025-07-28 Mon>.

    Example:

    * My Task for Tomorrow
     <2025-07-28 Mon>
    

    Or, you can put the timestamp directly on the heading line:

    * My Task for Tomorrow <2025-07-28 Mon>
    

3. TODO Items for the Agenda:

You can turn any heading into a TODO item, which will also appear in your agenda's TODO list.

  • Turn a heading into a TODO: Place your cursor on the heading line and type C-c C-t (that's Ctrl-c Ctrl-t). This will cycle through states like TODO, DONE, etc.
    • Example:
      * TODO Finish report
      <2025-07-30 Wed>
      
  • Set a deadline/scheduled date for a TODO:
    • Deadline: For tasks that must be done by a certain date. Place your cursor on the heading line and type C-c C-d. Enter the date. Example: * TODO Submit expense report DEADLINE: <2025-08-01 Fri>
    • Scheduled: For tasks you plan to work on or start on a certain date. Place your cursor on the heading line and type C-c C-s. Enter the date. Example: * TODO Start research project SCHEDULED: <2025-08-05 Tue>

4. Adding Org Files to Your Agenda Path:

For Emacs to know which .org files to scan for agenda entries, you need to tell it where they are. This is done by customizing the org-agenda-files variable.

  • Using M-x customize-variable (Recommended for persistence):

    1. Type M-x customize-variable (that's Alt-x followed by customize-variable and Enter).
    2. Type org-agenda-files and press Enter.
    3. You'll see a customization buffer. Click on the [INS] button to add a new file or directory.
    4. Type the full path to your .org file (e.g., ~/org/todo.org) or a directory containing multiple .org files (e.g., ~/org/).
    5. Click [Apply and Save] to make the change permanent across Emacs sessions.
  • Adding to your init.el (More advanced): You can directly add this to your Emacs configuration file (usually ~/.emacs.d/init.el or ~/.emacs).

    (setq org-agenda-files '("~/org/todo.org" "~/org/projects/"))
    

    Replace the paths with your actual .org file locations. After adding this, you'll need to restart Emacs or evaluate the setq expression (C-x C-e after the closing parenthesis).

5. Generating the Agenda:

Once you have your Org files set up with dated and TODO entries, you can generate the agenda.

  • Press C-c a (that's Ctrl-c a). This will bring up the Org Agenda dispatcher.
  • Then press a again for the org-agenda command (the main agenda view).

This will open a new buffer displaying your agenda, showing upcoming tasks, deadlines, scheduled items, and general dated entries.

Key Emacs/Org Mode Shortcuts to Remember:

  • C-x C-f: Find file (open/create)
  • C-c C-s: Insert a timestamp (scheduled date if on TODO)
  • C-c C-d: Insert a deadline
  • C-c C-t: Cycle TODO state
  • C-c a: Org Agenda dispatcher
    • a: Agenda for current week/day
    • t: List all TODO entries
    • m: Match tags/properties
    • s: Show scheduled items
    • d: Show deadline items

By following these steps, you'll be well on your way to effectively managing your agenda within GNU Emacs 29.3 using Org mode.