Refactor fullscreen and maximized window logic. #3435
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The new foreign interface architecture handles the state of the relevant window
slots (fullscreen-p, maximized-p) instead of setf-ing them on the renderer
packages. This replaces the need for the :skip-renderer-resize keyword.
Fixed bug in toggle-message-buffer, where the height of the buffer was being
probed incorrectly.
Refactor the handling of the window-state-event in GTK. It didn't account for
events where the window is no longer fullscreen or maximized.
Simplify implementation of toggle-fullscreen, toggle-maximize,
toggle-status-buffer and toggle-message-buffer.
As for the fullscreen rationale regarding the UI: when a fullscreen event is
emitted by JS's Fullscreen API, the status and message buffers are hidden. For
all other fullscreen events, the status and message buffers are kept. Note that
we can't hide the message buffer on fullscreen since then there would be no way
to get that important piece of information. On typical browsers, the equivalent
of the message buffer is a dynamically visible toolbar at the bottom left (and
it is still displayed on fullscreen).
Description
Supersedes #3410.
Checklist:
(asdf:test-system :nyxt/<renderer>)
)