Skip to content

feat(desktop): add opt-in full-screen window-manager surface#266

Draft
yanmxa wants to merge 1 commit into
genai-io:mainfrom
yanmxa:feat/desktop-mode
Draft

feat(desktop): add opt-in full-screen window-manager surface#266
yanmxa wants to merge 1 commit into
genai-io:mainfrom
yanmxa:feat/desktop-mode

Conversation

@yanmxa

@yanmxa yanmxa commented Jul 2, 2026

Copy link
Copy Markdown
Member

Add an opt-in full-screen "desktop" surface — an alt-screen window manager — alongside the default inline scrollback view.

  • New internal/app/desktop package: window manager with a tiling layout.
  • desktop_surface.go is the seam between the root model and the desktop: the model renders each pane's content to strings and hands it over at its assigned width, so adding a window is just adding a Pane. The desktop package never reaches into the model.
  • Toggle plus key/mouse routing wired into the app layer; inline scrollback stays the default surface.

@san-ci san-ci Bot added the need-rebase label Jul 9, 2026
@san-ci

san-ci Bot commented Jul 9, 2026

Copy link
Copy Markdown

[REBASE NOTIFIER] Hi @yanmxa! This PR has merge conflicts.

The lgtm label has been removed and the reviewer will need to re-review after you fix this.

How to fix this

resolve the conflicts — Fix the merge conflicts locally, then push the resolved changes.

After fixing:

  • The need-rebase label will be automatically removed
  • Request a new review from the OWNERS file
  • The reviewer can add lgtm once satisfied

@san-ci

san-ci Bot commented Jul 9, 2026

Copy link
Copy Markdown

[REBASE NOTIFIER] Hi @yanmxa! This PR has merge conflicts.

The lgtm label has been removed and the reviewer will need to re-review after you fix this.

How to fix this

resolve the conflicts — Fix the merge conflicts locally, then push the resolved changes.

After fixing:

  • The need-rebase label will be automatically removed
  • Request a new review from the OWNERS file
  • The reviewer can add lgtm once satisfied

2 similar comments
@san-ci

san-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown

[REBASE NOTIFIER] Hi @yanmxa! This PR has merge conflicts.

The lgtm label has been removed and the reviewer will need to re-review after you fix this.

How to fix this

resolve the conflicts — Fix the merge conflicts locally, then push the resolved changes.

After fixing:

  • The need-rebase label will be automatically removed
  • Request a new review from the OWNERS file
  • The reviewer can add lgtm once satisfied

@san-ci

san-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown

[REBASE NOTIFIER] Hi @yanmxa! This PR has merge conflicts.

The lgtm label has been removed and the reviewer will need to re-review after you fix this.

How to fix this

resolve the conflicts — Fix the merge conflicts locally, then push the resolved changes.

After fixing:

  • The need-rebase label will be automatically removed
  • Request a new review from the OWNERS file
  • The reviewer can add lgtm once satisfied

@yanmxa yanmxa force-pushed the feat/desktop-mode branch from 0d8a81d to ab31087 Compare July 10, 2026 05:41
@san-ci san-ci Bot added the dco:yes label Jul 10, 2026
Introduce a Surface enum (inline / desktop) and a new internal/app/desktop
window manager (windows, layout, tiling) wired to the root model through
desktop_surface.go. The seam owns the per-frame pane snapshot, the input
bar, and key/mouse routing while the desktop is active; content is rendered
by the model and handed over as strings, so adding a window is just adding a
Pane. Inline scrollback stays the default.

Also carries this branch's base bash interactive-hang changes (setsid detach,
process-group teardown, non-interactive env nudges) that overlap with genai-io#264.

Signed-off-by: Meng Yan <yanmxa@gmail.com>
@yanmxa yanmxa force-pushed the feat/desktop-mode branch from ab31087 to dd2f476 Compare July 10, 2026 05:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant