Skip to content

fix(web): remove the terminal pane's app-canvas gutter - #6222

Merged
maria-rcks merged 2 commits into
pingdotgg:mainfrom
jakeleventhal:t3code/remove-lightmode-terminal-padding
Aug 19, 2026
Merged

fix(web): remove the terminal pane's app-canvas gutter#6222
maria-rcks merged 2 commits into
pingdotgg:mainfrom
jakeleventhal:t3code/remove-lightmode-terminal-padding

Conversation

@jakeleventhal

@jakeleventhal jakeleventhal commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Demo

01-single-terminal-repro-theme 02-split-view-with-tab-sidebar 03-sidebar-gutter 04-built-in-theme-light 05-built-in-theme-dark

Problem

Screenshot 2026-08-11 at 5 25 59 PM Screenshot 2026-08-11 at 5 26 09 PM

In a theme whose terminal surface differs from the app canvas, the terminal pane is framed by a light seam:

  • TerminalViewport's mount was wrapped in a p-1 div, so 4px of --background showed on all four sides of the pane.
  • The mount itself was rounded-[4px] bg-background under overflow-hidden, so the clipped corners exposed the canvas color as four nubs.
  • The gap-1.5 gutter before the terminal tab sidebar showed the same canvas color.

Stock light and dark themes hide this because they define --terminal-background: var(--background). It only surfaces on themes that set the two independently — e.g. an imported VS Code light theme with terminal.background: #f6f8fa over editor.background: #ffffff.

Why the gutter is not needed

The terminal already has breathing room, inside the canvas and in the terminal's own color:

  • apps/web/src/terminal/ghostty/surface.ts insets the grid by CONTENT_PADDING (4px).
  • apps/web/src/terminal/ghostty/renderer.ts fills the entire canvas with the terminal background on every full repaint.

The DOM p-1 was a second 4px inset stacked on top of that one, in the app canvas color — the only one that could ever read as a frame.

Change

  • Drop p-1 from both the split and single-terminal wrappers.
  • Drop rounded-[4px] and paint the mount with --terminal-background, so a sub-cell sliver at the right or bottom edge (the grid rounds down to whole cells) matches the terminal rather than the canvas.
  • Paint the terminal row with --terminal-background so the sidebar gutter matches too.

Validation

