Commit graph

446 commits

Author SHA1 Message Date
Matthias Urlichs
8335b340c9 Fix bash integration when 'set -o nounset' is in effect
If the user's bash profile contains 'set -u' / 'set -o nounset'
(to protect against typos in variable names; think "rm -Rf $TMp/*"),
starting a new kitty terminal resulted in a
    bash: sourced: unbound variable
message. Also, the error disabled kitty's shell integration.

This PR fixes/supersedes bba4ce22, which was based on an incorrect
assumption.
2025-09-15 10:40:36 +02:00
Matthias Urlichs
bba4ce2286 Don't complain about unset 'sourced'
If the user's bash profile contains 'set -u' (to protect against typos
in variable names; think "rm -Rf $TMp/*"), starting a new kitty terminal
resulted in a spurious `bash: sourced: unbound variable` message.
2025-09-13 11:51:51 +02:00
Kovid Goyal
1460a69ae9
unset KITTY_SI_RUN_COMMAND_AT_STARTUP when running the command 2025-08-19 09:57:51 +05:30
Kovid Goyal
4d6672a67c
fish shell integration: run startup command before shell line editor is initialized as it changes terminal state 2025-08-19 09:38:56 +05:30
Kovid Goyal
fc142ff7eb
set window title when running startup command in fish as well 2025-08-19 09:31:45 +05:30
Kovid Goyal
b38b38d17d
Do the same for bash and also sanitize control chars in zsh 2025-08-19 09:23:48 +05:30
Kovid Goyal
54ad4fc63b
zsh shell integration: run startup command before any prompt/exec marking is done and set window title to the command being run 2025-08-19 09:14:46 +05:30
Kovid Goyal
337cbf1435
Add an env var that can be used to eval an expression at startup of shell
This will come in handy to implement serialization as session
with running of current foreground command.
2025-08-16 11:58:30 +05:30
Jacob Komissar
9549618bc9 Escape user input in zsh integration's _ksi_preexec
Also fix a bug in one of the test assertions to make the test work.
2025-06-23 18:44:52 -04:00
Kovid Goyal
85ba68b59c
ssh kitten: When using python interpreter fix symlinks with absolute paths not working with the copy command 2025-02-09 11:12:47 +05:30
Kovid Goyal
ac4bb282ee
... 2025-01-06 11:04:31 +05:30
Kovid Goyal
da3bb0a4cb
Use truncated hostnames in zsh integration window title 2025-01-06 08:15:23 +05:30
Kovid Goyal
48d5c90bb8
Follow @romkatv suggestion for hostname in title
Thanks, @romkatv
2025-01-05 12:39:19 +05:30
Jonas Drotleff
bfbf22eae4
ssh kitten: Fix zsh shell integration expanding variables in title
Remove usage of the `-P` option from the print inside the
`_ksi_precmd` and `_ksi_preexec` functions. Instead, the result of
`builtin print -Pn "%m"` is stored in the local variable `hostname`.
This mitigates accidental expansion of variables in the command to be
executed.

Fixes #8193.
2025-01-05 02:21:09 +01:00
Kovid Goyal
9d027e4fbd
ssh kitten: Fix kitten not being on PATH when sshing into Debian systems
Fixes #7160
2025-01-02 19:46:50 +05:30
Kovid Goyal
4575dc6b70
Fix #7724 2024-08-16 18:50:40 +05:30
Kovid Goyal
2be91d73dd
Move the query_terminal implementation to Go 2024-06-24 07:54:14 +05:30
Kovid Goyal
ecc44dffeb
Fix #7535
I think
2024-06-13 12:26:54 +05:30
Kovid Goyal
4f26bada31
Fix typo in bash integration script caught by the test 2024-05-09 12:39:03 +05:30
Kovid Goyal
eb1d418358
Merge branch 'master' of https://github.com/its-izhar/kitty 2024-05-09 12:33:49 +05:30
Izhar Ameer Shaikh
483dd30e18 shell-integration/ssh: Support arch=arm64, for MacOS
On some Macs (e.g. M1, 2020), `uname` returns 'Darwin' and `uname -m`
retuns 'arm64', this case is not handled in shell-integration. As a
result, ssh kitten transfer fails with:

>> Unknown CPU architecture arm64

Fix this by adding the case for arch=arm64 in kitten and kitty
shell-integration scripts.

Tested this on Mac Pro (M1, 2020).
2024-05-08 23:44:35 -07:00
Kovid Goyal
219e53826b
More efficient encoding for cmdline in the prompt marking escape code 2024-05-09 12:03:02 +05:30
Kovid Goyal
0d68a21be5
notify_on_cmd_finish: Show the actual command that was finished
Fixes #7420
2024-05-09 09:49:26 +05:30
goodactive
6ae24a8c8d chore: remove repetitive words
Signed-off-by: goodactive <goodactive@qq.com>
2024-04-19 18:29:06 +08:00
Kovid Goyal
38daac868a
Only run bind --function-names once 2024-04-07 15:15:38 +05:30
Johannes Altmanninger
8951581815 fish integration: drop redundant OSC 133 markers in upcoming fish 3.8
The upcoming fish 3.8 release will output OSC 133 sequences
unconditionally [1].

