18306 Commits

Author SHA1 Message Date
Kovid Goyal
fb5255b1ae version 0.47.1 v0.47.1 2026-05-28 09:51:42 +05:30
Kovid Goyal
51261c9fba ... 2026-05-28 09:13:16 +05:30
Kovid Goyal
99248ea629 Update changelog
Fixes #10082
2026-05-28 07:43:44 +05:30
Kovid Goyal
db8938fc9f Merge branch 'copilot/fix-10082' of https://github.com/kovidgoyal/kitty 2026-05-28 07:42:31 +05:30
copilot-swe-agent[bot]
0146b02aaf Fix #10082: Re-apply _NET_WM_STATE for X11 layer shell windows on each show
Some window managers (e.g. kwin_x11) clear _NET_WM_STATE when a window
is unmapped/withdrawn. This caused layer shell windows to lose states like
_NET_WM_STATE_ABOVE, _NET_WM_STATE_SKIP_TASKBAR, etc. when hidden and
re-shown via toggle. The result was inconsistent behaviour between the
first show and subsequent shows.

Fix by calling update_wm_hints() before XMapWindow in
_glfwPlatformShowWindow() for layer shell windows, which re-applies all
WM state properties (_NET_WM_STATE, window type, strut, size hints)
before each map operation.
2026-05-28 02:07:59 +00:00
Kovid Goyal
2c48b7409b List what software supports the DnD protocol 2026-05-28 07:27:24 +05:30
Kovid Goyal
3fc5bed364 Merge branch 'decst8c' of https://github.com/aymanbagabas/kitty 2026-05-27 08:38:45 +05:30
Kovid Goyal
c7622683c8 Cleanup previous PR 2026-05-27 08:31:41 +05:30
Kovid Goyal
1c69bc5c99 Merge branch 'tab-resize-reset' of https://github.com/aymanbagabas/kitty 2026-05-27 08:30:58 +05:30
Ayman Bagabas
c68a1654d3 feat(vt): add support for DECST8C escape sequence
Recognize CSI ? 5 W as DECST8C, which resets the active screen's tab
stops to the default of every 8 columns. Other CSI W variants continue
to produce a parse error.

Signed-off-by: Ayman Bagabas <aymanbagabas@gmail.com>
2026-05-26 21:12:27 -04:00
Ayman Bagabas
3138ae4aad fix(screen): preserve tab stops across window resizes
Previously, every window resize reinitialised the tab stops to the
default of every 8 columns, discarding any stops set via HTS or cleared
via TBC. ECMA-48 only treats RIS, DECSTR, and DECCOLM as events that
reset tab stops, and other terminal emulators all preserve user-set
stops across an interactive resize.

Copy the surviving prefix of the previous tab stops into the freshly
allocated array on both main and alt screens. Newly added columns when
growing the window keep the default every 8 columns pattern. Also point
the active tabstops pointer at the alt screen's array when a resize
happens while the alt screen is active, instead of unconditionally
resetting it to the main screen's array.

