Commit Graph

1429 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
bcba8fc04c Wayland: Add support for ext-background-effects
Fixes #9536
Fixes #9534
2026-02-21 20:56:40 +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
96c01b74d8 Detach tab via drag and drop now implemented 2026-02-21 15:15:33 +05:30
copilot-swe-agent[bot]
0dfb01e8c5 Implement X11 drag source backend for the new API
Fixes #9522
2026-02-18 16:55:52 +05:30
Kovid Goyal
3cd2aa6a2f Add some docs for the drag source API 2026-02-18 16:05:27 +05:30
Kovid Goyal
a2b7a0cd6d Port Cocoa drag source backend to new API 2026-02-18 11:20:17 +05:30
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
76a29273c8 Dont send non-finger based zero size scroll events on Wayland 2026-02-17 11:23:49 +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
34ffc6cdce X11: port drop code to new API 2026-02-09 07:54:40 +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
625e3b5d1c Notes for X11 backend refactor 2026-02-08 22:05:14 +05:30
Kovid Goyal
a80d742449 Port cocoa backend drop code to the new API 2026-02-08 22:05:14 +05:30
Kovid Goyal
af4f3969b7 remove watch after all data is received on pipe 2026-02-08 22:05:14 +05:30
Kovid Goyal
5db41c7ba4 Remove remaining code for the old drop API
X11 and cocoa need to be ported to the new API
2026-02-08 22:05:14 +05:30
Kovid Goyal
f3cda7e828 Have mimes_count be always accurate 2026-02-08 22:05:14 +05:30
Kovid Goyal
3cf24afdc0 Refactor drop API and implement it on Wayland 2026-02-08 22:05:14 +05:30
Kovid Goyal
9aab18d724 DRYer 2026-02-07 23:11:42 +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
Kovid Goyal
07a9f2bcaa API to start a drag 2026-02-07 13:50:16 +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
b66f8e9ed8 ... 2026-02-05 20:20:18 +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
Kovid Goyal
bc5c349d53 Linux: Rather than crashing on systems that give us broken keymaps just ignore key events 2026-01-30 19:00:46 +05:30
Kovid Goyal
d0249c1e72 Cleanup X11 momentum-scroll
Dont cancel on the synthetic key events x11 generates for scrolling.
Also use correct timestamp for duration and expiry of physical events.
2026-01-26 12:40:42 +05:30
copilot-swe-agent[bot]
027b73db64 Add momentum scrolling for X11 backend
Fixes #9421
2026-01-26 11:51:57 +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
0d0ee5474d Cleanup previous PR 2026-01-15 19:26:27 +05:30
copilot-swe-agent[bot]
6436cda482 Add is_finger_based field to XIScrollDevice with detection logic
Fixes #9385
2026-01-15 19:18:27 +05:30
Kovid Goyal
9ef934cf54 Wayland: Remove usage of the Wayland color management protocol to inform compositors of the color space used by kitty
As is typical with Wayland, the protocol is poorly designed and
implemented even worse. Hyprland 0.53 has completely broken color
management.
https://github.com/hyprwm/Hyprland/discussions/12788
In addition it and mangowc crash when using color management with nouveau drivers.
https://github.com/kovidgoyal/kitty/issues/9030

KDE kwin does not support the sRGB transfer function. And the geniuses
at Wayland are any way planning to deprecate sRGB as a transfer function.

Only GNOME mutter seems to get it right.

Then there are people that are likely going to shoehorn this into EGL
instead of leaving it under application control via the protocol anyway.
https://github.com/KhronosGroup/EGL-Registry/issues/197

Sigh. Wayland.
2026-01-15 09:53:09 +05:30
Kovid Goyal
c389f4d5b8 Wayland: Fix doubled key repeat events when compositor sends repeat events
Fixes #9374
2026-01-15 08:13:37 +05:30
Kovid Goyal
da170555fa Ignore master pointer device events since we use the slave devices 2026-01-11 12:57:56 +05:30
Kovid Goyal
1efded85bc Support for old compilers 2026-01-11 11:02:14 +05:30
Kovid Goyal
69a25691c5 X11: Fix mouse motion events not being handled
The code to use XI_Motion for scroll events needed to handle motion
events too
2026-01-11 10:44:47 +05:30
copilot-swe-agent[bot]
bfc21fc7a4 X11: handle XI device hotplugging
Fixes #9370
2026-01-10 09:00:37 +05:30
Kovid Goyal
813c560e29 Implement proper scroll event type detection in X11
Uses libinput scroll mode property to detect high res devices.
2026-01-10 08:38:45 +05:30
Kovid Goyal
15206eda0b Add XIGetQuery 2026-01-10 06:17:53 +05:30
Kovid Goyal
f8426d529c ... 2026-01-10 05:51:59 +05:30