I tested ctrl-shift-{g,x,z} bindings both without and with kitty's
shell integration on top; everything seems to work.

Let's simplify kitty integration by removing the markers for the
upcoming fish >= 3.8.

I have hopes that the native OSC 133 implementation address #7200
though I'm not sure if I could reproduce this bug (I only saw a
similar bug when `fish_handle_reflow` was not enabled, which fish
also does now (same commit)).
cc @iacore let me know if you can reproduce #7200 with latest fish master.

[1]: 3b9e3e251b
2024-04-06 22:47:13 +02:00
Kovid Goyal
676c426e87
Use 1 rather than 0 as the keycode for the special mouse click key in fish
zero is used for key events from the wayland text input system that have
only text and no associated key
2024-04-05 13:01:58 +05:30
Kovid Goyal
94a612c4df
fish shell integration: Cleanup detection and binding of passive cursor movement functions
https://github.com/fish-shell/fish-shell/issues/10397#issuecomment-2028585536
Thanks @krobelus
2024-03-31 13:22:31 +05:30
Kovid Goyal
5548b1aa21
... 2024-03-31 12:02:55 +05:30
Kovid Goyal
775b7c4758
fish shell integration: Fix clicking at the prompt causing autosuggestions to be accepted, needs fish >= 3.8.0
Fixes #7168
2024-03-31 11:57:53 +05:30
Koichi Murase
af84161528 Fix Bash integration removing existing elements of PROMPT_COMMAND 2024-02-09 20:50:30 +09:00
Kovid Goyal
7b6c532ac2
... 2024-01-21 15:34:06 +05:30
Kovid Goyal
ef9dada80d
Failure to change to cwd should not be fatal in bootstrap.py to match bootstrap.sh 2023-11-20 19:35:41 +05:30
ash
b3c5b1185c Improve resilience of shell integration for sudo in fish
Running `sudo --version` will now not error out.
2023-11-17 00:24:40 +00:00
Kovid Goyal
4c56e76840
Fix #6812 2023-11-11 20:00:46 +05:30
Kovid Goyal
bd5fcb00e0
Fix regression that broke quick exit from ssh kitten 2023-11-06 21:22:41 +05:30
Kovid Goyal
2aa37de6ff
Only alias sudo if no systemwide terminfo db for xterm-kitty is found 2023-11-03 12:30:29 +05:30
Kovid Goyal
a04d19df4a
... 2023-10-31 17:59:08 +05:30
Kovid Goyal
7e1580ef09
fish integration: Dont clobber user defined sudo function 2023-10-31 16:49:31 +05:30
Kovid Goyal
be3b8fcfb7
Also use a function for sudo in fish to avoid the --edit issue 2023-10-31 16:27:21 +05:30
Kovid Goyal
9d5bb3b2f2
bash integration: Also make sudo a function
There is less need in bash since its sudo completion is not as buggy,
but it does fix the sudo --edit issue
2023-10-31 15:53:45 +05:30
Kovid Goyal
492ec3dfbf
zsh integration: Use a function for sudo
This fixes sudo --edit and works around the zsh sudo completions bug:
https://www.zsh.org/mla/workers/2023/msg00983.html
2023-10-31 12:24:35 +05:30
Kovid Goyal
309a6e9319
... 2023-10-31 11:50:34 +05:30
Kovid Goyal
4d230f5035
Fix #6695 2023-10-10 09:38:52 +05:30
Kovid Goyal
fd12c5a1e0
Dont assume /dev/stderr exists
Fixes #6671
2023-10-04 06:26:56 +05:30
Elan Ruusamäe
706cde84ae
kitten: Add armv7l alias to arm
Fix Unknown CPU architecture armv7l
2023-10-03 18:26:11 +03:00
Kovid Goyal
1aaaa3f1e9
Fix incorrect exception when tic fails 2023-09-30 07:53:13 +05:30
Kovid Goyal
d96fdb80ed
Shell integration now aliases sudo to make the kitty terminfo db available in the sudo environment
This should make terminfo completely transparent for most users on the
local machine and on remote machines that are connected to with the ssh
kitten.
2023-09-24 13:35:29 +05:30
Kovid Goyal
7cec9016d3
Start work on porting the transfer kitten to Go 2023-07-30 19:49:37 +05:30
Kovid Goyal
da8330253a
Dont use exist_ok in the bootstrap script as it might be run with python2 where it doesnt exist 2023-07-12 12:05:07 +05:30