Julia
131f3471fc
Don't dispatch mousemove without focus & avoid swallowing external moves
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-01-20 10:11:28 -05:00
Mikayla Maki
88170df7f0
Switched from active hover to NSViews acceptsFirstMouse API
2023-01-19 15:21:26 -08:00
Kay Simmons
73e7967a12
working f and t bindings
2023-01-06 14:24:20 -08:00
Joseph Lyons
233b28a1b9
Appease clippy
2023-01-01 23:50:45 -05:00
Joseph Lyons
21a0df406f
Add home and end key support
2022-12-26 00:24:26 -05:00
Mikayla Maki
8e6c5dbc3b
Fix unscaled scrolling when using an imprecise mouse wheel
2022-11-16 10:44:13 -08:00
Antonio Scandurra
d275474b23
Don't focus incoming call and project shared notification windows
2022-11-02 14:17:16 +01:00
Antonio Scandurra
1e85361914
Log instead of panicking when we can't retrieve a drawable
2022-10-26 14:30:48 +02:00
Antonio Scandurra
f611b443c0
Convert window frame rect to screen coordinates
2022-10-26 14:27:53 +02:00
Antonio Scandurra
5a8061ac7b
Add the ability to open a window on a given screen
...
This is done by supplying the screen in the `WindowOptions` struct.
Note that it's optional, and we will let the operating system choose
which screen to show the window on when `screen` is not provided, as
we did before this change.
2022-10-26 12:04:45 +02:00
K Simmons
82956b618a
remove derive_more
2022-10-25 00:06:43 -07:00
K Simmons
a725ded95e
Add fn modifier to modifier keys in gpui and refactor platform events to use a single modifiers struct
2022-10-24 23:50:39 -07:00
Nathan Sobo
b9308ad80d
Move handling of modifier changes to new View hook
2022-10-16 12:47:48 -06:00
Max Brunsfeld
8df84e0341
Add MovePageUp and MovePageDown editor commands
...
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2022-10-14 12:36:46 -07:00
Max Brunsfeld
638e9f9477
Merge pull request #1715 from zed-industries/scrollbars
...
Add scrollbars
2022-10-11 13:34:15 -07:00
Max Brunsfeld
e2700ff8c6
Enable/disable scrollbar auto-hide based on OS setting
2022-10-11 09:13:34 -07:00
Antonio Scandurra
afaacba41f
Merge remote-tracking branch 'origin/main' into room
2022-10-10 15:43:38 +02:00
Antonio Scandurra
9d990ae329
Show all room participants in titlebar
...
...and allow following them into external projects.
2022-10-10 14:20:45 +02:00
Antonio Scandurra
d7bac3cea6
Style incoming call notification
2022-10-10 11:36:39 +02:00
Antonio Scandurra
25bba396ef
Cache CGEventSource
and avoid leaking CGEvent
when handling events
2022-09-30 09:51:03 +02:00
Max Brunsfeld
da36eb3b41
wip
2022-09-26 15:23:10 -07:00
Max Brunsfeld
04baccbea6
Start work on a client-side telemetry system
2022-09-23 12:23:12 -07:00
Antonio Scandurra
458a6a7310
💄
2022-09-16 11:09:30 +02:00
Antonio Scandurra
582ca666d0
Don't assume BOOL
is a boolean
2022-09-16 11:03:15 +02:00
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
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
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
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
f2b72eb6d2
WIP working on resizable dock
2022-09-12 14:24:57 -07:00
Mikayla Maki
1502c19208
Polished scrolling significantly
2022-09-02 15:47:35 -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
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
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
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
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
ForLoveOfCats
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -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
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
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
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
Antonio Scandurra
509f54bf20
Don't dispatch keydown event if editor is still composing
2022-07-21 17:37:32 +02:00
Antonio Scandurra
97ce3998ec
Position IME input according to where the selection is rendered
2022-07-21 17:35:40 +02:00
Antonio Scandurra
3c5d7e001e
Always mark keydown events as handled to suppress beep
2022-07-21 15:53:21 +02:00
Antonio Scandurra
3d6c257551
🎨
2022-07-21 14:39:22 +02:00
Antonio Scandurra
b2f2c5b055
Handle keydown event even when charactersIgnoringModifiers
is empty
...
This allows the input system to work in the presence of dead keys.
2022-07-21 14:36:47 +02:00
Antonio Scandurra
101a0663d3
Remove input
from KeyDownEvent
2022-07-21 14:29:27 +02:00