This commit replaces the old `previous_frame` and `current_frame` with
a new pair of `rendered_frame` and `next_frame` that are swapped once
we are ready to draw a finished frame.
This makes it clearer when to use which: `rendered_frame` should be used
to query the existing state, whereas `next_frame` should be used and mutated when
redrawing a dirty window.
The change was prompted by a bug I encountered in `FocusHandle::contains`. The
implementation was reading `current_frame`, but that was the wrong field to
access if e.g. we were reading it inside of a `render` function or any other
time while drawing the window.
For a brief period on this branch, we were taking a `DispatchTree`. Doing so
resulted in more accurate key bindings but it meant that we would have had to
recompute the app menus every time the key context changed.
We decided to err on the side of keeping things simple and work in the same
way they worked back in zed1.
Co-Authored-By: Marshall <marshall@zed.dev>
Added an ephemeral root node so that even if there's no window/focused handle we still have something to dispatch to.
Co-authored-by: Antonio <antonio@zed.dev>
Add hidden_action_types to CommandPaletteFilter.
WindowContext.available_actions now returns global actions as well.
Co-authored-by: Antonio <antonio@zed.dev>
* Current Call section of the collab panel
* Improve the collab titlebar
* Add basic UI for following
Following only partially works, but the UI for following is now in
place.
This PR fixes an issue where an element with a cursor style set would
not update the cursor when hovering over it.
Previously the cursor style would only appear by interacting with the
element in some way, for instance, by clicking on the element or by
having a `.hover` with some other style being applied.
Release Notes:
- N/A
This PR adds support for copying diagnostics messages to the clipboard.
This was already working, but we were missing implementations
clipboard-related methods in the `TestPlatform` that were causing the
tests to fail when the copying functionality was added.
Release Notes:
- N/A