Commit Graph

400 Commits

Author SHA1 Message Date
zhaolei
31b4614c87 fix crash when macos_titlebar_color=background with transparent background 2026-02-24 18:06:53 +08:00
Kovid Goyal
1df89d9448 Cleanup previous PR
Fixes #9463
2026-02-23 07:44:58 +05:30
Kovid Goyal
1f5b11be0b Merge branch 'fix-sleep-macos' of https://github.com/jorgemmsilva/kitty 2026-02-23 07:27:58 +05:30
Kovid Goyal
322a51da98 ... 2026-02-22 15:44:28 +05:30
Kovid Goyal
b737eaad65 Cleanup previous PR
Use a single wl_surface for the drag icon. Whther it is attached to the
top level drag or not is determined based on availability.
2026-02-22 15:36:10 +05:30
Kovid Goyal
ca43d57cdf Fix enumeration of pasteboard items in the source 2026-02-22 13:32:55 +05:30
Kovid Goyal
531fb3e1b1 Change drag thumbnail when in detach/move modes 2026-02-22 13:09:56 +05:30
Kovid Goyal
449abb69bc Cleanup previous PR 2026-02-22 11:13:57 +05:30
copilot-swe-agent[bot]
0c0c5a62f7 Implement changing drag image in the various backends
Fixes #9542
2026-02-22 09:26:14 +05:30
Kovid Goyal
6506ce1e91 API to change image for drag in progress 2026-02-22 09:10:26 +05:30
Kovid Goyal
eb23c18821 Dont detach when user presses esc to cancel drag and there is no drop 2026-02-22 07:42:42 +05:30
Kovid Goyal
0f10380773 Cocoa backend: distinguish between cancelling drop by esc key/dragging to trash and dropping in unsupported place 2026-02-22 07:34:27 +05:30
copilot-swe-agent[bot]
56a9dd1bb7 Place drag icon below cursor on macOS
Fixes #9539
2026-02-21 22:06:49 +05:30
Kovid Goyal
dea3ad5eed API for registering MIME types for drag enter 2026-02-21 17:25:25 +05:30
Kovid Goyal
57e7dc2cdc Add some more common types 2026-02-21 17:25:03 +05:30
Kovid Goyal
7efba91ffc Register UTI for tab drag mime on Cocoa 2026-02-21 16:59:58 +05:30
Kovid Goyal
aab60b7967 Fix mime <-> UTI roundtripping 2026-02-21 16:37:04 +05:30
Kovid Goyal
a2b7a0cd6d Port Cocoa drag source backend to new API 2026-02-18 11:20:17 +05:30
Jorge Silva
adc97bc117 fix blank screen on macOS resume from sleep 2026-02-17 17:56:14 +00:00
Kovid Goyal
e5eb63fcd0 Refactor drag source API to be async
Wayland implementation done. Other two backends remain.
2026-02-17 13:07:55 +05:30
Kovid Goyal
a99103d9a1 Drop events should use same co-ordinate system as mouse events 2026-02-13 10:08:25 +05:30
Kovid Goyal
ff70e2e3ab Dont hardcode mimetype to extension mappings 2026-02-08 22:05:15 +05:30
Kovid Goyal
08217c949d Fix crash on self drop 2026-02-08 22:05:15 +05:30
Kovid Goyal
a80d742449 Port cocoa backend drop code to the new API 2026-02-08 22:05:14 +05:30
Kovid Goyal
0d465f71a3 More work on cocoa darg drop still not functional
I think I am going to rewrite the API to integrate with the event loop,
now that I have a good handle on the semantics of DnD in the two major
platforms.
2026-02-07 23:00:23 +05:30
Kovid Goyal
19f24f2623 Get drag and drop to self working in cocoa backend 2026-02-07 16:42:56 +05:30
copilot-swe-agent[bot]
7ca6fd66f8 Fix self drag not working under Wayland
Fixes #9483
2026-02-07 15:10:54 +05:30
copilot-swe-agent[bot]
5ea35cbbfc Refactor drag API to make it asynchronous
Fixes #9477
2026-02-07 08:59:34 +05:30
Kovid Goyal
d51dec8187 When dropping, paste into window under mouse cursor rather than active window 2026-02-04 21:21:25 +05:30
Kovid Goyal
9a2ddc887b Cleanup new chunked drop code and use it in kitty
Currently the chunking is useful but it will become useful for a future
drag and drop TUI protocol
2026-02-04 20:34:10 +05:30
copilot-swe-agent[bot]
ed5eb8f45c Allow reading dropped data in chunks
Fixes #9470
2026-02-04 14:18:28 +05:30
copilot-swe-agent[bot]
fac4420804 Simplify new drag/drop API
Fixes #9466
2026-02-03 22:02:51 +05:30
copilot-swe-agent[bot]
9b35c1b535 Allow changing drag acceptance asynchronously
Fixes #9465
2026-02-03 14:43:44 +05:30
copilot-swe-agent[bot]
6744183027 Accept drags based on mime types in drag event callback
Fixes #9456
2026-02-02 21:30:25 +05:30
copilot-swe-agent[bot]
fa6c76d3e3 Add a GLFW API to support starting drag operations
Fixes #9454
Fixes #9455
2026-02-02 20:49:00 +05:30
Sébastien MORAND
0bf307c95f macOS: Implement dictation support via accessibility and NSTextInputClient
This commit enables macOS dictation (triggered by pressing Fn twice) to work
in kitty by implementing the necessary accessibility methods.

