docs/manual/guide/14-ios.org
361 lines · 29166 bytes
26 symbols in this file
OverviewFolders and file accessThe readerThe editorSavingThemes and displayThe key barCommandsHardware keyboardSearchThe agendaWidgets and the Live ActivityWidgetsThe clock's Live Activityorgstar:// linksCaptureFrom the share sheetFrom ShortcutsClockingRemindersExportCode blocks and tablesConflicts and versionsSettingsSpotlight and Quick LookWhat the Mac has that iOS doesn't
iPhone and iPad
- Overview
- Folders and file access
- The reader
- The editor
- Search
- The agenda
- Widgets and the Live Activity
- Capture
- Clocking
- Reminders
- Export
- Code blocks and tables
- Conflicts and versions
- Settings
- Spotlight and Quick Look
- What the Mac has that iOS doesn't
Overview
The app has four tabs:
- Agenda
- the agenda over your folders, with capture.
- Folders
- the folders of org files you added, and their files.
- Settings
- where the app's settings come from.
- Search
- file names and the words of headings.
Files open in a reader first. The Edit button in the reader opens the editor. Both use the same open file, so an edit in the editor shows in the reader when you go back.
Folders and file access
Orgstar on iOS works on folders you choose, in iCloud Drive or in another app's storage (for example a folder kept by a Syncthing client).
- Open the Folders tab and tap Add Folder (the folder icon with a plus).
- Choose a folder in the picker.
Orgstar keeps access to the folder across launches. Each folder appears as a section listing its .org files by their path inside the folder. Remove Folder at the end of a section removes it from Orgstar; the files stay where they are.
Files that iCloud hasn't downloaded to the device yet appear in grey with a cloud icon. Orgstar asks iCloud to download them and lists them as files once they arrive.
Orgstar sees changes made by iCloud and by apps that use the system's file coordination, and reads every folder again each time you return to the app, since not every sync app reports its changes. An open file takes in changes from disk as described in Working alongside Emacs and other tools.
There is no way to open a single file from the Files app. Add the folder that contains it.
The reader
Tap a file in Folders, Search or the agenda to read it.
- Tap a heading to fold or unfold it, as
TABcycles it on the Mac. A chevron marks headings with content. - The file opens with the visibility its
#+STARTUPline asks for, then each heading'sVISIBILITYproperty when#+STARTUPsets a visibility. Drawers and blocks are folded asorg-cycle-hide-drawer-startupandorg-cycle-hide-block-startupsay, or as the file's#+STARTUPsays (hidedrawers,nohideblocksand the like). - Text is styled as in the editor, in the theme's colours, font, size, line spacing and heading sizes, on the theme's background: TODO keywords, priorities, tags, emphasis, code, timestamps, links, and the code in src blocks. Text can be selected and copied.
- The reader follows the editor's display settings (see Themes and display below): Show Markup, hidden emphasis markers, pretty entities, indentation, leading stars, inline images and truncated lines. Tables show at full width, without narrowed columns.
- Tap a link to follow it. Links to headings and files in your folders open in the reader; web links open in the browser.
- The toolbar has Outline (a list of headings to jump to), Export, and Edit.
The editor
Tap Edit in the reader. The title shows the buffer name, with • while there are unsaved changes. The tab bar is hidden while you edit.
The editor folds headings, drawers and blocks, styles text with the theme from the configuration folder (see Themes and display below), and runs the same Org commands as the Mac. Autocorrection, smart quotes and smart dashes are off; spell checking follows spell-check in config.toml and is off by default.
The toolbar has:
- Conflict
- shown while the file and your edits conflict; opens the conflict sheet.
- ?
- Undo
- More
- Commands, Clock In, Show Markup, Recent Entries, Export, Sync Conflict Copies, and Recovered Versions.
Messages from commands show at the top of the editor for a few seconds; tap one to dismiss it.
Saving
The iOS app always saves automatically: one second after you stop typing, when you leave the editor, and when the app goes to the background. The save setting doesn't apply on iOS.
Files that aren't valid UTF-8 open read-only; commands that would change them say so.
Themes and display
The editor and the reader use the theme set in the configuration folder's config.toml, stacked as on the Mac: the default theme, then the theme file named by theme-file, then the colours in [theme], [theme.light], [theme.dark], [theme.todo] and [theme.category]. A TODO keyword without a colour in [theme.todo] takes its class's colour: todo-next for NEXT and STRT, todo-waiting for WAIT and HOLD, todo-cancelled for KILL and CANCELLED, and so on (see Configuration for the lists). Colours follow the system's light or dark appearance. Problems in the theme show in the Settings tab with the other problems. A change to config.toml or the theme file applies as it syncs, to open editors too. See Configuration for the colour keys.
- Font
fontwhen that family is installed on the device, otherwise the system's monospaced font.- Size
font-sizeis the size at the default Dynamic Type setting, 13 pt by default. Text grows and shrinks with the text size chosen in the system Settings app.- Line spacing and headings
line-spacingandheading-size-stepapply as on the Mac.- Caret and selection
- the selection highlight takes the theme's
selectioncolour, over block bands too; the caret and the selection handles takecursor.
The editor and the reader apply these display settings; only the editor aligns tables when a file opens. The startup settings (org-cycle-hide-*-startup, org-startup-*, org-hide-leading-stars) apply when a file opens, and a #+STARTUP keyword in the file overrides them, as on the Mac.
| Setting | In the iOS editor | #+STARTUP |
|---|---|---|
show-markup |
Link brackets and targets, and emphasis markers, show | |
org-hide-emphasis-markers |
Emphasis markers hide while markup is hidden | |
org-pretty-entities |
Entities and sub- and superscripts show as characters while markup is hidden | |
org-cycle-hide-drawer-startup |
Drawers start folded | hidedrawers, nohidedrawers |
org-cycle-hide-block-startup |
Blocks start folded | hideblocks, nohideblocks |
org-startup-indented |
Bodies are indented under their headings | indent, noindent |
org-hide-leading-stars |
Without indentation, only a heading's last star shows | hidestars, showstars |
org-startup-with-inline-images |
Image links show as images | inlineimages, noinlineimages |
org-startup-align-all-tables |
Every table is aligned | align, noalign |
org-startup-truncated |
Long lines run off the right edge, and the editor scrolls sideways |
While markup is hidden, the line with the caret shows its markup, so you can edit it. More ▸ Show Markup, or Show or Hide Markup in Commands, switches markup in every editor and in the reader. The switch lasts until show-markup in config.toml changes; then the file's value applies.
The visibility from #+STARTUP applies first, then each heading's VISIBILITY property. As on the Mac, VISIBILITY properties apply only when #+STARTUP sets a visibility (overview, content, showall and the like).
An image line shows its image, and the link text is hidden except on the caret's line. #+ATTR_ORG: :width N sets the width in points; images are never wider than the editor. Show or Hide Inline Images in Commands, or C-c C-x C-v on a hardware keyboard, switches images in the open file. Truncate or Wrap Long Lines in Commands, or C-x x t, switches long lines. See The editor for which lines show as images.
Code in src blocks is highlighted in the theme's syntax-* colours, as on the Mac (see Code blocks).
Table columns with width cookies narrow as on the Mac: #+STARTUP: shrink narrows them when the file opens, and Shrink or Expand Table Column (C-c TAB), Shrink Table Columns with Widths and Expand Table Columns are in Commands when the caret is in a table. See Tables.
The key bar
A bar above the on-screen keyboard has buttons for Org's keys. Each does what its Emacs key does at the caret, so the arrows promote and demote headings, indent list items, or move table columns, depending on where the caret is. Scroll the bar sideways for more.
| Button | Key |
|---|---|
| Commands | the command list |
| Fold | TAB |
| Overview | S-TAB |
| Promote | M-<left> |
| Demote | M-<right> |
| Move up | M-<up> |
| Move down | M-<down> |
| New heading or item | M-RET |
| TODO | C-c C-t |
| Act at point | C-c C-c |
| Schedule | C-c C-s |
| Deadline | C-c C-d |
| Tags | C-c C-q |
| Open link | C-c C-o |
| Hide keyboard |
Commands
Commands (in the key bar or More) lists every command that applies at the caret, with its Emacs key. Type to narrow the list. The command runs once the list closes.
When a command asks a question, a sheet opens:
- Text questions have a field, and a list of choices that narrows as you type. For tags, choosing a tag adds it to what you typed.
- Date questions have a calendar as well as the field; Org's date syntax (
+2d,fri,14:00) works in the field. - Fast selection (TODO keywords and tags with keys) lists each option with its key. For tags, tap several and then Done; inherited tags are listed below.
Cancel answers nothing, as C-g does.
C-c ' on a block, and C-c ` on a table field, open the text in a sheet of its own; Save puts it back.
Hardware keyboard
With a hardware keyboard, the editor uses the Emacs keymap, whatever keymap is set to on the Mac. keymap.toml isn't read on iOS.
- Option works as Meta when it begins a binding (
M-RET,M-<left>). Otherwise Option types characters as usual. - Command shortcuts are the system's.
- Keys the keymap leaves to the text system stay with iOS. These include the editing keys
C-a,C-e,C-kand similar, which iOS handles itself. - After a prefix such as
C-c, the message line showsC-c-while it waits for the next key. An unbound sequence shows… is undefined. - A sequence bound to a command that can't run at the caret, or that the iOS app doesn't have, shows why, as on the Mac: the command's own message (such as
Not on a heading), orNot available on iOS yet.
See Keys and commands for the Emacs bindings.
Search
The Search tab finds:
- Files
- up to eight org files whose path matches what you type, ranked as Quick Open ranks them on the Mac.
- Headings
- headings whose title or text contains your words, including unsaved edits in the open file.
Tap a result to open it in the reader. A heading result opens at that heading.
The agenda
The Agenda tab shows the agenda over all your folders, with the span and start day from the settings (10 days from 3 days ago by default). Each day lists its entries in rows: the time or a status such as Due today or 3d late on the left, the category and the keyword above the title. Days without entries are hidden, except today. Today's overdue entries are in a group of their own, and a line marks the current time between timed entries. Pull down to refresh.
- Views (top left)
- the built-in views and those in
views.toml, Tags and Properties… (a match such as+work-homeorTODO="WAIT"), and Search… (a phrase, or snippets such as+invoice -paid). - The bar at the bottom
- Earlier, Filter, Today, Go to Date, the span (Day, Week, Month or the configured span, and Log Mode, which adds closed entries and clocked time) and Later.
- Filter
- keep or leave out tags and categories of the entries shown, or type a filter as Org's
/takes it:+keepand-droptags or categories,<0:30for effort,/regexp/. The filter in use shows above the bar. - + on a day's header
- captures an entry scheduled on that day (see Capture).
- Tap
- an entry to read it, at its heading.
- Swipe left
- on a TODO entry for Done, which sets the first done keyword of its sequence, or Next State.
- Swipe right
- for Tomorrow, Next Week (next Monday) or Pick Date, which move the entry's scheduled date, or its deadline on a deadline row.
- Touch and hold
- an entry for TODO State…, Reschedule, Schedule…, Deadline…, Tags…, Priority…, Clock In, Refile…, and Archive….
Commands from the agenda change the file directly when it isn't open, and through the editor when it is. If the heading changed since the agenda was built, nothing runs.
With calendar-events on, the agenda also shows events from the Calendar app; see Settings below.
See The agenda for the rows, the views and matches, and the differences from the Mac.
Widgets and the Live Activity
Widgets
Orgstar has two widgets. Add them as any widget: touch and hold the Home Screen or the Lock Screen, and choose Orgstar in the widget gallery.
| Widget | Sizes | Shows |
|---|---|---|
| Today | Small, medium and large (Home Screen) | The date, the count of open entries, and what's left of today: 3 rows (small), 4 rows (medium), or 6 rows and tomorrow's entries (large). Medium and large also count overdue entries. |
| Up Next | Rectangular, inline and circular (Lock Screen) | The next entry's time or status and title (rectangular, inline), or the count of open entries today (circular, and inline when nothing is left) |
What's left of today is today's entries and calendar events that aren't done, without timed ones that have ended (or started, when they have no end), followed by the overdue entries. The open count is today's entries not done, overdue ones included, without calendar events. The widgets use the theme's colours for the status, the keyword, the priority and the category.
Tapping a row in the medium or large Today widget opens that entry; tapping elsewhere opens the agenda. Tapping Up Next opens the next entry, or the agenda when there is none.
Widgets can't read your folders, so the app writes the next seven days of the agenda (today included) for them to read: while it is open, when files, edits or settings change, when you return to the app, and every hour. Between those times the widgets move on by themselves as timed entries end and at midnight, but they show nothing new until you open Orgstar. Until the app has written the agenda once, they say Open Orgstar to show your agenda here. The widgets ignore the agenda's filter and show no days without entries.
The clock's Live Activity
While a clock runs, it shows on the Lock Screen and in the Dynamic Island: the heading, the time so far, and a Clock Out button. Clock Out stops the clock as Clock Out does in the app, and saves the file. Tapping the Live Activity opens the clocked entry.
The Live Activity starts when you clock in in the app and ends when the clock stops, however it stops. It needs Live Activities allowed for Orgstar in the Settings app (Settings ▸ Orgstar ▸ Live Activities).
orgstar:// links
The widgets and the Live Activity open the app with these links, which also work from Shortcuts, Safari or a note:
| Link | Opens |
|---|---|
orgstar://agenda |
The Agenda tab |
orgstar://clock |
The entry of the running clock |
orgstar://entry?path=/path/file.org&offset=N |
The file in the reader, at offset N |
Capture
Tap Capture (the pencil icon) in the Agenda or Folders tab.
- Choose a template. The first template is selected.
- Answer the template's questions (
%^{…},%^g,%^tand the like), then tap Continue. A template without questions skips this step. - Edit the text. The caret is where
%?was. - Tap File.
Templates come from capture.toml in the configuration folder (see Settings below). Without one, the two default templates apply. A template with immediate-finish files as soon as its questions are answered, and one with jump-to-captured opens the captured entry. %^g offers the target file's tags as choices.
org-protocol://store-link links add the URL to the stored links that Insert Link… offers, and copy it. org-protocol://capture links opened on the device open the capture sheet with the link's template, URL, title and text. When the link names a template key that capture.toml doesn't have, the sheet starts on the first template and shows No capture template "x" with the key.
From the share sheet
Orgstar appears in the share sheet of other apps for a web link or text.
- Share a page or text and choose Orgstar.
- Choose a template, edit the link's title, and add text.
- Tap Capture.
The share extension doesn't file the entry itself. It leaves it for the app, which opens its capture sheet with the link and text the next time it becomes active. Several shared items open one after another. If the extension shows "Orgstar's shared folder isn't available", the app and its extension can't share data, and Capture is disabled.
From Shortcuts
Shortcuts has a Capture to Orgstar action, and Siri responds to "Capture to Orgstar". The action takes:
- Text
- the text to capture, available to the template as
%i. - Template Key
- a key from
capture.toml; empty uses the first template.
The action files the entry without showing the capture sheet, and saves the file at once. Questions in the template take their default answers, and %c (the clipboard) is empty, because reading the clipboard would ask for permission on every run. The action returns "Captured with" and the template's name.
See Capture for the template format.
Clocking
Clock in from the editor (More ▸ Clock In, or Clock In in Commands) or from an agenda entry's menu. While a clock runs, a bar above the tab bar shows the entry and the time so far as H:MM, updated every 30 seconds, and a Live Activity shows it on the Lock Screen and in the Dynamic Island (see Widgets and the Live Activity). Tap the bar for:
- Clock Out
- Cancel Clock
- Go to Clocked Entry
- Recent Entries
- Clock Report
Recent Entries, in the bar and in the editor's More menu, lists the recently clocked entries; tap one to clock in to it. It also has Clock In to Recent Entry… and Go to Recent Clocked Entry…, and is disabled until you have clocked in once. Commands has Clock In to Recent Entry…, Clock In to Last Entry, Go to Recent Clocked Entry…, Mark as Default Clock Task and Resolve Open Clocks….
Clock questions open in a sheet: the task selection and the resolution keys as lists to tap, and minutes or a date and time as a field. Cancel answers nothing, as q does. Clocking in with no clock running first asks about open clocks in your folders, from the editor, an agenda entry's Clock In or a capture template with clock-in; Resolve Open Clocks… asks about every open clock. Both work as on the Mac.
The iOS app has no idle detection, so org-clock-idle-time doesn't apply. org-clock-history-length does.
Clock Report shows the time per day and heading for the files you choose. It starts with the files that contain clock lines. Turn on Limit dates to choose a range. The share button sends the report as text.
See Dates and clocking.
Reminders
With reminders on, Orgstar schedules a notification before each timed agenda entry in the next week, appt-message-warning-time minutes ahead (or the entry's APPT_WARNTIME). Tap a notification to open its entry. Notifications show while the app is open too.
iOS lets an app schedule at most 64 notifications, and Orgstar schedules more only while it runs. It updates them when files or settings change, when you return to the app, and every hour while it is open. The agenda's status line says how far ahead reminders are set ("Reminders are set through …"), or that notifications are off for Orgstar in the system Settings app.
Export
Export (in the reader's toolbar and the editor's More menu) offers HTML and Markdown. Either opens the share sheet with a file named after the org file, which you can send to another app or keep with Save to Files. The export reads the file's setup files and follows its export keywords, as the Mac's HTML and Markdown export does.
PDF, ODT, LaTeX and plain-text export need Emacs and aren't available on iOS. See Export.
Code blocks and tables
C-c C-c on a source block asks whether to run it (yes, no, or always for this block), as on the Mac.
On iOS, only Emacs Lisp blocks run. Orgstar evaluates them with its own Emacs Lisp interpreter, which covers a subset of the language. Other results:
- A block in another language: "language blocks need the Mac to run."
- Emacs Lisp the interpreter doesn't have: "This block uses Emacs Lisp that runs only in Emacs, on the Mac."
Table formulas that Orgstar computes itself work on iOS. A table whose formulas need Emacs reports "This table needs Emacs, which runs on the Mac", with the reason, and isn't changed.
Tangling (C-c C-v t, in Commands) works on iOS and writes the tangled files next to the org file, or where :tangle says.
See Code blocks and Tables.
Conflicts and versions
When a file changes on disk while you have unsaved edits, Orgstar merges the change into your edits. When the changes overlap, the conflict sheet opens. It shows the difference (lines marked - are on disk, + in your version) and offers:
- Keep Mine
- write your version over the disk version.
- Use Disk Version
- replace your edits with the disk version.
- Merge with Markers
- put both versions in the editor, with conflicting lines between
<<<<<<<and>>>>>>>markers, to fix and save. - Later
- decide later. The Conflict button in the toolbar opens the sheet again. Nothing is saved until you decide.
The version you don't keep goes to the recovery folder.
More ▸ Sync Conflict Copies lists Syncthing's conflict copies of the file (name.sync-conflict-…), each compared with the file, with Keep File, Merge and Use Copy. The copy goes to the recovery folder and is removed. When a file with conflict copies opens in the editor, a message says how many there are.
More ▸ Recovered Versions lists the versions of the file kept in the recovery folder, newest first, each compared with the editor's text. Restore puts a version's text in the editor as an edit you can undo.
See Working alongside Emacs and other tools for how merging and recovery work.
Settings
The iOS app reads its settings from a configuration folder: a folder holding config.toml and capture.toml, such as a copy of the Mac's ~/.config/orgstar synced through iCloud Drive or another app.
- Open the Settings tab.
- Tap Choose Folder… and choose the folder.
Changes to the files apply as they sync, and again each time you return to the app. Problems in the files show in red under the folder. "No config.toml in folder; the defaults apply" means the folder has no config.toml.
Stop Using This Folder returns every setting to its default.
The Agenda, TODO Dependencies and Calendar sections are the only places the app changes a setting itself:
- Show days without entries
- turns
org-agenda-show-all-dateson or off. - Blocked entries
- Dimmed, Hidden or Shown as usual (
org-agenda-dim-blocked-tasks). - TODO Dependencies
- Not done before TODO children (
org-enforce-todo-dependencies) and Not done with unchecked boxes (org-enforce-todo-checkbox-dependencies). - Show Calendar Events
- turns on
calendar-events, and asks for access to your calendars. iOS asks for full access, as Calendar has no read-only level; Orgstar only reads. While access is missing the section shows Allow Access to Calendars…; if you declined, allow it in the Settings app under Privacy & Security ▸ Calendars. - The calendars
- tap one to show or hide its events (
calendar-event-calendars). With every calendar checked the setting is empty, so calendars added later show too.
These write config.toml in the configuration folder, as the Mac's Settings window does, so the Mac sees the change too. Without a configuration folder they are kept on the device.
The In use section shows the TODO keywords, the agenda span and start (for example 10 days, starting 3 days before today), the reminder lead time, the capture template keys, the theme (Default, or the theme file's name), and the font with its size. When font names a family that isn't installed on the device, Font shows the system's font with a note, as System monospaced, 13 pt (JetBrains Mono isn't installed).
These settings from config.toml apply on iOS:
org-todo-keywords,org-list-allow-alphabeticalorg-tags-column,org-insert-heading-respect-content,org-M-RET-may-split-line,fill-columnorg-hide-emphasis-markersandorg-pretty-entities, for what hidden markup shows and for how tag and table alignment and filling measure text, as on the Macshow-markup,org-startup-indented,org-hide-leading-stars,org-startup-with-inline-images,org-startup-align-all-tables,org-startup-truncated,org-cycle-hide-drawer-startup,org-cycle-hide-block-startup[theme](font,font-size,line-spacing,heading-size-step,theme-fileand colours),[theme.light],[theme.dark],[theme.todo],[theme.category]org-log-done,org-log-reschedule,org-log-redeadline,org-log-into-drawerorg-enforce-todo-dependencies,org-enforce-todo-checkbox-dependencies,org-agenda-dim-blocked-tasksorg-use-speed-commands, with a hardware keyboardelectric-pair-mode,spell-checkorg-agenda-span,org-agenda-start-day,agenda-include-subfolders,org-agenda-show-all-dates,org-agenda-skip-scheduled-if-done,org-agenda-skip-deadline-if-done,org-agenda-search-view-always-boolean,org-agenda-search-view-force-full-wordscalendar-events,calendar-event-calendarsreminders,appt-message-warning-timeorg-clock-history-length
capture.toml and views.toml in the folder apply too. Other settings, including keymap, save and org-clock-idle-time, don't apply on iOS. See Configuration.
Spotlight and Quick Look
Orgstar adds the org files in your folders to Spotlight with their title (#+TITLE, else the file name), author, description, tags, headings and text. A file is indexed again when it changes. Tap a Spotlight result to open the file in Orgstar's reader.
Quick Look in the Files app shows org files as the HTML export renders them.
What the Mac has that iOS doesn't
- Running code blocks in languages other than Emacs Lisp, Emacs Lisp beyond Orgstar's interpreter, and tables that need Emacs.
- PDF, ODT, LaTeX and plain-text export.
- The Mac and Doom keymaps, Vim keys, and
keymap.toml. - Idle detection while a clock runs.
- Import from Emacs.
- The board, column view, the backlinks pane, and the buffer list and tab bar.
- The global capture hotkey and the Settings window.
- Explicit saving.
Commands the iOS app can't carry out show a message instead, such as "Not available on iOS yet" or "Command isn't available on iPhone and iPad." Only tables that need Emacs say that Emacs is needed. Commands that only appear on the Mac, such as Refile from the editor, aren't listed in Commands; refile and archive from the agenda instead.