Antonio Scandurra
b6ff8e7749
Introduce workaround for spurious windowDidBecomeKey
event
2022-09-16 10:55:15 +02:00
Antonio Scandurra
7a16e9c048
Allow panels to appear on top of full-screen apps
2022-09-16 10:48:20 +02:00
Antonio Scandurra
3163366a10
Inline empty NSTrackingArea
rect
2022-09-16 09:54:48 +02:00
Antonio Scandurra
3ec3f838db
Autorelease NSTrackingArea
to avoid leaking it
2022-09-15 16:24:02 +02:00
Antonio Scandurra
66d13cf42c
Query isKeyWindow
on windowDidBecomeKey
or windowDidResignKey
...
Before we were assuming that receiving a callback meant that the window
was in that "key" state accordingly, but with popups that's not always
the case. In particular, there was a bug that caused an unrelated window
to receive `windowDidBecomeKey` when making an `NSPanel` the key window.
2022-09-15 15:57:02 +02:00
Antonio Scandurra
462e5852c2
Use an "always active" tracking area to detect mouseMoved
events
...
This ensures that we can still receive mouse moved events (e.g. for
setting the cursor style) for panels that float above other windows
even if the application isn't active.
2022-09-15 15:45:08 +02:00
Antonio Scandurra
147268157c
Animate popup window as if it were an NSMenu
2022-09-15 12:15:40 +02:00
Antonio Scandurra
9efa39e81e
Merge branch 'main' into capture
2022-09-15 12:02:07 +02:00
Antonio Scandurra
44553875d0
Allow contacts popover to be activated even if app isn't foregrounded
2022-09-15 11:44:51 +02:00
Antonio Scandurra
1c9c7ef7ae
Add the ability to specify a level when creating windows
...
This lets some windows stay on top of others, independently of
whether the application is in the foreground.
2022-09-14 17:40:04 +02:00
Antonio Scandurra
c1f448d8a8
Use viewDidChangeEffectiveAppearance
to detect appearance changes
2022-09-14 15:49:08 +02:00
Antonio Scandurra
d10f6f60ad
Toggle contacts popover when clicking on status bar icon
2022-09-14 15:43:51 +02:00
Antonio Scandurra
9b8492a3ba
Extract a common App::register_platform_window
2022-09-14 11:58:05 +02:00
Antonio Scandurra
f67e2bea29
Refresh windows when OS appearance changes
2022-09-14 11:47:43 +02:00
K Simmons
a7d0732f95
fixed release build issue
2022-09-13 15:26:10 -07:00
K Simmons
0b5952e1bd
Fix incorrect rendering of toolbar in right anchored dock
...
Make dock keybinding activate the dock if it wasn't hidden, and hide it if it was already active
Make clicking the expanded dock wash, hide the dock
Fix some issues with programmatically activating other panes, not hiding the dock
Tweak dock anchor menu text
Swap dock hide button for thin variant
Fix dock sidebar interactions
Add clicked state to search button and fix presenter issue sending clicked events when mouse not overlapping MouseRegion
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-13 15:17:27 -07:00
K Simmons
6bc17cc9a4
Fix remaining test failures
2022-09-13 13:17:49 -07:00
Antonio Scandurra
97ccb16c97
Rework status bar item to use a custom view
2022-09-13 16:20:34 +02:00
Antonio Scandurra
b3dd09a0f2
🎨
2022-09-13 14:50:18 +02:00
Antonio Scandurra
a34eaa3606
Pass reused
parameter to Presenter::dispatch_event
for status items
2022-09-13 14:49:49 +02:00
Antonio Scandurra
11d47f5c72
Use a transparent layer for status bar
...
This allows the compositor to blend the GPUI view with the background.
2022-09-13 14:11:50 +02:00
Antonio Scandurra
a9c2881831
Set contents scale and drawable size when creating status metal layer
2022-09-13 14:11:50 +02:00
Antonio Scandurra
2acd215bb8
Wire up event handling for status items
2022-09-13 14:11:50 +02:00
Antonio Scandurra
6578af6f3b
WIP: Start rendering GPUI views to macOS status bar
2022-09-13 14:11:48 +02:00
Antonio Scandurra
f50c6af001
Encapsulate metal layer into Renderer
2022-09-13 14:10:13 +02:00
Antonio Scandurra
e803dd9f72
Remove platform::WindowContext
trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
1c810d7e8d
WIP: Show status bar item with a backing metal layer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
2b9fe0a2e6
WIP
2022-09-13 14:10:13 +02:00
Antonio Scandurra
c03300df29
WIP: Start on App::add_status_bar_item
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
21c91a29e7
Add the ability to hide the titlebar when creating windows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
ca618b02b6
Render surfaces correctly when encoded in 420YpCbCr8BiPlanarFullRange
2022-09-13 14:10:13 +02:00
Antonio Scandurra
d407f521db
WIP: render screen-sharing frames
2022-09-13 14:10:13 +02:00
Antonio Scandurra
a02e388ea2
Honor scale factor when rendering
2022-09-13 14:10:13 +02:00
Antonio Scandurra
fcf6aa15eb
Return results for fallible media APIs
2022-09-13 14:10:13 +02:00
Antonio Scandurra
79a7a0e0e7
Capture screen in BGRA8 and render it in capture
example app
2022-09-13 14:10:13 +02:00
Nathan Sobo
37da841716
Start on using CVMetalTextureCache
2022-09-13 14:10:13 +02:00
Nathan Sobo
531ffc01c9
Pass CVImageBuffers into GPUI instead of IOSurfaces
2022-09-13 14:10:13 +02:00
Nathan Sobo
0430bbf7d9
WIP: Start on Renderer::render_surfaces but really it's nothing
2022-09-13 14:10:13 +02:00
Antonio Scandurra
c4110edb78
Extract io_surface
crate and invoke custom callback on frame sample
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
e12eaf8c58
Start on Scene::push_surface
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
45519cdd27
WIP
2022-09-13 14:10:13 +02:00
K Simmons
df59b28aaf
Extract panel resize code from sidebar into Resizable element
...
Make resizable work in vertical axis
Make dock resizable
Have dock preserve size based on Anchor position
Make pane buttons work more correctly in pathological cases
Sync status bar dock button with dock visibility/anchor position
Co-Authored-By Mikayla Maki <mikayla@zed.dev>
2022-09-12 18:32:15 -07:00
Mikayla Maki
31a3fdb23e
Started to make the dock better, major issue's resizing child elements
2022-09-12 14:53:26 -07:00
K Simmons
f2b72eb6d2
WIP working on resizable dock
2022-09-12 14:24:57 -07:00
K Simmons
444417203b
Move workspace overlay elements into an actual overlay in order to get proper stacking context depths
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:34:12 -07:00
K Simmons
6b26965074
Permanent fix to repeat MouseRegion Tag failure in Workspace
...
Polish tab bar buttons
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:34:10 -07:00
K Simmons
69ecbb644d
DOCK WORKING!
...
Update editor element to use mouse regions instead of dispatch event for mouse events
Fix bug in presenter where mouse region handlers were stored on click and called instead of more up to date handlers from subsequent renders
Changed MouseRegion to require discriminants in all cases
Add scroll wheel event to MouseRegion
Polished a bunch of dock inconsistencies
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:32:20 -07:00
K Simmons
28965dc5b6
Make MouseRegion Click handlers, also handle Down events by default.
2022-09-11 14:19:35 -07:00
Mikayla Maki
d189972a0d
Merge branch 'terminal-scrolling-sensitivity' into terminal-polishing
2022-09-02 15:48:49 -07:00
Mikayla Maki
1502c19208
Polished scrolling significantly
2022-09-02 15:47:35 -07:00
Mikayla Maki
7730039e31
Sketched out program manager API
2022-09-01 20:07:30 -07:00
K Simmons
227cc66594
Simulate mouse up if mouse was released outside window, don't report dragged payload if it was dragged from a different window
2022-08-31 14:06:38 -07:00
K Simmons
3cc07c1099
Fix some drag and drop issues including the mouse cursor not being locked to pointer, tooltips being incorrect when a dragged tab is used, and some subscription leaks from panes
2022-08-26 15:43:15 -07:00
K Simmons
042ece00b1
Drag and drop tabs working. all known bugs fixed
2022-08-25 11:14:24 -07:00
K Simmons
de3acbd75b
Introduce ReorderBehavior to pane, and address drag and drop offset error
2022-08-23 15:41:59 -07:00
K Simmons
13e9336049
Merge branch 'main' into drag-and-drop
2022-08-22 17:18:29 -07:00
K Simmons
e44536344a
Removed EventHandler from workspace in favor of mouse event handler
2022-08-22 16:49:14 -07:00
K Simmons
0f43ef9331
Dispatch Event refactoring. Appears to be workingCo-Authored-By: nathan@zed.dev
2022-08-22 16:16:40 -07:00
K Simmons
b97940be9b
more wip but currently beach balling
2022-08-22 16:16:39 -07:00
K Simmons
3fb4e6356c
Rework presenter dispatch_event to allow isolated propogation of individual MouseRegionEvent types Co-Authored-By: mikayla@zed.dev
2022-08-22 16:16:39 -07:00
K Simmons
0d6125889f
WIP
2022-08-22 16:16:39 -07:00
K Simmons
ab9f073443
fixed merge errors
2022-08-22 16:16:39 -07:00
K Simmons
133c194f4a
wip tab drag and drop
2022-08-22 16:16:39 -07:00
K Simmons
86fdd55fd4
Combined presenter mouse region event dispatching and added support up_out, and drag_over
2022-08-22 16:16:39 -07:00
K Simmons
a650c146f1
more event wip
2022-08-22 16:16:39 -07:00
K Simmons
53add253b6
wip new mouse region events
2022-08-22 16:16:39 -07:00
Mikayla Maki
1de68a724c
Debugged mouse reporting for now. Remaining bugs are GPUI level bugs
2022-08-19 15:11:49 -07:00
Mikayla Maki
9f9bafd2a7
Merge branch 'terminal-mouse' of github.com:zed-industries/zed into terminal-mouse
2022-08-19 13:04:34 -07:00
Mikayla Maki
efd3247ce4
Added modifiers to scroll wheel eevent
2022-08-19 12:10:12 -07:00
Mikayla Maki
cb0bd340b9
Merge branch 'main' into terminal-mouse
2022-08-18 17:41:19 -07:00
Mikayla Maki
37ca7a6658
Half way done with mouse reporting
2022-08-18 17:37:24 -07:00
Julia
1f7db46d98
Merge pull request #1537 from zed-industries/fix-goto-links-with-selections
...
Fix goto links with selections
2022-08-18 18:49:21 -04:00
ForLoveOfCats
b8b951deab
Clear last-mouse-moved pressed button when that button gets a mouse-up
...
This fixes an annoying issue where if the last mouse moved event was
during a drag it would never trigger mouse cursor changes until next
mouse move reset it. It makes sense to continue to not change the cursor
while the button is pressed so instead this tracks when the mouse button
is released in order to update the mouse move event
2022-08-18 18:34:01 -04:00
Mikayla Maki
0fef72ac5f
Merge pull request #1524 from zed-industries/ime-finalize
...
IME Changes: Tracking PR
2022-08-18 13:27:30 -07:00
Mikayla Maki
6652d41864
Fixed cursor blinking, added other cursor shape rendering
2022-08-18 11:28:18 -07:00
Antonio Scandurra
06f9516d31
Fix crash when closing a window while in full-screen mode
...
This commit delays closing the native window to the next tick to
avoid borrowing either `WindowState` or `MutableAppContext` twice.
2022-08-18 14:59:17 +02:00
Antonio Scandurra
75c9b90c76
Add failing unit test for buffer opening cancellation
2022-08-17 11:55:34 +02:00
Antonio Scandurra
da805b3d13
Merge pull request #1526 from zed-industries/crash-on-file-prompt-with-japanese-keyboard-layout
...
Fix crash when attempting to show file prompt while using Japanese keyboard layout
2022-08-17 09:56:09 +02:00
Mikayla Maki
1f82c0c8bf
Repeat key problems fixed.
2022-08-16 23:00:09 -07:00
Mikayla Maki
2f2e5506ce
Merged main into ime-finalize
2022-08-16 22:57:07 -07:00
Mikayla Maki
aa75fbe56c
Fix panic on main
2022-08-16 22:36:24 -07:00
Mikayla Maki
94ba282e76
Checkpoint, alt-n l is very broken. Bisecting.
2022-08-16 22:12:06 -07:00
Max Brunsfeld
e4eead6477
Fix crash when attempting to show file prompt while using Japanese keyboard layout
2022-08-16 17:44:58 -07:00
Mikayla Maki
18dc12218f
Begin work on IME changes
2022-08-16 13:01:35 -07:00
Antonio Scandurra
b94366ab90
Add zed::ToggleFullScreen
bound to ctrl-cmd-f
2022-08-15 11:53:37 +02:00
Mikayla Maki
e2200109e6
Make clippy happy
2022-08-11 15:47:56 -07:00
Mikayla Maki
804c4c512b
Merge branch 'main' into ime-stuff
2022-08-11 15:35:42 -07:00
K Simmons
42c01c5b10
minor rustfmt fix
2022-08-11 11:35:11 -07:00
ForLoveOfCats
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
K Simmons
d68f227ec4
Fix failing tests
2022-08-10 16:26:53 -07:00
K Simmons
6f180ed822
Pane focus working. Modals seem broken now
2022-08-09 17:15:54 -07:00
K Simmons
690ea57211
WIP compiling but failing with circular reference
2022-08-09 17:15:52 -07:00
K Simmons
6442ec59e7
Switch action dispatch to use MutableAppContext parent utilities and delete parent map from presenter
2022-08-09 17:09:28 -07:00
K Simmons
4271eb3624
Event dispatch moved to MutableAppContext. No longer dispatches from presenter. Not currently handling key presses properly
2022-08-09 17:09:16 -07:00
Mikayla Maki
45c0539de0
changed name of subscription mapping and moved out to file
...
Co-authored-by: Keith <keith@zed.dev>
2022-08-09 16:59:13 -07:00
Mikayla Maki
1044b7d7d2
checkpoint, no idea what's happening
2022-08-09 16:15:53 -07:00
ForLoveOfCats
3d9821b430
Jankily adjust left padding on workspace title in fullscreen
...
This could seriously be done better
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:32 -04:00
ForLoveOfCats
43b9f3beb3
Invalidate view when entering/exiting fullscreen
...
This is required for `render_titlebar` to eventually adapt to
fullscreen status to affect the size of left padding on workspace
name to account for the traffic lights presence/absence
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:32 -04:00
ForLoveOfCats
46fef69b1a
Refactor notification/observation callback pattern in MutableAppContext
...
Pull out duplicate code and clarify some misc behavior. Some of this
existing API feels like it's probably incorrect but that needs more
thorough investigation
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:25 -04:00
ForLoveOfCats
ab760493cf
Route whether or not a window is fullscreen down into GPUI
...
This still needs to be able to invalidate things to be useful
but it's a good first cut at just making the information available
to platform-agnostic code
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:12 -04:00