Reproduced with an imported VS Code light theme (terminal.background: #f6f8fa, editor.background: #ffffff), driving the real app in a browser and measuring the mount rect against the drawer rect:

drawer rect canvas rect
before 256, 720, 1344×280 260, 725, 1336×271 — inset 4px on every side
after 256, 720, 1344×280 256, 721, 1344×279 — flush; the 1px top is the drawer's border-t

Pixel samples at the pane's bottom-left corner: #ffffff across the 4px band before, #f6f8fa throughout after. Sidebar gutter: #ffffff before, #f6f8fa after.

Checked in the app across single-terminal, split view with the tab sidebar, built-in light, and built-in dark — every pane edge samples to a single uniform color, with no contrasting frame.

@t3tools/web typecheck clean; 2199 tests pass.

🤖 Generated with Claude Code


Note

Low Risk
Pure CSS/layout tweak in the terminal drawer UI with no logic, auth, or data-handling changes.

Overview
Removes the app-canvas gutter around the terminal pane so themes with a distinct --terminal-background no longer show a light frame.

Drops the p-1 wrappers around TerminalViewport (single and split) and paints the mount/flex container with --terminal-background instead of bg-background + rounded-[4px]. The terminal already insets content via CONTENT_PADDING, so the DOM padding was a redundant second inset in the wrong color.

Reviewed by Cursor Bugbot for commit b2d4ab2. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

[!NOTE]

Remove gutter padding and rounded corners from the terminal pane

Removes p-1 padding from the inner terminal containers in ThreadTerminalDrawer and drops the rounded-[4px] class from TerminalViewport, eliminating the visible gutter around the terminal canvas. Both components now use bg-[var(--terminal-background)] for consistent background coloring.

Macroscope summarized 33573c2.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 00656d5c-5436-46bd-b468-a51bd5234a09

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 11, 2026
The terminal viewport was wrapped in a `p-1` div and clipped to
`rounded-[4px]` over `bg-background`. In themes whose terminal surface
differs from the app canvas -- an imported VS Code light theme, say,
where `--terminal-background` is #f6f8fa and `--background` is #ffffff --
that gutter and those corner nubs rendered as a light frame around the
pane. The gutter before the terminal tab sidebar showed the same seam.

The gutter was never intentional breathing room: the surface already
insets its grid by `CONTENT_PADDING` (4px) inside the canvas, and the
renderer fills the whole canvas with the terminal background on every
frame. The DOM padding just stacked a second inset in the wrong color.

Drop the padding and the rounding, and paint the mount and the terminal
row with `--terminal-background` so the sidebar gutter and any sub-cell
sliver at the right or bottom edge match the terminal instead of the
canvas. Stock light and dark themes are unaffected: they define
`--terminal-background: var(--background)`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jakeleventhal
jakeleventhal force-pushed the t3code/remove-lightmode-terminal-padding branch from f82d9cc to b2d4ab2 Compare August 11, 2026 21:24
@github-actions github-actions Bot added size:S 10-29 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels Aug 11, 2026
@macroscopeapp

macroscopeapp Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved b2d4ab2

CSS-only changes removing padding classes and updating background color references. No logic or runtime behavior changes beyond visual appearance - classic minor UI adjustment.

You can customize Macroscope's approvability policy. Learn more.

@maria-rcks
maria-rcks merged commit 105cd5e into pingdotgg:main Aug 19, 2026
16 checks passed
bcotrim pushed a commit to bcotrim/mognet that referenced this pull request Aug 20, 2026
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 105cd5e)
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 20, 2026
## What's Changed
* fix(desktop): stop automatic passkey prompts by @t3dotgg in pingdotgg/t3code#7522
* fix(web): align version text with its label by @RakshithBhat03 in pingdotgg/t3code#7521
* fix(web): refresh open file with the file tree by @StiensWout in pingdotgg/t3code#7490
* Add OpenCode skill discovery by @dbalders in pingdotgg/t3code#3154
* feat(web): unify workspace navigation by @maria-rcks in pingdotgg/t3code#7153
* fix(web): hide opencode's plan agent when legacy plan mode is off by @UtkarshUsername in pingdotgg/t3code#6420
* feat: refine thread action menus by @maria-rcks in pingdotgg/t3code#7476
* feat(web): redesign usage insights by @maria-rcks in pingdotgg/t3code#7147
* fix(server): outdated gh no longer reads as "not authenticated" by @t3dotgg in pingdotgg/t3code#7588
* fix(desktop): refresh queued updates before install by @SunkenInTime in pingdotgg/t3code#6269
* feat(web): confirm before closing a terminal by @maria-rcks in pingdotgg/t3code#7592
* feat(web): refresh pull request details by @maria-rcks in pingdotgg/t3code#7148
* fix(web): usage hourly breakdown lists every hour chronologically by @lgwacker in pingdotgg/t3code#7595
* fix(web): remove the terminal pane's app-canvas gutter by @jakeleventhal in pingdotgg/t3code#6222
* feat(web): attach composer state drawers by @maria-rcks in pingdotgg/t3code#7150
* fix(server): preserve tool lifecycle identity by @maria-rcks in pingdotgg/t3code#7151
* chore(desktop): use stable Clerk Electron release by @t3dotgg in pingdotgg/t3code#7602


**Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260819.1133...v0.0.34-nightly.20260820.1139

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260820.1139
sheehanmunim added a commit to munimtechnologies/mtcode that referenced this pull request Aug 20, 2026
Bring in T3 Code pingdotgg#7148 pingdotgg#7595 pingdotgg#6222 pingdotgg#7150 pingdotgg#7151 pingdotgg#7602 pingdotgg#7152 so the fork is not behind pingdotgg/t3code:main.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants