▍ humdrum codex / glint v1.0.2
license AGPL-3.0

docs: capture TASK-016 — open .md/.txt in glint via OS file associations (terminal launcher)

21633ab41c30a84a350d75d5599c14ad7a30cbe6
humdrum <me@humdrum.me> · 2026-06-29 09:38

parent b926cf49

1 files changed

- → Open-text-markdown-files-in-glint-by-default-OS-file-associations.md +33 −0
@@ -0,0 +1,33 @@
+---
+id: TASK-016
+title: Open text/markdown files in glint by default (OS file associations)
+status: "\U0001F7E6 Backlog"
+assignee: []
+created_date: '2026-06-29 16:38'
+labels:
+  - feature
+  - release-2
+dependencies: []
+priority: low
+ordinal: 16000
+---
+
+## Description
+
+<!-- SECTION:DESCRIPTION:BEGIN -->
+Adoption feature, OS-level (distinct from TASK-015 which handles $EDITOR / per-tool). Make double-click / 'open file.md' / xdg-open launch glint. glint is a terminal TUI, so LaunchServices/xdg can't point at the binary directly — it needs a thin GUI launcher that spawns a terminal running 'glint <file>'.
+
+Provide a setup command (or a glint -c step) that, per platform:
+  - macOS: generates a small launcher .app (Automator/AppleScript or a wrapper bundle) that runs '<terminal> -e glint "$file"'; registers it as the default handler for the text/markdown UTIs (public.plain-text, public.text, net.daringfireball.markdown) via 'duti' or LaunchServices.
+  - Linux: writes a glint.desktop with Terminal=true and Exec=glint %f; registers via 'xdg-mime default glint.desktop text/markdown text/plain'.
+Ask which terminal to spawn (default to $TERM_PROGRAM / a sensible default). Make it idempotent and reversible. Document the manual steps in the README.
+
+Scope note: macOS launcher-app generation + duti is the fiddly part; consider shipping a prebuilt launcher template. This is a nice-to-have for adoption, not core editing.
+<!-- SECTION:DESCRIPTION:END -->
+
+## Acceptance Criteria
+<!-- AC:BEGIN -->
+- [ ] #1 A setup command registers glint as the default opener for .md/.txt via a terminal launcher (macOS + Linux)
+- [ ] #2 Asks which terminal to spawn; idempotent and reversible
+- [ ] #3 README documents the manual association steps per OS
+<!-- AC:END -->