Commit graph

551 commits

Author SHA1 Message Date
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
30a3c0fb46 WIP 2022-09-13 14:10:13 +02:00
Antonio Scandurra
45519cdd27 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo
7918bf39f5 Make capture example its own crate 2022-09-13 14:10:13 +02:00
Nathan Sobo
ad0f75f386 Add capture example to GPUI
Added a linker arg to the GPUI build script. Not sure if we'll want to bake
this into GPUI or do it via another crate, but this is convenient for
exploration for now.
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
Max Brunsfeld
6e76bd32da
Merge pull request #1462 from zed-industries/crash-on-goto-diagnostic
Fix two crashes related to diagnostics and bugs in mouse-based columnar selection
2022-08-03 12:04:56 -07:00
Max Brunsfeld
096f4693d3 Fix crash and wrong columnar selection when mousing over block lines 2022-08-03 10:19:06 -07:00
Antonio Scandurra
7cbf76ce80 Implement default macOS menu items
- `Zed -> Hide`, bound to `cmd-h`
- `Zed -> Hide Others`, bound to `alt-cmd-h`
- `Zed -> Show All`
- `Window -> Minimize`, bound to `cmd-m`
- `Window -> Zoom`
2022-08-03 15:13:30 +02:00
ForLoveOfCats
2c70583ef0 Add cmd+shift+click action for triggering go to type definition 2022-07-29 17:00:07 -04:00
Antonio Scandurra
6a718dc4da Don't insert input when the fn key is held 2022-07-27 12:01:44 +02:00
Antonio Scandurra
d3f14fb1c2 Dispatch application menu events if custom key equivalent wasn't found 2022-07-27 11:46:47 +02:00
Antonio Scandurra
fe7ba09d52 Honor shift when converting keystroke to native key equivalent 2022-07-27 09:28:56 +02:00
Max Brunsfeld
ea82b9353d Log instead of showing an alert when exiting due to no GPU
Showing the alert resulted in a panic because tasks
dispatched to the app's main GCD queue continue
to run even while the alert is displayed.
2022-07-25 16:13:28 -07:00
Max Brunsfeld
ab037fe844 Simulate calling of text-insertion APIs in TestAppContext::dispatch_keystroke 2022-07-25 12:20:12 -07:00
Max Brunsfeld
a54d9f1697 Add comment about noop performKeyEquivalent function 2022-07-25 11:42:54 -07:00
Antonio Scandurra
acdfb933e8 Honor shift if pressing command switches keyboard 2022-07-25 11:01:38 +02:00
Antonio Scandurra
7b009c8bbe Merge branch 'main' into ime-support-2 2022-07-22 16:03:38 +02:00
Antonio Scandurra
2bfa3b9006 Synthesize CGEvents instead of using charactersByApplyingModifiers 2022-07-22 15:51:34 +02:00
Antonio Scandurra
622596619c Honor ⌘ when Dvorak-QWERTY is used 2022-07-22 14:52:24 +02:00
Antonio Scandurra
136550de9f Discard shift when it causes keyboard to output a different character 2022-07-22 08:15:44 +02:00
Keith Simmons
9286e5ea04
Merge pull request #1396 from zed-industries/better-empty-pane
Fix Pane Focus Issues
2022-07-21 15:07:03 -07:00
Max Brunsfeld
6d264502b2 Remove print statements 2022-07-21 13:44:58 -07:00