Kovid Goyal
75942fb47e
Implement edit-in-kitty for fish
2022-05-28 11:12:11 +05:30
Kovid Goyal
e82c5a63b5
Avoid unnecessary use of cat
2022-05-27 14:18:16 +05:30
Kovid Goyal
83602d7e53
Make chunked transmit code re-useable in fish integration script
2022-05-27 13:21:26 +05:30
Kovid Goyal
83ce23ff9f
Use zsh's builtin stat instead of relying on the stat command
2022-05-27 12:50:52 +05:30
Kovid Goyal
c5e5ec618d
Also trap SIGTERM to cleanup
2022-05-27 12:39:22 +05:30
Kovid Goyal
bd84ec03ce
Implement edit-in-kitty for bash
2022-05-27 12:38:26 +05:30
Kovid Goyal
d71f18566e
forgot to declare data local
2022-05-27 12:29:11 +05:30
Kovid Goyal
f5695ac4f4
Increase edit file size limit to 8MB
2022-05-27 10:45:36 +05:30
Kovid Goyal
e6844ad6f2
ssh kitten: Run bash as a login shell
...
This fell through the cracks in the rewrite for automatic shell
integration. Fixes #5130
2022-05-26 21:24:32 +05:30
Kovid Goyal
02d5b3eafa
Fix shebang
2022-05-26 21:21:36 +05:30
Kovid Goyal
117d1b02be
Start work on edit-in-kitty
2022-05-26 21:16:42 +05:30
Kovid Goyal
4ca70bfa26
...
2022-05-04 13:21:17 +05:30
Kovid Goyal
08b2ce444f
Also dont apply umask when extracting bootstrap data
2022-04-28 17:28:40 +05:30
Kovid Goyal
289028b468
Prevent umask from interfering with tar file extraction
...
Fixes #5025
2022-04-28 17:21:34 +05:30
Kovid Goyal
37cdaea9ed
Also save command history before cloning in bash
2022-04-22 23:40:59 +05:30
Kovid Goyal
6bbaf5f1cf
zsh cloning: save history so that it is up-to-date in cloned shell
2022-04-22 23:34:34 +05:30
pagedown
b94afbba13
...
2022-04-18 14:51:15 +08:00
pagedown
19fdcec358
...
2022-04-18 11:54:14 +08:00
pagedown
45eb4a0760
clone-in-kitty: Remove duplicate PATH entries in fish implementation
2022-04-18 11:46:29 +08:00
Kovid Goyal
be0a524e23
Yet another try to get zsh to de-dup $PATH
2022-04-18 07:40:37 +05:30
Kovid Goyal
31fda568e4
typeset -U both path and PATH
2022-04-17 21:27:08 +05:30
Kovid Goyal
3efbccc850
...
2022-04-17 20:56:24 +05:30
Kovid Goyal
93c23f99cb
conda activate now works under fish so use it
2022-04-17 20:55:53 +05:30
Kovid Goyal
230a9f4678
Implement option to control clone sourcing strategies
2022-04-17 19:39:32 +05:30
Kovid Goyal
291f9e9a5e
Make cloning safer
...
Now env vars are set after shell rc files are sourced. And the clone
request cannot specify the cmdline to execute.
2022-04-17 07:49:58 +05:30
Kovid Goyal
53788c4c89
Get conda working with fish
2022-04-16 15:16:53 +05:30
Kovid Goyal
831043b773
Implement venv detection for fish
2022-04-16 14:45:02 +05:30
Kovid Goyal
1daf745d74
Add explicit support for python and conda venvs to clone-in-kitty
...
Still needs to be implemented for fish
2022-04-16 13:15:10 +05:30
Kovid Goyal
775584b5a5
Use literal quoting for env vars sent over ssh by clone
2022-04-15 14:34:21 +05:30
Kovid Goyal
e71b9091a3
Dont rely on env -0 for bash either
2022-04-15 13:33:32 +05:30
Kovid Goyal
bde468594e
ssh kitten: handle newlines in env vars
2022-04-15 12:49:35 +05:30
Kovid Goyal
4cf54d2dfb
Dont rely on env -0 in zsh
...
zsh outputs env vars in a nice one per line format using $'' encoding.
So exploit it
2022-04-15 12:17:59 +05:30
pagedown
af6b1837cb
Minor refactoring for fish clone-in-kitty and allow use without env -0
...
The builtin option from the latest version of fish is not used for now.
clone-in-kitty has been tested with fish 3.2.x.
BusyBox env does not support the -0 option.
2022-04-14 21:32:28 +08:00
Kovid Goyal
aab6f3e450
...
2022-04-14 17:28:41 +05:30
Kovid Goyal
829ed0ec0d
Fix #4964
2022-04-14 17:20:30 +05:30
Kovid Goyal
cc07b1f79d
Use 2048 chunk size in fish as well
2022-04-13 22:50:24 +05:30
Kovid Goyal
3ddea42660
...
2022-04-13 22:45:36 +05:30
Kovid Goyal
236dbd95c9
...
2022-04-13 22:34:23 +05:30
Kovid Goyal
6b078c4267
Implement clone-in-kitty for the fish shell
2022-04-13 22:33:21 +05:30
Kovid Goyal
1dec5f2e08
Help message for clone-in-kitty
2022-04-13 21:38:33 +05:30
Kovid Goyal
88d597f6b2
Dont define clone-in-kitty in POSIX mode
...
POSIX mode doesnt allow - in identifiers
2022-04-13 20:55:00 +05:30
Kovid Goyal
d0c0b01724
Get clone-in-kitty working for bash as well
2022-04-13 20:38:04 +05:30
Kovid Goyal
4b7c50518e
Fix usage of chunk_num
2022-04-13 20:16:51 +05:30
Kovid Goyal
e187110611
Use $PWD instead of pwd -P as we want the exact same cwd not the resolved one when cloning
2022-04-13 15:13:58 +05:30
Kovid Goyal
c19e69855a
Start work on a command to clone the current working env into a new kitty window
2022-04-13 15:02:22 +05:30
Kovid Goyal
7788f48dd5
Ensure IFS is correct when iterating over KITTY_SHELL_INTEGRATION
2022-04-12 23:03:05 +05:30
Kovid Goyal
d0398dca28
Bash shell integration: Fix yet another inconsistent use of SYS_BASHRC
...
Why Linux distros are constitutionally incapable of using consistent
names and values for anything is beyond me.
Fixes #4934
Fixes #4935
2022-04-07 17:54:52 +05:30
Kovid Goyal
709c4abb53
Do not do automatic upgrades of remote kitty
...
Can be disruptive, since upgrading outputs to the terminal.
Instead updating can be triggerred manually with kitty update-kitty
2022-04-04 14:51:49 +05:30
Kovid Goyal
ecb74aed29
...
2022-04-04 11:05:36 +05:30
Kovid Goyal
c72154782b
Simplify getting released kitty version
...
Also if fetching release version fails and local version exists, use it
2022-04-04 10:22:25 +05:30
Kovid Goyal
9520006466
Dont use alternate screen as it is too disruptive
2022-04-04 07:53:48 +05:30
Kovid Goyal
832534aac9
Show installation output in alternate screen
2022-04-03 22:13:02 +05:30
Kovid Goyal
6cc89416ce
Implement locking for the kitty bootstrap install
2022-04-03 21:53:23 +05:30
Kovid Goyal
b3fc2cb118
Avoid executing kitty just to read installed kitty version
2022-04-03 20:47:02 +05:30
Kovid Goyal
c07f164154
Implement an option to control the installation of the kitty bootstrap script
2022-04-03 20:30:16 +05:30
Kovid Goyal
bae9b095b4
Start work on kitty launcher for remote servers
...
This will automatically download kitty and run it. The ssh kitten
can add it to PATH thereby making kitty available on the remote machine
at low cost.
2022-04-03 15:10:20 +05:30
Kovid Goyal
efe6ff6188
Try to ensure builtin command is used
2022-04-03 12:16:13 +05:30
pagedown
32426d61c3
Shell integration: Mark fish prompt on cancel or syntax error
...
The fish_prompt event will not be fired, even if a new prompt has been
drawn.
2022-03-30 20:49:48 +08:00
Kovid Goyal
0dff455ffa
declare oldval local
2022-03-30 11:57:46 +05:30
Kovid Goyal
81739288e8
handle multiple trailing spaces and semi-colons
2022-03-30 11:54:06 +05:30
Kovid Goyal
5641668bc1
Bash integration: Handle existing PROMPT_COMMAND ending with a literal newline
2022-03-30 10:44:59 +05:30
pagedown
98369db7f5
Unset shell integration env var before exec command
2022-03-24 22:01:11 +08:00
pagedown
bc9d6892d4
Clean up login shell environment variable earlier
...
Does not pollute the environment when executing commands.
2022-03-24 22:00:51 +08:00
pagedown
5c02c370d4
ssh kitten: Allow to configure HOME environment variable
...
Useful if the user does not have a home directory or the directory is
not writable.
2022-03-24 22:00:41 +08:00
pagedown
b944cdddeb
ssh kitten: Fix python bootstrap checking zsh rc files with ZDOTDIR
2022-03-24 22:00:16 +08:00
pagedown
8569be81ea
...
2022-03-23 19:49:34 +08:00
pagedown
a765d551e4
Fix bash integration cwd reporting missing hostname
2022-03-23 19:29:18 +08:00
pagedown
901eae9604
Docs: no-cwd will not disable fish's built-in CWD reporting
2022-03-18 11:10:21 +08:00
Kovid Goyal
b444f4636e
Move another function into bootstrap-utils.sh
2022-03-16 07:37:56 +05:30
Kovid Goyal
2b8acebd6e
Make bootstrap.sh even smaller
2022-03-16 07:31:33 +05:30
Kovid Goyal
766010c292
...
2022-03-16 07:27:52 +05:30
Kovid Goyal
0a2768e496
Split up the bootstrap script to keep its size down
2022-03-16 07:17:12 +05:30
pagedown
d3472966d3
Fix generating terminfo on NetBSD
2022-03-16 09:15:31 +08:00
pagedown
6638546247
Fix generating terminfo on NetBSD
...
.terminfo.cdb is the compiled terminfo database file.
Ensure that both .terminfo (dir) and .terminfo.cdb are generated.
2022-03-16 01:04:26 +08:00
pagedown
f99edbae3c
Reduce bootstrap script size
2022-03-16 01:04:02 +08:00
pagedown
150bf1a5b0
Reduce bootstrap script length by removing comments and indents
...
dropbear has 9000 bytes limit on ssh arguments length.
2022-03-16 01:03:51 +08:00
pagedown
91a17e3f0c
Fall back to use POSIX SHELL environment variable
2022-03-16 01:03:33 +08:00
pagedown
7160027c14
Use the fish built-in function name to report current working directory
...
If the feature is enabled by fish in the future, it will override the
built-in one and there will be no duplicate reporting.
2022-03-16 01:03:26 +08:00
pagedown
736d6cf7e6
Simplify fish prompt state checking
2022-03-16 01:03:16 +08:00
Kovid Goyal
c05c0353fd
Dont report directory changes during command substitution
2022-03-15 20:34:18 +05:30
Kovid Goyal
e944e2ecae
Make a note that cwd reporting is builtin to fish
2022-03-15 20:33:14 +05:30
Kovid Goyal
47b3c37bf0
Add cwd reporting to fish integration
2022-03-15 20:25:39 +05:30
Kovid Goyal
f982e754e4
Enable CWD reporting in bash integration
2022-03-15 15:37:17 +05:30
Kovid Goyal
4a1ad7755a
Enable CWD reporting in the zsh integration
2022-03-15 14:30:21 +05:30
Kovid Goyal
2780630a18
Suppress STDERR for tar
2022-03-15 10:28:14 +05:30
Kovid Goyal
08ce8ffa54
py2 compat
2022-03-14 12:36:43 +05:30
Kovid Goyal
90561682cf
Make using kitty askpass optional
2022-03-14 11:38:31 +05:30
Kovid Goyal
71027e74e0
py2 compat
2022-03-14 11:28:46 +05:30
Kovid Goyal
2b06ca5e1a
ssh kitten: Send data without a roundtrip
...
Send data to the remote side without waiting for a data request. Avoids
an extra roundtrip during initialization.
2022-03-13 13:55:30 +05:30
Kovid Goyal
434ef97952
Dont need atexit anymore since cleanup only closes tty_fd
2022-03-13 13:55:30 +05:30
Kovid Goyal
e1504c4775
Avoid needing to initialize tty state in bootstrap scripts
2022-03-13 13:55:30 +05:30
Kovid Goyal
74f0057ec8
Dont change tty state to raw
...
Just turn off echo. Makes the code much simpler, can just use shell
builtin POSIX read function.
2022-03-13 13:55:30 +05:30
Kovid Goyal
b2e74e4830
Switch to using the hostname from the CLI for settings
...
This removes the need to wait for data from the remote machine
before sending data to it.
2022-03-13 13:55:30 +05:30
Kovid Goyal
f54a3e8036
Make requesting data optional
2022-03-13 13:55:30 +05:30
Kovid Goyal
d5c48ddb94
Allow inputting fingerprint check
2022-03-12 08:23:10 +05:30
Kovid Goyal
8613c6e1cd
...
2022-03-11 16:44:08 +05:30
Kovid Goyal
5bb6b29ca3
Allow controlling the prompt used to input the password
2022-03-11 16:44:08 +05:30
Kovid Goyal
61558d518e
Get askpass basically working
2022-03-11 16:44:08 +05:30
Kovid Goyal
3b724c8415
Start work on SSH askpass implementation
2022-03-11 16:44:08 +05:30
Kovid Goyal
910565aa7c
Mention the shell in the error message
2022-03-11 15:52:51 +05:30
pagedown
72718cbab7
Remove login shell name suffix restriction
...
Some shells do not end with sh, consistent with the python bootstrap
implementation.
2022-03-11 15:42:45 +08:00
pagedown
ea28951e0e
Fall back to run the shell without -l option
2022-03-11 15:42:34 +08:00
pagedown
39a78f6be3
Explicitly set STDOUT to binary mode
2022-03-11 15:42:23 +08:00
pagedown
fe8aaca320
Use POSIX LOGNAME environment variable
2022-03-11 15:42:09 +08:00
pagedown
f5cc58ea9d
Unset the safe source function in sh script and minor refactoring
2022-03-11 15:41:56 +08:00
Kovid Goyal
6789eb88e2
Fix replacement of symlinks to directories
2022-03-11 07:51:50 +05:30
Kovid Goyal
cac2c153c2
Fix #4809
2022-03-10 22:55:47 +05:30
Kovid Goyal
92abaad22c
Handle cross filesystem untarring in bootstrap.py
2022-03-10 22:43:54 +05:30
Kovid Goyal
f774841ee0
More robust copying of terminfo
...
Dont use symlinks in the tarball, instead create them
in the bootstrap scripts, only if needed.
2022-03-10 21:08:20 +05:30
Kovid Goyal
704717ff1d
Handle case of tty not being OK
2022-03-09 15:27:24 +05:30
Kovid Goyal
405c472d13
Cleanup previous PR
2022-03-09 14:59:08 +05:30
pagedown
4322825ac7
Add support for sh that does not support the -l login shell option
...
FreeBSD sh does not support using the -l option to run as a login shell.
2022-03-09 16:12:20 +08:00
Kovid Goyal
08bb63fa92
Ensure tdir is deleted on exit
2022-03-09 13:24:24 +05:30
pagedown
f1df7b1c1f
Use Python in preference to Perl
2022-03-08 13:59:32 +08:00
Kovid Goyal
65b9c69bd8
Use python in preference to perl
...
I know how to make python code robust, no clue about perl.
2022-03-08 11:05:02 +05:30
pagedown
0e3a11c53b
Use Perl in bootstrap.sh if available
2022-03-08 12:28:09 +08:00
pagedown
53d8d2aaad
Use the more explicit b64encode
...
Fix using ssh kitten to connect to OpenBSD.
2022-03-08 12:19:57 +08:00
Kovid Goyal
84303cbf2e
Use head -c only if available
2022-03-07 21:48:06 +05:30
Kovid Goyal
5e457da30b
Only use bz2 compression if bzip2 is available
2022-03-07 20:44:26 +05:30
Kovid Goyal
d037c0b0fc
OpenBSD compat
2022-03-07 20:14:02 +05:30
Kovid Goyal
90f5937413
Forgot to use the actual python variable
2022-03-07 19:41:18 +05:30
Kovid Goyal
cbbea37b0c
...
2022-03-07 19:37:30 +05:30
Kovid Goyal
4d74b23f20
Merge branch 'ksi-bash' of https://github.com/page-down/kitty
2022-03-07 19:26:56 +05:30
Kovid Goyal
79dd26a43a
...
2022-03-07 18:38:06 +05:30
Kovid Goyal
259e3076fa
Ensure python is searched for only once
2022-03-07 18:36:56 +05:30
Kovid Goyal
f2cb2422f0
Use python when base64 is not available
2022-03-07 18:34:02 +05:30
pagedown
4aea64261e
...
2022-03-07 20:56:02 +08:00
pagedown
cf0cd9acd9
Remove trailing semicolons
2022-03-07 20:53:35 +08:00
pagedown
b4b0bdc853
DCS @ kitty-print should be output to STDERR
2022-03-07 20:49:18 +08:00
pagedown
0b2837fcfa
Fix bash integration debug log printing
2022-03-07 20:43:14 +08:00
Kovid Goyal
f20ad7df01
Better error message when base64 is not found
2022-03-07 18:12:01 +05:30
Kovid Goyal
c9071a66ca
ssh kitten: Add an option to change the cwd at login
2022-03-07 12:24:37 +05:30
Kovid Goyal
b0ea960159
Dont use --no-same-owner when extracting tar archives
...
This flag is missing on OpenBSD and is the default on other platforms
when extracting as non-root. Make the uname/gname taringo field empty so
when extracting as root files will always be owned by root.
2022-03-07 12:10:45 +05:30
Kovid Goyal
0e7f1d60d6
Have bootstrap.sh preserve file permissions when untarring
2022-03-07 11:45:14 +05:30
Kovid Goyal
03c79502f9
Use uname -m for hostname in bootstrap.sh if needed
2022-03-07 11:24:44 +05:30
Kovid Goyal
d4d4e00f9d
Merge branch 'ksi' of https://github.com/page-down/kitty
2022-03-07 11:18:15 +05:30
Kovid Goyal
b52e5e795e
Dont use a double quote in bootstrap.py
2022-03-07 11:11:10 +05:30
Kovid Goyal
68df13d3fe
Fix recursive definitions in env vars not expanded
2022-03-07 11:07:26 +05:30
pagedown
5f3d90e411
...
2022-03-07 12:39:49 +08:00
pagedown
1b68e41db4
Remove the fish integration prompt end B prompt marking
...
Currently kitty does not use the B prompt marking.
This is consistent with the zsh and bash implementations.
Improve compatibility with most user configurations.
2022-03-07 12:12:52 +08:00
pagedown
817ac82968
Detect SSH sessions without affecting performance
...
Exclude local runs by KITTY_PID.
Check KITTY_WINDOW_ID to detect connections via ssh kitten.
Check SSH via who -m with the integration manually installed and sudo.
2022-03-07 12:00:55 +08:00
pagedown
43fd8cb13c
Unify exec function definition order
2022-03-07 11:36:52 +08:00
pagedown
397fbe7ad3
Avoid unnecessary which and fix typos
2022-03-07 11:30:12 +08:00
pagedown
3095e7a256
Remove trailing semicolons
2022-03-07 11:25:22 +08:00
pagedown
df9e893cbe
Explicitly use builtin and command
2022-03-07 11:24:18 +08:00
Kovid Goyal
2404eba11f
ssh kitten: Passthrough to ssh if run outside of kitty
...
Also, ensure that the ssh data request is only served if it is received
over the tty of the correct kitty window.
2022-03-07 06:48:18 +05:30
Kovid Goyal
795953a341
get rid of the who -m ssh session test
...
I dont like executing a binary in a fast startup script. Lets see
if there are a lot of sessions in the wild that dont use the SSH_TTY
env var
2022-03-06 15:47:08 +05:30
Kovid Goyal
00d2a8527f
Fix parsing of env vars in bootstrap.py
2022-03-06 15:05:40 +05:30
Kovid Goyal
a1ade8fc42
Dont use format strings in bootstrap.py
2022-03-06 14:47:44 +05:30
Kovid Goyal
7f9fec061a
bootstrap.py is now tested the same as bootsstrap.sh
2022-03-06 14:26:15 +05:30