Skip to content

Redesign titlebar: window title, button sizing, offline indicator#2675

Merged
wojtekn merged 22 commits intotrunkfrom
update/title-bar-design
Apr 9, 2026
Merged

Redesign titlebar: window title, button sizing, offline indicator#2675
wojtekn merged 22 commits intotrunkfrom
update/title-bar-design

Conversation

@shaunandrews
Copy link
Copy Markdown
Contributor

@shaunandrews shaunandrews commented Feb 26, 2026

Before

image image

After

image image

Summary

  • Remove "Howdy, {user}" text — Gravatar-only button with tooltip showing the user's name on hover. Cleaner, less cluttered.
  • Add centered window title — "Studio • {site name}" centered in the titlebar (macOS). "Studio" is dimmed/light, bullet is subtle, site name is full white. Falls back to just "Studio" when no site is selected.
  • Improve titlebar button sizing — All icon buttons (sidebar toggle, gravatar, settings, help) get consistent padding (p-1.5) and rounded-lg hover states. Sidebar toggle gets extra spacing from the traffic lights.
  • Reduce top/right padding — Removed redundant pt-1.5 from TopBar (chrome padding already handles it), reduced right padding so buttons sit closer to the window edge.
  • Refactor offline indicator — Changed from Button to span[role=status] since it's not interactive. Removes misleading hover state while keeping tooltip and accessibility attributes. Added fill-white for SVG visibility on dark chrome.
  • Add settings tooltip — Settings cog was missing a tooltip (pre-existing omission). Now shows "Settings" on hover.
  • Right-align right-side tooltips — Gravatar, settings, and help tooltips use bottom-end placement so they don't overshoot the window edge.

Test plan

  • macOS: Verify window title is centered between traffic lights and right controls
  • macOS: Verify title updates when selecting different sites
  • macOS: Verify title shows just "Studio" with no site selected
  • Verify gravatar tooltip shows user display name on hover
  • Verify all titlebar buttons have visible rounded hover states
  • Verify offline indicator shows tooltip but no hover background (test by toggling network off)
  • Verify sidebar toggle has breathing room from traffic lights
  • Verify settings cog shows "Settings" tooltip on hover
  • Verify right-side tooltips align to the right (bottom-end)
  • Windows: Verify no regressions in Windows titlebar layout
  • Unit tests pass (npm test)

🤖 Generated with Claude Code

shaunandrews and others added 4 commits February 25, 2026 11:14
…n sizing

- Replace "Howdy, {user}" with Gravatar-only button (tooltip shows name)
- Add centered "Studio • {site name}" window title
- Add padding and rounded-lg to all titlebar icon buttons
- Increase sidebar toggle spacing from traffic lights
- Reduce top padding and right padding for better alignment

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The offline indicator isn't interactive — replace Button with a
plain span[role=status] to remove misleading hover state while
keeping the tooltip and accessibility attributes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@shaunandrews shaunandrews self-assigned this Feb 26, 2026
@shaunandrews shaunandrews marked this pull request as ready for review February 26, 2026 16:28
@wpmobilebot
Copy link
Copy Markdown
Collaborator

wpmobilebot commented Feb 26, 2026

📊 Performance Test Results

Comparing aec6ff8 vs trunk

app-size

Metric trunk aec6ff8 Diff Change
App Size (Mac) 1252.12 MB 1252.11 MB 0.00 MB ⚪ 0.0%

site-editor

Metric trunk aec6ff8 Diff Change
load 1923 ms 1580 ms 343 ms 🟢 -17.8%

site-startup

Metric trunk aec6ff8 Diff Change
siteCreation 9190 ms 9174 ms 16 ms ⚪ 0.0%
siteStartup 4948 ms 4944 ms 4 ms ⚪ 0.0%

Results are median values from multiple test runs.

Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff)

@wojtekn
Copy link
Copy Markdown
Contributor

wojtekn commented Mar 23, 2026

@shaunandrews nice improvements! I merged the trunk into the branch and solved the conflict. Some notes:

  • Left padding for sidebar toggle looks too large in full-screen mode (when three MacOS buttons are gone)
  • Clicking on the user thumbnail could open Settings -> Account instead of General. However, I see it works that way in trunk, too, so maybe we broke it there at some point.
  • We need to check how those changes look on Windows - it would be great to add a Windows screenshot, too.

Copy link
Copy Markdown
Contributor

@katinthehatsite katinthehatsite left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, thanks for making these improvements!

