Commit graph

3621 commits

Author SHA1 Message Date
Antonio Scandurra
f67e2bea29 Refresh windows when OS appearance changes 2022-09-14 11:47:43 +02:00
K Simmons
61ec334234 Minor tweak to dock tests 2022-09-13 19:26:07 -07:00
K Simmons
3b9b2cd443 Add tests for the dock 2022-09-13 19:18:05 -07:00
K Simmons
ad77bb7b92 Fix mouse scroll in terminal items 2022-09-13 17:37:24 -07: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
3c88aa3d18 Fix hovering over hover popovers in the editor
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-13 13:35:06 -07:00
K Simmons
6bc17cc9a4 Fix remaining test failures 2022-09-13 13:17:49 -07:00
Mikayla Maki
fa8bac9714 fixed one failing test 2022-09-13 11:40:23 -07:00
Mikayla Maki
b45d5e83bb Added tests for alt->meta behavior 2022-09-13 09:39:29 -07:00
Antonio Scandurra
0f9ff57568 Show the correct icon in status bar 2022-09-13 17:00:46 +02:00
Antonio Scandurra
97ccb16c97 Rework status bar item to use a custom view 2022-09-13 16:20:34 +02:00
Antonio Scandurra
a102b3ba4b Start on a real status bar item implementation 2022-09-13 14:51:00 +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
4e0380c9fb Debounce frame assignment using a watch 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
645338cff8 Register to publishing of remote tracks 2022-09-13 14:10:13 +02:00
Antonio Scandurra
37ca5651ee Parameterize LiveKit URL
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
376e674748 Avoid double boxing of oneshot when calling LKRoomPublishVideoTrack
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
b154c3c9ee Expose Swift errors as anyhow::Result in live_kit 2022-09-13 14:10:13 +02:00
Antonio Scandurra
df3ab13441 Publish screen-sharing video track on the newly-created Room 2022-09-13 14:10:13 +02:00
Nathan Sobo
7bf64ec23e Add ability to get a screen share track for a window
And also list windows
2022-09-13 14:10:13 +02:00
Nathan Sobo
5347c7d678 Connect to LiveKit room in capture example 2022-09-13 14:10:13 +02:00
Nathan Sobo
3c2566fc11 Copy WebRTC.framework when building livekit crate
We determine the location of the target executable directory in a somewhat hacky way, but it seems reasonably stable.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-09-13 14:10:13 +02:00
Nathan Sobo
4bcc008cbf WIP: Start on live_kit crate that uses a C-based bridge 2022-09-13 14:10:13 +02:00
Antonio Scandurra
52f32b50b2 WIP: Talk to Swift via C without involving Objective-C
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
5fec784580 Link Swift stdlib 2022-09-13 14:10:13 +02:00
Antonio Scandurra
46abb1cbf6 WIP 2022-09-13 14:10:13 +02:00
Antonio Scandurra
6c28b21728 WIP: Start binding LiveKit 2022-09-13 14:10:13 +02:00
Nathan Sobo
b51abc5a63 Read the frame data out of the CMSampleBuffer
Still not sending it anywhere, but think I'm reading it correctly.
2022-09-13 14:10:13 +02:00
Antonio Scandurra
047b5114f1 Start on a new, more abstract CompressionSession primitive
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
600029a918 WIP: Start converting H264 samples to Annex-B NALs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
7054fa61f2 Start compressing captured frames as H264 2022-09-13 14:10:13 +02:00
Antonio Scandurra
f621d290fe Move core_media into media crate 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
3f66dd678a 🔥 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
Nathan Sobo
db88ee2f4c Handle captured frames in the background 2022-09-13 14:10:13 +02:00
Antonio Scandurra
71d9a880d6 WIP: Start pushing native surface to Scene
This is segfaulting for some reason, so that's the next step to figure out.
2022-09-13 14:10:13 +02:00
Antonio Scandurra
d30e360664 Retrieve IOSurface in Rust callback as opposed to doing so in delegate 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
d473b52f5a Remove src/dummy.m
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
1611635e5f Capture display frames and access underlying IOSurface 2022-09-13 14:10:13 +02:00
Antonio Scandurra
014246f569 Provide all running applications to SCContentFilter to capture display 2022-09-13 14:10:13 +02:00
Antonio Scandurra
ef8a0dc175 Fix bindgen warnings 2022-09-13 14:10:13 +02:00
Nathan Sobo
82ec2dc7ca Try to use the dummy capture handler, still not working 2022-09-13 14:10:13 +02:00
Nathan Sobo
99cb66dfb0 Programmatically locate the system SDK path for bindgen 2022-09-13 14:10:13 +02:00
Nathan Sobo
4440c9b18e Bind to capture's macOS C frameworks with bindgen 2022-09-13 14:10:13 +02:00
Antonio Scandurra
30a3c0fb46 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo
0df97dce02 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo
497232ee59 Get capture starting without error 2022-09-13 14:10:13 +02:00
Nathan Sobo
d91f26d016 Make SCStreamOutput protocol accessible in Rust 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
Mikayla Maki
9c42b92663 added alt as meta setting 2022-09-12 23:22:55 -07:00
Mikayla Maki
7c6769b392 WIP began changing key modifiers 2022-09-12 22:40:35 -07: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
1dfa711d2e Fix some pane button issues 2022-09-11 15:52:09 -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
59fd967793 Swapped keyboard binding and did some minor tweaks to style and focus 2022-09-11 15:31:44 -07:00
K Simmons
b88abcacac WIP dock split button and default item 2022-09-11 15:31:44 -07:00
Mikayla Maki
d87fb20170 In progress, working on building out the dock UI experience 2022-09-11 15:31:44 -07:00
Mikayla Maki
b9a6336995 Initial explorations into docks 2022-09-11 15:31:44 -07:00
Mikayla Maki
39d219c898 Start moving terminal modal into dock UI 2022-09-11 15:31:44 -07:00
K Simmons
0fca4d02ec
Merge pull request #1621 from zed-industries/editor-context-menu-fix
Make MouseRegion Click handlers, also handle Down events by default.
2022-09-11 15:22:24 -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
47fd93de8d
Update workspace.rs 2022-09-09 17:36:25 -07:00
Mikayla Maki
bf1c341f5f Patch for beachball on disconnected overlay, permanent fix to MouseRegion API is a part of the Dock PR.
Co-Authored-By: Keith <keith@zed.dev>
2022-09-09 17:32:31 -07:00
Mikayla Maki
7571899f08 Added internal keymaps as well, just for the hell of it 2022-09-08 16:37:04 -07:00
Mikayla Maki
ec5d8f8c7c Removed github username check, added settings file 2022-09-08 16:27:46 -07:00
Mikayla Maki
2b4db9b16e Added experimental themes flag 2022-09-08 15:47:27 -07:00
Mikayla Maki
d881320345 Finished internal themes 2022-09-08 15:06:08 -07:00
Mikayla Maki
bdf655d757 Sorted themes correctly 2022-09-08 14:11:48 -07:00
Mikayla Maki
a1889ad236 Added internal flag that checks the last logged in user 2022-09-08 13:31:04 -07:00
K Simmons
31ecb2f7bc Introduced ItemEvent and to_item_events function to Item trait which converts the Item's events into a standard ItemEvent similar to how SearchableItems work.
Add breadcrumb_location and breadcrumbs functions to item trait which handles rendering of the breadcrumb elements
Change breadcrumb toolbar to use these new functions rather than having hard coded breadcrumb logic
Add breadcrumb support to the terminal tabs

Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-06 16:05:36 -07:00
K Simmons
ab81093ef5 WIP pull breadcrumb rendering out into item trait 2022-09-06 14:39:58 -07:00
Mikayla Maki
1014d65e8e
Merge pull request #1606 from zed-industries/terminal-finishing
Terminal finishing
2022-09-06 10:41:40 -07:00
Mikayla Maki
6e6f37a84f updated wez term dependency 2022-09-06 10:33:40 -07:00