Commit Graph

407 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
4706243380 Fix GLFW drop API to always present full original MIME type list to callbacks
Fixes #9633
2026-03-10 20:10:44 +05:30
Kovid Goyal
5c2b088895 Merge branch 'fix/split-view-fullscreen-crash' of https://github.com/AndrewP-GH/kitty 2026-03-01 10:59:41 +05:30
Kovid Goyal
04c35d85da Merge branch 'fix-accessibility-window-management' of https://github.com/alexasa79/kitty 2026-03-01 10:26:20 +05:30
Sasha Sandler
2c89a7dedf Allow accessibility selectors needed for external window management tools
Tools like Easy Move+Resize use the macOS Accessibility API to find and
move/resize windows. They call AXUIElementCopyElementAtPosition to get the
content view, then use kAXWindowAttribute to navigate to the parent window.

The isAccessibilitySelectorAllowed: whitelist was blocking these selectors,
preventing external window management tools (Easy Move+Resize) from working with
kitty.

Fixes #5561
2026-02-28 22:22:38 -05:00
Andrey Paramonov
21c2e585cf Refactor fullscreen exit handling to ensure frame constraint suppression is lifted consistently after a delay 2026-02-28 20:21:59 +03:00
Andrey Paramonov
72de57b5e5 Enhance fullscreen transition handling on macOS by adding frame constraint suppression 2026-02-28 19:59:43 +03:00
Andrey Paramonov
6d33cea816 Fix fullscreen handling for macOS Split View to prevent crashes 2026-02-28 17:56:19 +03:00
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