iOS clock message above the tab bar; README brought up to date !124

merged merged by cmc on 2026-10-07 03:22 UTC · krz/orgstar:small-fixes into main

2 files changed, +14 −7

Layout: unified · split

README.md +9 −5
@@ -1,15 +1,16 @@
1# Orgstar 1# Orgstar
2 2
3A native macOS editor for org-mode files, with an iOS app for the agenda and capture. 3A native macOS editor for org-mode files, with an iOS app for iPhone and iPad.
4 4
5The files are the source of truth: Orgstar edits them in place and leaves 5The files are the source of truth: Orgstar edits them in place and leaves
6every byte you didn't change as it was, so Emacs and sync tools can work on 6every byte you didn't change as it was, so Emacs and sync tools can work on
7the same folder. 7the same folder.
8 8
9Status: macOS v1, design phases 1–6: editing with Emacs, Mac and Doom keys, 9Status: macOS v1, design phases 1–6: editing with Emacs, Mac and Doom keys,
10agenda, table formulas, Babel, export, capture, clocking, board, themes and 10agenda, table formulas, Babel and tangling, export, capture, clocking, board,
11buffers. Owed: the M1 Air gate run and the VoiceOver check. iOS (phase 7): 11themes and buffers. Owed: the M1 Air gate run and the VoiceOver check. iOS
12agenda and capture, Simulator builds only so far. 12(phase 7): the editor, agenda, capture, search, clocking, reminders, export
13and tangling, Simulator builds only so far.
13 14
14## Build and run 15## Build and run
15 16
@@ -25,12 +26,15 @@ searches, ⇧⌘A shows the agenda. In the editor, TAB on a heading cycles its
25folding and Shift-TAB cycles the whole file. Orgstar opens `.org` files from 26folding and Shift-TAB cycles the whole file. Orgstar opens `.org` files from
26Finder once the app has been launched. 27Finder once the app has been launched.
27 28
29C-c C-v t tangles the file's source blocks into the files their `:tangle`
30header names, as `org-babel-tangle` does.
31
28`org-protocol://capture?template=…&url=…&title=…&body=…` and 32`org-protocol://capture?template=…&url=…&title=…&body=…` and
29`org-protocol://store-link?url=…&title=…` links work as in Emacs, so browser 33`org-protocol://store-link?url=…&title=…` links work as in Emacs, so browser
30bookmarklets written for org-protocol work unchanged. Shortcuts has a 34bookmarklets written for org-protocol work unchanged. Shortcuts has a
31"Capture to Orgstar" action that files text with a capture template. 35"Capture to Orgstar" action that files text with a capture template.
32 36
33The iOS app (agenda and capture, iOS 26) builds for the Simulator: 37The iOS app (iOS 26) builds for the Simulator:
34 38
35```sh 39```sh
36scripts/build-ios-app.sh # builds .build/ios-app/Orgstar.app 40scripts/build-ios-app.sh # builds .build/ios-app/Orgstar.app
Sources/OrgstarMobile/OrgstarMobileApp.swift +5 −2
@@ -132,9 +132,12 @@ struct RootView: View {
132 } 132 }
133 } 133 }
134 .clockAccessory(model.clock.running, perform: clock) 134 .clockAccessory(model.clock.running, perform: clock)
135 .overlay(alignment: .top) { 135 // Above the tab bar, clear of every screen's toolbar.
136 .overlay(alignment: .bottom) {
136 if let message { 137 if let message {
137 Text(message).font(.callout).padding(8).frame(maxWidth: .infinity).background(.bar) 138 Text(message).font(.callout).padding(.horizontal, 14).padding(.vertical, 8)
139 .background(.regularMaterial, in: Capsule())
140 .padding(.bottom, 150)
138 .onTapGesture { self.message = nil } 141 .onTapGesture { self.message = nil }
139 .task(id: message) { 142 .task(id: message) {
140 try? await Task.sleep(for: .seconds(4)) 143 try? await Task.sleep(for: .seconds(4))