Commit graph

1536 commits

Author SHA1 Message Date
Kovid Goyal
69800d89c0
... 2026-05-15 13:31:22 +05:30
Kovid Goyal
320bd90ebb
macOS: Pass drop intent to OS 2026-05-15 12:58:53 +05:30
Kovid Goyal
35cd3d37f2
Fix dnd from remote to finder on macOS 2026-05-15 10:00:38 +05:30
Kovid Goyal
2a903c724c
Fix missing Block_copy 2026-05-15 08:22:30 +05:30
copilot-swe-agent[bot]
d3b12031bd
replace C11 atomics with dispatch_group_t to fix undeclared identifier errors
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/2f0107b0-a6e4-447c-8178-60d65038df4b

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-14 11:38:44 +00:00
copilot-swe-agent[bot]
983185cc62
use atomic counter and url.absoluteString in file-promise uri-list implementation
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/c28b23d9-b2b8-42d8-914c-85a253d34b12

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-14 11:16:44 +00:00
copilot-swe-agent[bot]
71dbfcd7ff
implement TODO: receive file promises into temp dir for text/uri-list DnD on macOS
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/c28b23d9-b2b8-42d8-914c-85a253d34b12

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-14 11:12:51 +00:00
Kovid Goyal
e9b41513d4
... 2026-05-14 16:32:35 +05:30
Kovid Goyal
1ff9165335
Store uri-list items as promises correctly 2026-05-14 16:25:29 +05:30
Kovid Goyal
61ea2b4a38
... 2026-05-14 15:27:26 +05:30
Kovid Goyal
307717213b
Set the correct filename for uri-list items 2026-05-14 14:42:52 +05:30
Kovid Goyal
7b30364bfd
Allow setting filename for file promise provider 2026-05-14 14:37:11 +05:30
Kovid Goyal
938c3956bd
... 2026-05-14 14:03:44 +05:30
Kovid Goyal
a061e0782e
Fix is_remote_client not being passed along 2026-05-14 13:48:18 +05:30
Kovid Goyal
d44a11a4a8
... 2026-05-14 13:28:44 +05:30
copilot-swe-agent[bot]
344fa2bc5f
Extract update_drop_source_actions helper in cocoa backend to avoid duplication
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/91dbd1d2-ae9d-4816-b710-7d6f3147cda6

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-14 05:49:20 +00:00
copilot-swe-agent[bot]
077f402bee
Implement source_actions for X11 and cocoa DnD backends
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/91dbd1d2-ae9d-4816-b710-7d6f3147cda6

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-14 05:46:21 +00:00
Kovid Goyal
6d4371f596
Properly pass source actions to drop events
Implemented for Wayland. Needs implementation for X11 and macOS
2026-05-14 11:07:52 +05:30
Kovid Goyal
5eee2c54ce
Bloody Apple native apps refuse to accept drops if a private MIME type is present. Sigh. Back to the drawing board. 2026-05-14 08:25:58 +05:30
Kovid Goyal
f2c79ed7c7
Add debug logging for NSDraggingSession 2026-05-14 08:16:03 +05:30
Kovid Goyal
c2a7225657
Ensure drag finish timer doesnt fire will waiting for remote item data 2026-05-13 10:59:44 +05:30
copilot-swe-agent[bot]
217a01cfdf
Implement promised_data_ready() in glfw/cocoa_window.m
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/38f75cd7-b61b-42b4-9d28-9a40459a9536

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-13 03:03:47 +00:00
Kovid Goyal
c909809bb4
More work on DnD kitten 2026-05-13 08:25:14 +05:30
Kovid Goyal
b28712bfae
More work on the DnD kitten 2026-05-13 07:17:06 +05:30
Kovid Goyal
824b46507c
Keep text/uri-list as private MIME for kitty to kitty DnD 2026-05-12 13:20:35 +05:30
Kovid Goyal
e4eb85216d
Cleanup previous PR 2026-05-08 21:24:38 +05:30
copilot-swe-agent[bot]
e99a6c686b
Add DRAG_FINISH_TIMEOUT_SECONDS named constant for the 2-second timeout
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/5f783d91-e095-4f98-9d13-9d6359889ea2

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-08 15:29:11 +00:00
copilot-swe-agent[bot]
2b4c51707f
Fix GLFW_DRAG_FINSHED never firing after GLFW_DRAG_DROPPED on macOS
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/5f783d91-e095-4f98-9d13-9d6359889ea2

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-08 15:27:36 +00:00
Kovid Goyal
46c83298e3
dnd kitten: get local -> finder working 2026-05-08 20:34:30 +05:30
Kovid Goyal
9e8bd7207b
Track remote client on drag source items 2026-05-08 16:54:20 +05:30
copilot-swe-agent[bot]
6f5ac9f342
Fix macOS drag MOVE events: check mimes_count not drag_accepted in draggingUpdated
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/c5e95934-f4e3-4ba9-8b12-5240a853fd3a

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-06 10:33:13 +00:00
Kovid Goyal
3896846b63
Fix self drops on macOS 2026-05-05 12:42:09 +05:30
Kovid Goyal
021377c1b6
Yet another workaround for Wayland's awful design 2026-05-04 22:53:05 +05:30
Kovid Goyal
6b9d449b0d
Fix #9904 2026-04-22 07:43:57 +05:30
Owen Mead-Robins
44d530f82e Fix bug #9215 cmd+` now cycles windows properly on MacOS Tahoe 2026-04-21 11:52:12 -07:00
zhaolei
b16221a1d3 macos: explicitly enable modern window corners on macOS 26
Use an explicit runtime check to apply the newer corner styling on macOS 26 while leaving behavior unchanged on older macOS versions for compatibility.

