Files
ELYTerminal/TASKS.md
T
ZacharyZhang-NY 4068784f66
CI / platforms (ubuntu-24.04) (push) Successful in 59s
CI / platforms (windows-latest) (push) Successful in 1m34s
CI / macos (push) Canceled after 0s
T30: reviewed, ticked
2026-10-16 04:35:19 -04:00

5.0 KiB
Raw Blame History

Tasks

Progress truth. Top to bottom, one at a time. A task is ticked only after its codex review passes; rounds go in tasks/reviews.md, three at most.

2. Foundation

  • T01 Repo, crate, window: git, .gitignore, Cargo.toml with Ely pinned, main.rs opens one window through Ely, logging, scripts/check.sh, CI workflow, private Gitea repo, first push.

3. Settings model and storage

  • T02 Settings with defaults and ranges; load (missing file, missing field, bad file, bad value) and atomic save; tests.

4. Themes

  • T03 Built-in themes from upstream files; mapping onto Ely's Palette; dark-mode choice; tests.

5. Terminal engine

  • T04 PTY: spawn through alacritty's event loop, OSC 7 tap on the reader, child id, events to the app; tests.
  • T05 Shell integration for zsh, bash, fish, PowerShell, injected at launch; tests that zsh and bash report their folder.
  • T06 Terminal view: frame from the grid, colors and styles, wide and combining cells, cursor shapes and blink, font, line height, padding, resize.
  • T07 Box drawing, block elements and powerline shapes (U+E0B0–E0B7) painted as geometry; tests.
  • T08 Keys: xterm encoding, cursor mode, Option as Alt, kitty keyboard protocol, IME; tests.
  • T09 Mouse: selection, mouse reporting, wheel and scrollback, clipboard, copy on select, OSC 52, links; tests.
  • T10 Focus reporting, title, silent bell, scrollback limit, find.

6. Main window and layout

  • T11 ColumnShell with sessions, terminal and right columns; toggles kept in settings; window title; a transparent title bar over the window's background, as Ghostty's.

7. Sessions panel

  • T12 Sessions: new, close, select, keys, titles and folders, ended programs, bell marks.

8. Right panel: Files

  • T13 Git/Files switch; file tree of the session's folder with Git colors; open; reload on folder and prompt.

9. Right panel: Git

  • T14 Git through the command line: status, branch, stage, unstage, commit, log, diff; tests on a temp repo.
  • T15 Git panel: branch, changes, stage and unstage, commit, recent commits, diff view, errors.

10. Settings window

  • T16 Settings window: categories, General rows, live apply and save.
  • T17 Appearance: theme grids with previews, font, cursor with preview, opacity, blur, padding.
  • T18 Terminal rows: scrollback, Option as Alt, copy on select.

11. Background blur

  • T19 macOS and Windows: Blurred or Transparent or Opaque from settings, applied live.
  • T20 Wayland: ext_background_effect_v1 on the window's surface.
  • T21 X11: _KDE_NET_WM_BLUR_BEHIND_REGION on the window.

12. Menus and shortcuts

  • T22 macOS menu bar; key bindings on all platforms.

13. Acceptance

  • T23 End-to-end checks, README, acceptance table, CI green on three platforms.

14. Icon and the macOS app

  • T24 Icon: Ely holding a terminal, on macOS's rounded square and alone for Windows and Linux; scripts/mac-app.sh builds ELYTerminal.app and its disk image.

15. Release

  • T25 Windows zip with the icon in the executable, Linux tarball with the icon and a desktop entry, the app id on Linux windows, their scripts; release v0.1.0 on Gitea with the three builds.

16. Fixes from the owner's first run

  • T26 On Windows every title bar control takes its press, Ely's window buttons too: in Ely, window buttons and header items occlude the drag region; the Git and Files switch moves below the title bar, centered; on Windows and Linux a gear in the title bar opens Settings; on Windows Ctrl-V pastes, as in Windows Terminal; the pointer over the terminal is the arrow; the settings window drops General, whose Shell and Start in lead Terminal, which lists every shortcut, and its categories and page scroll apart; the release's macOS disk image signed with Developer ID and notarized on the signing runner; release v0.1.1 with the three builds.

17. Omarchy

  • T27 On Omarchy 4, an Omarchy theme wears the system's current theme and follows each switch, the default there; the v0.1.1 Linux tarball rebuilt with it, in place of the old one on the release.
  • T28 Blur on Hyprland, which the owner found absent on Omarchy: Hyprland blurs behind a window only while its own decoration:blur:enabled is on, which Omarchy 4.0.4 turns off; the PRD, README, AGENTS.md, the acceptance table and the release notes say so, and how to turn it on.

18. herdr

  • T29 Inside herdr the right column follows herdr's focused pane, which the owner found frozen: herdr keeps its panes' OSC 7, so on macOS and Linux ELYTerminal reads the folder from herdr's socket while herdr's client runs in the session's foreground.
  • T30 The main window opens at the size it was left at, on macOS, Windows and Linux, which the owner asked for: the size is kept in the settings.
  • T31 Release v0.1.2 with T29 and T30: version 0.1.2; the macOS disk image, the Windows zip and the Linux tarball, each from its script; the notes say it fixes herdr compatibility and keeps the window's size.