The key fix is changing `selectedRange` to return `NSMakeRange(0, 0)` instead
of `kEmptyRange` (NSNotFound, 0). When selectedRange returns NSNotFound, macOS
dictation cannot determine where to insert text and fails silently.

Additional accessibility methods implemented:
- accessibilitySelectedTextRange: Returns cursor position for dictation
- accessibilityNumberOfCharacters: Returns 0 (terminal has no fixed buffer)
- accessibilityInsertionPointLineNumber: Returns 0
- accessibilityValue: Returns empty string
- setAccessibilityValue: Routes dictated text to keyboard input

This fix is inspired by the similar fix in Emacs v30 which restored dictation
by implementing selectedRange properly after migrating to NSTextInputClient.

Fixes: https://github.com/kovidgoyal/kitty/issues/3732
2026-01-20 10:35:54 +01:00
Kovid Goyal
3c250a741d Wayland: Fix line and v120 scroll event types being multiplied by screen scale
This does not match X11/macOS behavior. And I see no logical reason why
it should be so. The wheel_scroll_multiplier should be used to adjust
this by end users.
2026-01-09 12:50:07 +05:30
Kovid Goyal
ba389d68b9 macOS: Fix changes to macos_titlebar_color while in full screen not being applied after exiting fullscreen
Fixes #9350
2026-01-03 00:19:03 +05:30
Kovid Goyal
ba3af8f2c3 Refactor GLFW scroll event callback to use a proper event struct 2025-12-31 23:40:34 +05:30
Kovid Goyal
35d95d7a43 Also remove shadow from zero sized window
Hopefully that means no clickable region at all?
2025-11-12 14:01:37 +05:30
Kovid Goyal
98e13787a9 ... 2025-11-12 12:23:24 +05:30
Kovid Goyal
81f429d52b Move the code to cycle through OS Windows into glfw 2025-11-12 12:02:38 +05:30
Kovid Goyal
a4a7f77ef1 Use __block rather than __weak since we are in manual ref counting regime 2025-11-12 09:31:31 +05:30
Kovid Goyal
3ba6c3f4b9 macOS: Handle dropping of file promises into kitty in addition to file paths
Fixes #9084
2025-10-11 11:02:51 +05:30
Kovid Goyal
2babfa7ebf macOS: Further restrict the live resize callback to only be used when live resize is actually in progress 2025-10-07 18:23:08 +05:30
Kovid Goyal
d3c5cb12c4 macOS: Dont do live resizing when window is fullscreen
The live resize causes crashes on some Tahoe machines due to macOS bugs.
It is not needed anyway when the window is fullscreen, so ignore it.
2025-10-07 08:57:57 +05:30
Kovid Goyal
a0699f5c9e Remove the dropping of the first resize event since it did not fix the issue
Add a check to only callback if the thread is the main thread
2025-10-06 18:39:53 +05:30
Kovid Goyal
270c598f2c macOS: Only live resize for resize events that occur in quick succession
Apparently on some systems Tahoe sends a resize event on wake from
sleep/lid open for obscure reasons and then proceeds to crash if one
redraws during that event. Sigh.
2025-10-02 19:39:13 +05:30
Kovid Goyal
a8e930c167 Fix titlebar color not working for opaque windows
As long as titlebar_color is not nil, we need a background view
2025-09-29 22:36:27 +05:30
Kovid Goyal
75ec41e08b Make titlebar background view a child of the titlebar view itself 2025-09-29 22:02:38 +05:30