Description
On Windows, the built-in TitleBar buttons (minimize, maximize, close) do not update their hover state when the cursor moves into them from the area below the title bar. Hover works when the cursor enters the window from outside of the app, but not when moving upward from content inside the same window.
Environment
- GPUI: v0.2.2
- GPUI Component: v0.5.2
- Platform: Windows 10
Steps to Reproduce
- Create a window with a custom title bar:
WindowOptions { titlebar: Some(TitleBar::title_bar_options()), .. }
- Render
TitleBar::new() at the top of the window with normal client content below
- Run on Windows
- Move the mouse from the content upward into the minimize, maximize, and close buttons
- Compare with moving the mouse into the same buttons from outside the window (e.g. from the taskbar or desktop edge).
Screenshots
Expected
Caption buttons show hover feedback as soon as the cursor enters each button, regardless of whether the cursor came from inside or outside the window.
Actual
Hover feedback only appears when the cursor enters the buttons from outside the window. When moving from the area into the caption buttons, hover state does not update until the window is refreshed.
Description
On Windows, the built-in
TitleBarbuttons (minimize, maximize, close) do not update their hover state when the cursor moves into them from the area below the title bar. Hover works when the cursor enters the window from outside of the app, but not when moving upward from content inside the same window.Environment
Steps to Reproduce
WindowOptions { titlebar: Some(TitleBar::title_bar_options()), .. }TitleBar::new()at the top of the window with normal client content belowScreenshots
Expected
Caption buttons show hover feedback as soon as the cursor enters each button, regardless of whether the cursor came from inside or outside the window.
Actual
Hover feedback only appears when the cursor enters the buttons from outside the window. When moving from the area into the caption buttons, hover state does not update until the window is refreshed.