Signed-off-by: Ayman Bagabas <aymanbagabas@gmail.com>
2026-05-26 21:12:27 -04:00
Kovid Goyal
e257e5695f Fix focus change on drag with focus_follows_mouse not working 2026-05-27 05:31:25 +05:30
Kovid Goyal
173535736a Allow non UI/client drags from programs that disallow move on drag 2026-05-26 21:56:35 +05:30
Kovid Goyal
2096948cbc Wayland: Only use key repeat events from server is repeat rate == 0
Fixes #10070
2026-05-26 08:31:52 +05:30
Kovid Goyal
a20ea1b96a Merge branch 'dependabot/github_actions/actions-bcb0c4251a' of https://github.com/kovidgoyal/kitty 2026-05-25 11:00:30 +05:30
Kovid Goyal
ca80b376b0 Merge branch 'dependabot/go_modules/all-go-deps-4e9911e4e5' of https://github.com/kovidgoyal/kitty 2026-05-25 11:00:09 +05:30
dependabot[bot]
b2948a5018 Bump github/codeql-action from 4.35.4 to 4.35.5 in the actions group
Bumps the actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 4.35.4 to 4.35.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.35.4...v4.35.5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 04:19:17 +00:00
dependabot[bot]
afaa7053a5 Bump github.com/nwaples/rardecode/v2 in the all-go-deps group
Bumps the all-go-deps group with 1 update: [github.com/nwaples/rardecode/v2](https://github.com/nwaples/rardecode).


Updates `github.com/nwaples/rardecode/v2` from 2.2.2 to 2.2.3
- [Commits](https://github.com/nwaples/rardecode/compare/v2.2.2...v2.2.3)

---
updated-dependencies:
- dependency-name: github.com/nwaples/rardecode/v2
  dependency-version: 2.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 04:14:21 +00:00
Kovid Goyal
f2df2394ce Fix conf watcher kitten not tracking changes to symlink targets 2026-05-24 09:54:01 +05:30
Kovid Goyal
dd136ba806 ... 2026-05-24 09:12:43 +05:30
Kovid Goyal
2d9b104134 Fix #10058 2026-05-22 21:38:00 +05:30
Kovid Goyal
2dcbb392dc Merge branch 'add-orbiton-to-documentation' of https://github.com/xyproto/kitty 2026-05-22 17:13:56 +05:30
Alexander F. Rødseth
8f87080cbb Add the Orbiton text editor to the documentation 2026-05-22 12:42:36 +02:00
Kovid Goyal
a17b2df580 Fix #10054 2026-05-22 07:57:41 +05:30
Kovid Goyal
270c553af6 When background_image glob does not match anything use the literal path for backwards compat 2026-05-20 20:37:23 +05:30
Kovid Goyal
bfc4947cac Bump dependency for CVE 2026-05-20 20:32:08 +05:30
Kovid Goyal
fbbac6de38 Fix #10044 2026-05-20 20:13:09 +05:30
Kovid Goyal
8bc6389f3d Technically copy_or_noop should be passed through event when there is no active window, although it will do nothing in that case anyway 2026-05-20 12:08:31 +05:30
Kovid Goyal
5ed2c0cfd9 Make mypy happy 2026-05-20 12:07:09 +05:30
Kovid Goyal
13fc98d7ec Update changelog
Fixes #10040
2026-05-20 11:58:57 +05:30
Kovid Goyal
8651d8b5c4 Merge branch 'fix/copy-or-noop-passthrough' of https://github.com/M-Hassan-Raza/kitty 2026-05-20 11:58:01 +05:30
Hassan Raza
f413f528af Preserve copy_or_noop passthrough 2026-05-20 11:15:49 +05:00
Kovid Goyal
8243a3d3b8 Merge branch 'fix/ssh-login-shell-argv' of https://github.com/M-Hassan-Raza/kitty 2026-05-20 08:15:24 +05:30
Hassan Raza
d77c94e3aa Avoid shell quoting in ssh login fallback 2026-05-19 23:14:08 +05:00
Kovid Goyal
8eb76cd315 Fix #10037 2026-05-19 21:11:55 +05:30
Kovid Goyal
1011bb0459 Merge branch 'fix/ssh-copy-archive-safety' of https://github.com/M-Hassan-Raza/kitty 2026-05-19 19:02:47 +05:30
Hassan Raza
c0db371afe Quote ssh bootstrap symlink moves 2026-05-19 16:54:02 +05:00
Kovid Goyal
cf5c180a01 Merge branch 'clear-font-caches-on-reload' of https://github.com/zzhaolei/kitty 2026-05-19 11:55:45 +05:30
Kovid Goyal
eadec09d49 version 0.47.0 v0.47.0 2026-05-19 11:22:14 +05:30
zhaolei
a76bb0829b Clear font caches on config reload so newly installed fonts are picked up without restart 2026-05-19 13:51:53 +08:00
Kovid Goyal
4cef90d4c7 Merge branch 'fix-ssh-cmd-mutation' of https://github.com/cwelsys/kitty 2026-05-19 08:45:09 +05:30
Connor Welsh
d50d1bba65 ssh kitten: avoid in-place mutation of cmd by slices.Insert
slices.Insert(cmd, 1, "-O", "check") writes into cmd's backing array
when there is spare capacity (cap(cmd) >= len(cmd)+2). check_cmd points
at the shifted array, but cmd's slice header is unchanged: reading
cmd[:insertion_point] later returns "-O", "check", ... where the
original prefix used to be. run_control_master, forward_remote_control,
and the final ssh exec all build their argvs from this corrupted prefix.

Repro: share_connections=yes, forward_remote_control=yes, and enough
ssh_args to push cmd past Go's slice-growth threshold (kitten ssh -v
host does it). With the ControlMaster already up you'll see
"Multiplexing command already specified"; otherwise it fails with
"Failed to start SSH ControlMaster" and a stray -O check left in the
cmdline.
2026-05-18 23:08:33 -04:00
Kovid Goyal
656af81cfb ... 2026-05-19 08:06:39 +05:30
Kovid Goyal
01c1f7df7e Merge branch 'copilot/remove-duplicates-mimetypes' of https://github.com/kovidgoyal/kitty 2026-05-19 07:48:14 +05:30
copilot-swe-agent[bot]
9ef08fd865 glfw/input.c: fix dedup to swap duplicates to end instead of overwriting pointers
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/071dfd57-73e7-4daa-8d35-955bec8b1c4b

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-19 02:12:29 +00:00
copilot-swe-agent[bot]
1aaae286a8 glfw/input.c: remove duplicate mimetypes in _glfwInputDropEvent using verstable
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/2d7a111f-7d98-4cb0-b085-823736cbf5db

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-19 02:00:12 +00:00
Kovid Goyal
8c6e77b800 Merge branch 'copilot/refactor-dnd-kitten-tracking' of https://github.com/kovidgoyal/kitty 2026-05-18 14:19:11 +05:30
copilot-swe-agent[bot]
858c453ae9 Simplify message formatting in render.go
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/84513fee-68de-4504-b41b-e8643e0ea585

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-18 08:46:34 +00:00
copilot-swe-agent[bot]
7af3f4ee83 Refactor dnd kitten: track num_dropped_files instead of data_has_been_dropped
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/84513fee-68de-4504-b41b-e8643e0ea585

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-05-18 08:44:07 +00:00
Kovid Goyal
6da5bae945 Cleanup previous PR 2026-05-18 13:55:48 +05:30