Commit Graph

3684 Commits

Author SHA1 Message Date
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
0c422fadb8 Style contacts popover background based on theme 2022-09-15 11:57:22 +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
Mikayla Maki
4dbded3f02 Implemented cell for mouse pointer 2022-09-14 15:41:55 -07:00
Kay Simmons
29f46539f0
Merge pull request #1614 from zed-industries/dock
Dock
2022-09-14 12:40:59 -07:00
Mikayla Maki
6af7b7f600 Added toggle dock test 2022-09-14 10:32:32 -07:00
Mikayla Maki
4c07dc9553 Added focus on dock toggle 2022-09-14 10:15:15 -07: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
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
Mikayla Maki
8af1e11632
Merge pull request #1603 from zed-industries/terminal-polishing
Terminal Polishing
2022-09-06 09:31:39 -07:00
Mikayla Maki
68cf91de32 Problem with alacritty's handling of selections when the terminal resizes 2022-09-03 20:52:40 -07:00
Mikayla Maki
acc1950ab4 Fixed tiny resize bug 2022-09-03 19:59:56 -07:00
Mikayla Maki
7f7ec68427 Improved formatting of tab title 2022-09-03 14:45:45 -07:00
Mikayla Maki
cefc6e8705 fixed tab content crash, discovered a giant nest of new issues re: resizing 2022-09-03 14:23:49 -07:00
Mikayla Maki
93d31e4152 Fixed search to read entire back buffer 2022-09-03 13:54:18 -07:00
Mikayla Maki
ec8876bb40 Fixed the easy search bugs 2022-09-03 13:46:36 -07:00
Mikayla Maki
08b6fd09f9 Changed bel to use dirty indicator, took away the 'has new content' indicator 2022-09-02 23:23:33 -07:00
Mikayla Maki
a100956fbf removed test proc info, put fix in wezterm, just need to link them together now 2022-09-02 23:15:12 -07:00
Mikayla Maki
90bae80bb2 WIP fixing arguments in title bug, need to validate fix, add to wezterm, push to our copy, refresh our cargo, and make a PR for wezterm. TODO: Learn how to do c-style buffer munging. 2022-09-02 19:48:34 -07:00
Mikayla Maki
aabc6ce8bd Fixed terminal title showing program, WIP showing exe arguments 2022-09-02 18:22:53 -07:00
Mikayla Maki
1375c5f1a1 Began program manager, made terminal modals per-window 2022-09-02 16:45:58 -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
Max Brunsfeld
e42bc17664 0.53.1 2022-09-02 12:19:45 -07:00
Max Brunsfeld
636f35f384 Avoid undesirable pane item deduping with multibuffers 2022-09-02 11:59:10 -07:00
Max Brunsfeld
ba1124ee44 Avoid updating package-lock.json when building Zed 2022-09-02 11:39:54 -07:00
Max Brunsfeld
0777af1dd3 Fix crash when querying for enclosing brackets at EOF 2022-09-02 10:23:46 -07:00
Mikayla Maki
7730039e31 Sketched out program manager API 2022-09-01 20:07:30 -07:00
Mikayla Maki
4779eebdce fix shift-enter 2022-09-01 17:56:22 -07:00
Mikayla Maki
0588360bf0
Merge pull request #1598 from zed-industries/terminal-process-info
Terminal Active Process Title
2022-09-01 17:55:57 -07:00
K Simmons
7497edaec2 Add process info to terminal so that we can show the active process in the terminal tab title
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-01 17:46:11 -07:00
K Simmons
91080fb998 Don't panic if a tab isn't present in a from tab when dragged 2022-09-01 15:17:25 -07:00
Max Brunsfeld
7cbabc386f 0.53 2022-09-01 14:09:14 -07:00
Max Brunsfeld
f87e7d3bed Avoid subtraction underflow when searching terminal
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-09-01 14:06:16 -07:00
Mikayla Maki
0e0bae8faa
Merge pull request #1587 from zed-industries/alac-search
Terminal Search
2022-09-01 13:49:48 -07:00
Mikayla Maki
ebae991cb2 Finished terminal search 2022-09-01 13:45:46 -07:00
K Simmons
67a585cdfa Impl default for drag and drop global. Make drag and drop global maintain a list of weak handles to the container.
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-09-01 12:13:46 -07:00
Mikayla Maki
25aae1107b Added cursor I-Beam 2022-09-01 11:55:15 -07:00
Mikayla Maki
faad24542f Improved performance of terminal rendering further 2022-09-01 11:43:27 -07:00
Mikayla Maki
1a0f43f0c5 Actually added all files this time 2022-08-31 20:37:04 -07:00
Mikayla Maki
a8b8003980 ?? 2022-08-31 18:27:25 -07:00
Mikayla Maki
3f11fd3b8b Terminal implements important half of search protocol 2022-08-31 17:41:53 -07:00
Mikayla Maki
63d9d29762 Search rendering and basic regex stuff complete 2022-08-31 16:17:46 -07:00
Mikayla Maki
8e7d9cf22e search stuff 2022-08-31 16:17:46 -07:00
Mikayla Maki
f62b69adb4 Checkpoint commit, almost have the initial search research done. Don't forget to remove test keymap 2022-08-31 16:17:46 -07:00
K Simmons
efaf7e25f4
Merge pull request #1581 from zed-industries/generalized-item-search
Make Workspace item search generic
2022-08-31 16:12:45 -07:00