Also add the required QuartzCore framework for linking the corner curve API.
2026-04-18 20:41:38 +08:00
Kovid Goyal
4076c43783
Report missing pointer-gestures protocol 2026-04-14 09:44:48 +05:30
Kovid Goyal
95593ef008
Wayland: Allow holding momentum scroll by putting two finger on touchpad. Fixes #9863 2026-04-14 09:39:57 +05:30
Petar Dobrev
a4170d4b59 Added macos_fullscreen_ignore_safe_area_insets option 2026-04-09 10:27:01 +03:00
Kovid Goyal
1c4097edde
Remove unnecessary event pump when attaching top level drag surface 2026-04-07 17:25:18 +05:30
Kovid Goyal
837f55fe21
... 2026-04-07 13:47:47 +05:30
copilot-swe-agent[bot]
a90b8470ac
Fix drag icon not visible under GNOME Wayland
Fixes #9823
2026-04-07 13:31:04 +05:30
Kovid Goyal
cd3860817b
... 2026-04-07 11:47:58 +05:30
Kovid Goyal
9fbb079ad6
Add logging for DnD events on Wayland 2026-04-07 11:32:12 +05:30
Kovid Goyal
dc55052f0c
Wayland: set drop accepted operations 2026-04-07 10:40:14 +05:30
z3rco
b39f88c6a2 Fix multiple security vulnerabilities across C, Python, and Go code
Timing-safe comparisons:
- crypto.c: Replace memcmp with CRYPTO_memcmp for Secret equality,
  require equal lengths before comparing
- remote_control.py: Constant-time password lookup to avoid leaking
  valid passwords via dict hash timing
- file_transmission.py: Use hmac.compare_digest for bypass token
  comparison instead of ==

Memory safety:
- child-monitor.c: Fix inverted condition in write_to_peer that
  prevented memmove from ever executing on partial writes
- ibus_glfw.c: Null-terminate IBUS_ADDRESS copy to prevent string
  overread when strlen >= PATH_MAX
- x11_window.c: Add NULL checks after realloc in clipboard/DnD
  data handling (two sites)
- dnd.c: Cap accepted_mimes at 1MB to prevent unbounded growth,
  fix realloc to not lose the original pointer on failure
- png-reader.c: Cast to size_t before multiplication to prevent
  integer overflow on 32-bit platforms

Secrets hygiene:
- disk-cache.c: Zero encryption_key with explicit_bzero before free

Tar extraction hardening:
- tar.go: Validate hardlink targets against destination prefix to
  prevent writing outside extraction directory
- tar.go: Strip setuid/setgid/sticky bits from extracted files

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 16:10:46 +01:00
copilot-swe-agent[bot]
2f33460864
Add operations==-3 cancel drag support to glfwStartDrag
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/eff7e2c8-ab7a-4967-95b5-e65631245701

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-02 07:14:36 +00:00
Kovid Goyal
9721346387
XWayland: Fix a regression where some wheel mice were not scrolling properly
We assume increment == 1 and delta * 120 == integer means we have
V120 events in units of 1/120.

Fixes #9770
2026-03-29 14:43:48 +05:30
Kovid Goyal
9e79d3be9c
Merge branch 'feat-draggable-window-title-bars' of https://github.com/mcrmck/kitty 2026-03-28 10:02:14 +05:30
copilot-swe-agent[bot]
efe319f755
Send synthetic left button release after drag ends to fix stale mouse state
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/e3cf07a9-b3c0-4786-b264-a83b85f098ac
2026-03-26 14:16:44 +00:00