Commit Graph
57 Commits
Author SHA1 Message Date
ZacharyZhang-NY 7bfb462ffa T26: the arrow over the terminal; the settings window drops General, its Shell and Start in leading Terminal, which lists every shortcut from the keymap with a search, and its categories and page are two columns that scroll apart
CI / platforms (ubuntu-24.04) (push) Successful in 1m17s
CI / platforms (windows-latest) (push) Successful in 1m52s
CI / macos (push) Successful in 11m23s
2026-10-15 20:08:10 -04:00
ZacharyZhang-NY 90a46257a3 T26: on Windows Ctrl-V pastes too, as in Windows Terminal, where shells take it so; on Linux it stays the program's
CI / platforms (ubuntu-24.04) (push) Successful in 1m7s
CI / platforms (windows-latest) (push) Successful in 1m39s
CI / macos (push) Successful in 11m40s
2026-10-15 19:24:02 -04:00
ZacharyZhang-NY c316d271a2 T26: on Windows and Linux, which have no menu bar, a gear just inside the right toggle opens Settings; it sends OpenSettings through Window::dispatch_action, since App::dispatch_action inside the window's own click handler fails with only gpui's log line
CI / platforms (ubuntu-24.04) (push) Successful in 1m12s
CI / platforms (windows-latest) (push) Successful in 1m32s
CI / macos (push) Successful in 13m12s
2026-10-15 19:04:41 -04:00
ZacharyZhang-NY 0f87676ae2 T26: the Git and Files switch is centered in the right column; acceptance records the Windows hit-test probe of T26's build against v0.1.0
CI / platforms (windows-latest) (push) Successful in 1m35s
CI / platforms (ubuntu-24.04) (push) Successful in 2m4s
CI / macos (push) Successful in 11m42s
2026-10-15 18:45:35 -04:00
ZacharyZhang-NY 6f7d3a9aeb T26: on Windows every title bar control takes its press: Ely cdc5ce8 occludes the drag region under its window buttons, title bar slots and column header items, where gpui answered the hit test as the caption; the Git and Files switch moves below the title bar, clear of the caption buttons; version 0.1.1
CI / platforms (windows-latest) (push) Successful in 1m43s
CI / platforms (ubuntu-24.04) (push) Successful in 3m17s
CI / macos (push) Successful in 13m35s
2026-10-15 18:14:25 -04:00
ZacharyZhang-NY 0075667ab1 T25: release builds: scripts/windows-zip.ps1 zips elyterminal.exe, the icon inside as resource 1 (build.rs, embed-resource), a GUI program carrying its C runtime, git started without a console; scripts/linux-tar.sh builds on Debian 12, glibc 2.35 for this build, with a desktop entry and the icon; every window names itself com.zacharyzhang.elyterminal; rust-toolchain.toml pins 1.95.0, and CI installs it without rustup default
CI / platforms (windows-latest) (push) Successful in 1m35s
CI / platforms (ubuntu-24.04) (push) Successful in 3m14s
CI / macos (push) Successful in 9m49s
2026-10-15 16:50:22 -04:00
ZacharyZhang-NY 09930c2934 T23: the owner's checks on macOS: on macOS 27 gpui's Selection material drew no blur, so blur/macos gives the window's effect view underWindowBackground, radius 30; a button at each end of the title bar hides and shows its column, kept in the settings; shot reads an effect view's blur radius; new comments cut to ten words
CI / platforms (ubuntu-24.04) (push) Successful in 2m9s
CI / platforms (windows-latest) (push) Successful in 2m32s
CI / macos (push) Successful in 17m37s
2026-10-15 14:42:28 -04:00
ZacharyZhang-NY be8d0e20c5 T23: the shell tests type a line only once the line editor reads raw keys: on CI's pwsh 7.6.6 the probe, typed right after the first folder report, came before PSReadLine's first read and was echoed, never run; shot warns when the app it runs under lacks Screen Recording, which left this Mac's pictures with the window's ground alone; AGENTS.md records the CI runners, the build without debuginfo and the typing rule
CI / platforms (ubuntu-24.04) (push) Successful in 1m14s
CI / platforms (windows-latest) (push) Successful in 2m23s
CI / macos (push) Successful in 10m26s
2026-10-15 13:50:09 -04:00
ZacharyZhang-NY 4b8445c434 T23: README; tasks/acceptance.md holds PRD.md line by line with its evidence; the Ubuntu job installs the libraries gpui links; testlog builds only beside the Unix tests that use it, so clippy passes for Windows; the CI probe steps go
CI / platforms (windows-latest) (push) Successful in 3m19s
CI / platforms (ubuntu-24.04) (push) Failing after 3m24s
CI / macos (push) Successful in 12m22s
2026-10-15 13:15:15 -04:00
ZacharyZhang-NY 37220a72d4 T22: Edit's Copy, Paste and Select All are Ely's text input actions, which Ely a2cb531 exports and the terminal handles too, so the menu reaches find and every field; Select All counts a space under a combining mark as a character; comments cut to one short line; the Ely pin moves to a2cb531; AGENTS.md says gpui draws a shot window only while macOS shows it
CI / platforms (windows-latest) (push) Failing after 7s
CI / macos (push) Failing after 8m50s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-15 10:15:53 -04:00
ZacharyZhang-NY 5ee67bd406 T22: the macOS menu bar holds the PRD's menus, each item showing its key; Quit, Select All, Bigger, Smaller, Reset Size and Minimize take Ghostty's keys, Ctrl-Shift off macOS where Ctrl with a letter types a control byte; the font's size moves for every session, unsaved; Select All runs from the first character in the history to the last, as Ghostty's; shot lists the menus and says whether the app was active at each key
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m29s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-15 01:51:46 -04:00
ZacharyZhang-NY b5e4967071 T21: on X11 the window names its pane in _KDE_NET_WM_BLUR_BEHIND_REGION and drops it when Blurred goes; Ely's new ResizeBorder::glass leaves a client-drawn window's pane to the content, without ground or shadow, so a Linux window shows the desktop at all; T20's region and this property cover the pane alone, worked out each frame and sent only on a change; the Ely pin moves to 5dc4dd1; the X11 test runs its own Xvfb
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m43s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-15 01:09:47 -04:00
ZacharyZhang-NY 107069b3c8 T20: on Wayland the window asks for ext_background_effect_v1 on its surface, through a guest connection on gpui's display; one region wider than any window, which the compositor clips, comes and goes with Blurred; the log names the way blur goes; a wayland-server compositor tests it, and scripts/linux.sh runs the tests on Linux in a container
CI / platforms (windows-latest) (push) Failing after 9s
CI / macos (push) Failing after 8m24s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-15 00:42:30 -04:00
ZacharyZhang-NY 6523632ade pty: when its pty closes, a program that ignores SIGHUP reads EIO on Linux and EOF on macOS; the test reads the shell's own exit, which holds on both 2026-10-15 00:42:30 -04:00
ZacharyZhang-NY c98bbad6e0 T19: the main window lets the desktop through while Background opacity is under 1, blurred or clear as Background blur says, set at open and as the settings change; Ely's new ColumnShell::glass grounds every column and the title bar in the palette's glass, which the opacity sets, and the Ely pin moves to it past 27 of Ely's own commits; dialogs stay solid; the terminal paints no second ground; shot names the window's AppKit views
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m32s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 23:27:19 -04:00
ZacharyZhang-NY 764ff45a4b T18: Terminal: scrollback lines, Option as Alt on macOS, copy on select, each applied at once to every session; the settings pages share one switch and one segmented choice
CI / platforms (windows-latest) (push) Failing after 7s
CI / macos (push) Failing after 8m33s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 22:50:19 -04:00
ZacharyZhang-NY ee37018577 T17: a font saves, and a settings file starts, only when gpui loads it as the terminal draws it, so the terminal never falls back without a word; numbers save on Enter, on leaving the field and on each step; after a refused change a number field drops its draft and the font picker shows the saved family again
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 9m27s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 22:37:18 -04:00
ZacharyZhang-NY f2cc16fd94 T17: Appearance: every theme as a card over a small window in its colors, a separate dark theme with its own grid, font family, size, line height and ligatures, cursor style and blink over a live prompt, opacity by whole percents, blur, padding; a theme change re-dresses the chrome at once; a change the store refuses says why at the top of the page
CI / platforms (windows-latest) (push) Failing after 9s
CI / macos (push) Failing after 10m6s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 22:14:47 -04:00
ZacharyZhang-NY 9e69288956 T16: on Windows a shell named without an extension means its .exe, and one with an extension keeps it; the resolver hands the session its program as UTF-8 text, so a program whose path is not UTF-8 never saves
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 9m40s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 21:53:24 -04:00
ZacharyZhang-NY 3c51b01955 T16: a shell saves only when the running user may run it, as access answers, ACLs too, found at a full path or in one of PATH's full folders, never a relative one; a session runs that same full path, so the check and the start agree
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 12m23s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 21:29:54 -04:00
ZacharyZhang-NY 3e1535e921 T16: the settings window: Cmd-, opens it or brings it forward and Cmd-W closes it, Ctrl-, and Ctrl-Shift-W off macOS; General's rows in Ely's settings layout, Shell in Ely's path input and Start in as Home or the session's folder, each change checked, saved and applied to new sessions at once; a shell saves only when it names a program, else the row says why; the app quits with its last terminal window; shot aims at either window with to:settings and to:main
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 9m31s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 21:18:25 -04:00
ZacharyZhang-NY fcd0792712 T15: a commit empties the fields that still hold what it committed only once the shown folder has read and is in the same repository, so a draft typed while a nested repository reads stays
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m46s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 21:03:32 -04:00
ZacharyZhang-NY 27270ae565 T15: no action runs until the shown folder has read, so none reaches the repository left behind, and the view blanks on a folder outside the shown work tree; a folder change drops a diff still loading; actions run each after the one asked before it; a commit empties only the fields that still hold what it committed, so a draft typed while it ran stays
CI / platforms (windows-latest) (push) Failing after 9s
CI / macos (push) Failing after 8m35s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 20:53:51 -04:00
ZacharyZhang-NY a8a30d3062 T15: the Git panel: HEAD's branch, or its commit while detached; Ely's changes list of conflicted, staged, unstaged and untracked files, each with open, stage, unstage, and discard, which asks first; stage all and unstage all; a commit with a summary, a description and amend; the last 50 commits; a pressed file's diff in Ely's DiffViewer over the window, unified or split; outside a repository it says so, and a failed git command shows git's words; it reads again at each prompt, on a folder change and after each action, and Files' marks with it; a section lists 500 files at most and the Git body is a cached view, so a long list does not slow the terminal
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m56s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 20:41:24 -04:00
ZacharyZhang-NY 911500c64e T14: paths stay git's bytes until shown, so a name not in UTF-8 names its own file in status, stage, unstage and diff, and Files keys and opens each name by its bytes too; a copy is a new file whose source no unstage or diff touches; diffs run no text converter; an untracked diff git prints despite a warning stands, the warning logged, while a missing file still fails; a conflict diffs against HEAD, so a file we deleted reads as new; AGENTS.md says Files reads porcelain v2
CI / platforms (windows-latest) (push) Failing after 10s
CI / macos (push) Failing after 7m48s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 20:03:12 -04:00
ZacharyZhang-NY e2966686bd T14: git through its command line: status from porcelain v2 with the branch and HEAD's commit, in conflicted, staged, unstaged and untracked sections; stage and unstage by literal paths fed on stdin, a staged rename with its old path, before the first commit too; commit from stdin; the log as Ely's commits; a diff as git writes it, read into Ely's stretches with changed words marked, none for a binary file; Files' marks read the same records; tests on temp repositories
CI / platforms (windows-latest) (push) Failing after 9s
CI / macos (push) Failing after 7m55s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 19:43:28 -04:00
ZacharyZhang-NY 937dab8552 T13: a label built from a path shows control characters as their pictures, so a name with a newline no longer aborts gpui's line shaping in Files or the session row; on macOS a name meets Git's mark in composed form, as git writes it; the rev-parse prefix keeps its own newlines
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 9m56s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 19:25:58 -04:00
ZacharyZhang-NY 8369d96b36 T13: the right column's Git and Files switch, kept in settings; Files shows the shown session's folder as a tree, folders first, Git's marks on names from git status without optional locks, unreadable folders noted; a double press opens a folder, or a file in the system's app; it reloads when the session reports a folder, so at each prompt; a program without shell integration gets a line saying it reports no folder; header controls keep their presses from the header's double-press zoom
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 9m12s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 19:09:21 -04:00
ZacharyZhang-NY dcf9f7bc27 T12: a terminal about to be hidden ends its mouse gesture as releases would: its selection drag ends and its program hears each held button come up
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m33s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 18:19:40 -04:00
ZacharyZhang-NY 5fd674e82a T12: sessions: new (+, Cmd-T), close (row x, Cmd-W), select (press, Cmd-1 to 8, Cmd-9 last, Ctrl-Tab, Ctrl-Shift-Tab), Ghostty's keys off macOS; rows show the title and the folder with ~; an ended program closes its row, the last row the window, and the app quits; a bell marks a hidden row; new sessions follow the Shell and Start in settings
CI / platforms (windows-latest) (push) Failing after 7s
CI / macos (push) Failing after 8m29s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 18:07:39 -04:00
ZacharyZhang-NY 0de9e15c84 T11: the Workspace key context sits above the focus root, so the column toggles work after a press on a blank column or a header
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 9m12s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 17:56:10 -04:00
ZacharyZhang-NY 34ce046597 T11: the window is Ely's ColumnShell: sessions, terminal and right columns under a transparent title bar, the terminal's header wearing the program's title; Cmd-B and Cmd-Alt-B toggle the side columns, kept in the settings; Linux asks for client decorations inside Ely's ResizeBorder
CI / platforms (windows-latest) (push) Failing after 12s
CI / macos (push) Failing after 8m28s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 17:47:36 -04:00
ZacharyZhang-NY 39761d9f40 T10: a match whose line is kept, grown or cut stays current when held under the same line above or in its place, before a twin line elsewhere
CI / platforms (windows-latest) (push) Failing after 10s
CI / macos (push) Failing after 8m52s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 17:43:36 -04:00
ZacharyZhang-NY 11b2ce6f34 T10: following the current match takes one pass: a forward walk maps matches to cells, line ends are found once; the same occurrence ranks by an identical line, then one grown or cut at its end, then by line and column; a cleared or trimmed history moves no line; the title replays on CursorBlinkingChange, which a reset sends in the parser's order, synchronized updates too, and the tap's reset count is gone
CI / platforms (windows-latest) (push) Failing after 9s
CI / macos (push) Failing after 8m27s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 17:30:21 -04:00
ZacharyZhang-NY 1c21dfd197 T10: find reads the grid as it shows, through Ely's find_all: combining marks, hidden cells blank, wrapped rows joined, Unicode words; new output, a resize and a settings change search again, and the current match follows its line text; a full reset replays the title through set_options
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m31s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 16:57:09 -04:00
ZacharyZhang-NY 4d8788ff22 T10: focus in and out reach a program under mode 1004; the window wears the program's title; a bell is logged and silent; the scrollback setting caps history and trims it live; Cmd-F finds in the scrollback with Ely's FindWidget, matches washed, Enter older, Shift-Enter newer, new output searched again
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m24s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 16:26:20 -04:00
ZacharyZhang-NY 8bb276335e T09: the mouse mode scanner reads controls as vte does: C0 runs and DEL is skipped mid-sequence, CAN and SUB cancel, subparameters count toward its 32 values; a byte-by-byte test against vte's parser; copy on select and OSC 52 primary writes go to Linux's selection
CI / platforms (windows-latest) (push) Failing after 9s
CI / macos (push) Failing after 9m9s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 16:09:28 -04:00
ZacharyZhang-NY d6fa38e60b T09: the tap holds one mouse tracking and one format as xterm does, any reset ends it; every reported button keeps its release, motion reports the first held; URLs keep combining marks; selections log start, run and end; shot hands real buttons to the view and shows its window without activating
CI / platforms (windows-latest) (push) Failing after 7s
CI / macos (push) Failing after 8m26s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 15:51:44 -04:00
ZacharyZhang-NY 9f81f1f704 T09: mouse: selection by cell, word and line, Shift extends; reports for X10, normal, button and any tracking in X10, UTF-8 and SGR bytes, mode 9 followed by the tap; the wheel reports, sends arrows or scrolls history; copy, bracketed paste, copy on select, OSC 52; Cmd-press opens OSC 8 targets and URLs; a release goes out only for a press the terminal saw; shot posts mouse gestures and never activates
CI / platforms (windows-latest) (push) Failing after 7s
CI / macos (push) Failing after 8m50s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 15:32:17 -04:00
ZacharyZhang-NY 11d7a30598 T08: Tab and F6 pass Ely's focus keys; each kitty flag reshapes only what it names; Cmd is Super; repeats and Command key-ups come from AppKit; IME commits stay UTF-8, as in kitty and Ghostty; key.zig out; the line rule reads every text file
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 9m0s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 14:59:59 -04:00
ZacharyZhang-NY 25365a98c8 T08: keys: xterm and kitty encoding, Option as Alt by side, IME composition at the cursor; shot types real AppKit keys
CI / platforms (windows-latest) (push) Failing after 9s
CI / macos (push) Failing after 8m31s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 14:22:52 -04:00
ZacharyZhang-NY 2804aa6117 T07: one coverage per pixel (overlaps cut, strokes as polygons, the cross cut around its first band); a drawn base keeps its geometry under marks
CI / platforms (windows-latest) (push) Failing after 7s
CI / macos (push) Failing after 8m53s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 13:57:47 -04:00
ZacharyZhang-NY 387bfa1c8b T07: box drawing, block elements and powerline shapes painted as geometry, after Ghostty's sprite rules
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m43s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 13:40:22 -04:00
ZacharyZhang-NY 3c8f7460de T06: hidden cells blank, inactive window hollows the cursor, glyphs painted on one baseline with CoreText's upward offsets flipped
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m50s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 13:11:51 -04:00
ZacharyZhang-NY ae1d8ce746 T06: terminal view: frame, colors and styles, wide and combining cells, cursor and blink, font, padding, resize; bundled faces and icon font; shot example
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m31s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 12:59:32 -04:00
ZacharyZhang-NY c2da9dd667 T05: fish search path, PowerShell policy and load failure, encoded OSC 7 paths, kept exit status, install read errors
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 9m9s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 12:39:47 -04:00
ZacharyZhang-NY dfaf378418 T05: shell integration for zsh, bash, fish, PowerShell; installed at start
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m47s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 12:24:31 -04:00
ZacharyZhang-NY 0e7f3095c3 T04: close the pty master before reaping, so a program ignoring SIGHUP ends
CI / platforms (windows-latest) (push) Failing after 7s
CI / macos (push) Successful in 10m42s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 12:15:17 -04:00
ZacharyZhang-NY fff436c8e9 T04: own Unix pty so a failed chdir fails the start; closing logs and reaps
CI / platforms (windows-latest) (push) Failing after 7s
CI / macos (push) Successful in 10m0s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 12:08:18 -04:00
ZacharyZhang-NY 96ae85b72c T04: pid on Pty, enter check, one fitted size, folder and exit logs, non-root Linux tests
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Successful in 9m38s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
2026-10-14 12:00:18 -04:00