I noticed two small things. The padding looks slightly too large when it is full size screen (I see it was also mentioned by another reviewer):

Image

I also noticed that when a site has a very long name, it looks a bit weird but not sure if it is a big issue. We can also leave as is or crop it shorter as an alternative:

Image

shaunandrews and others added 5 commits March 24, 2026 14:02
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Match gravatar button dimensions to other toolbar buttons and add a
subtle border to tooltips for better contrast against dark backgrounds.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shaunandrews
Copy link
Copy Markdown
Contributor Author

Thanks for the feedback, y'all. I finally got a Windows build and... it is indeed busted on Windows. I'm working on fixes now.

image

shaunandrews and others added 4 commits March 25, 2026 12:51
Move bottom padding from TopBar (shared) to MacTitlebar (platform-specific)
so Windows titlebar content centers naturally. Increase Windows titlebar
from 32px to 44px to match other Electron apps. Make WindowTitle height
platform-aware.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…title and WP logo

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shaunandrews
Copy link
Copy Markdown
Contributor Author

Been toying with this for a bit. After some more feedback, I removed the title (Studio • Site Title) as its duplicative in most scenarios, with the site title showing in the sidebar and the frame header. And on windows the Studio title is already shown, and the large window controls and menu element cause overlapping/truncation issues.

image image image image

@wojtekn
Copy link
Copy Markdown
Contributor

wojtekn commented Mar 27, 2026

I tested it again, and it looks good. However, this label is confusing:

CleanShot 2026-03-27 at 10 17 40

I understand that the intention is to explain why it's worth logging in, but with such short sentence, it is unclear. If we want to keep it there, it would make sense to make it more descriptive e.g. "Log in to benefit from Sync, Previews, and Assistant features." or similar.

@wojtekn
Copy link
Copy Markdown
Contributor

wojtekn commented Mar 27, 2026

Clicking on the user thumbnail could open Settings -> Account instead of General. However, I see it works that way in trunk, too, so maybe we broke it there at some point.

I fixed this in #2930, it was a regression introduced at some point.

@shaunandrews
Copy link
Copy Markdown
Contributor Author

I understand that the intention is to explain why it's worth logging in, but with such short sentence, it is unclear. If we want to keep it there, it would make sense to make it more descriptive e.g. "Log in to benefit from Sync, Previews, and Assistant features." or similar.

Tooltips don't have to be sentences, and should rarely be more than a few words. I think the button's label ("WordPress.com Log In") and the tooltip ("Enable Sync and Previews") together provide enough context to explain the connection between logging in and these gated features.

FWIW I tried a few other options:

  • Log in to enable sync and previews
  • Login to enable more features
  • Enable more features
  • Sync and preview require login

Its also possible that we don't need a tooltip here; the login button itself is already fairly unambiguous, but I thought it might be helpful to try and explain why you might click to login.

@wojtekn
Copy link
Copy Markdown
Contributor

wojtekn commented Mar 30, 2026

@shaunandrews I think this tooltip starts to make sense as soon as we prepend it with "Log in to" to read "Log in to enable Sync and Previews," as you propose.

Without "Log in to", the tooltip describes a side effect (sync and previews) rather than the primary action (logging in).

@shaunandrews
Copy link
Copy Markdown
Contributor Author

shaunandrews commented Apr 7, 2026

Without "Log in to", the tooltip describes a side effect

With "Log in to" the tooltip is too long.

If you feel strongly I'll remove it—I want to clean up some of these misaligned elements more than I want to add the tooltip—but with the surrounding context I think "Enable Sync and Previews" is good.

# Conflicts:
#	apps/studio/src/components/top-bar.tsx
@shaunandrews
Copy link
Copy Markdown
Contributor Author

I guess we may have discrepancies with different plans now making the tooltip more complex. I'll just remove it for now.

@wojtekn
Copy link
Copy Markdown
Contributor

wojtekn commented Apr 8, 2026

@shaunandrews Maybe in the end, we don't need a tooltip for that link? It's not an icon, and is already descriptive.

shaunandrews and others added 2 commits April 8, 2026 10:29
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shaunandrews
Copy link
Copy Markdown
Contributor Author

I removed the tooltip for the login button, and updated the branch.

@wojtekn wojtekn merged commit 148ca4a into trunk Apr 9, 2026
10 checks passed
@wojtekn wojtekn deleted the update/title-bar-design branch April 9, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants