Maximise / restore transition UX niggle #5365
Replies: 3 comments 3 replies
-
As far as I know ghostty has no control over the animation on fullscreen / maximize it simply just asks GTK to maximize the window ghostty/src/apprt/gtk/Window.zig Line 568 in 71e62f9 ghostty/src/apprt/gtk/Window.zig Line 578 in 71e62f9 which ends up asking your Desktop Environment / Window Manager to fullscreen or maximize
For example using sway I do see font rendering being large for a split second before going to the proper size. I believe this is due to rendering and terminal processing running on separate threads in ghostty core, not sure how much effort can be done there to synchronize without a large sacrifice to speed |
Beta Was this translation helpful? Give feedback.
-
Thanks for your helpful reply. Looking at the sources you are correct. I'm left with the question of whether this is good UX for this type of application though. My use of terminal involves often and rapidly switching between fullscreen and windowed, especially in multiscreen setups, and a number of colleagues have complained about this with ghostty on Linux. I understand the desire for ghostty to "play well" with the host environment, something which some other terminals handle badly. But in this case it feels counterproductive. Perhaps a configurable "fast maximise" option, where resizing is taken care of within ghostty instead of by GTK, would offer the required performance, concurrently losing the jarring transition. Together with (as I understand it) the coming option to hide window chrome when maximised, this would achieve the best usability for Linux users: instant response when going full screen back and forth and no loss of screen real estate when full screen, with the option to retain current behaviour for those who prefer it. I'm new to Zig but have many years building systems in C/C++. If there's sufficient interest in this from users and willingness to incorporate it into the codebase from the author, I could look at adding this feature. |
Beta Was this translation helpful? Give feedback.
-
@jcollie I wasn't suggesting a 'move' of this away from GTK, but an extra capability. If ghostty is already able to set its size via configs, and hide window chrome via configs, the only thing left to do is position it to create a full screen window. Sure, it won't be functionally the same as maximise and restore (as done by GTK), but as an alternative, instant "full screen toggle". Feel free to point out if I'm missing something here, but can't we cherry pick some of the good things from other terminals? |
Beta Was this translation helpful? Give feedback.
-
When maximising and restoring Ghostty via window controls or
<C-Enter>
, the UI animates the transition to and from maximised. The visuals are jarring however - text is zoomed and then redrawn at the correct size at the end of the transition.It's also much slower. With a terminal I want to hop to full screen and back again instantly.
My preference is no animation and instant full-screen / restore. Could this be added as an option?
Arch Linux, Cinnamon. Latest updates. Lenovo T460
Beta Was this translation helpful? Give feedback.
All reactions