Kovid Goyal
15e3e8d8b1
typo
2022-03-25 16:18:00 +05:30
pagedown
98369db7f5
Unset shell integration env var before exec command
2022-03-24 22:01:11 +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
Kovid Goyal
3c67e991c2
Allow defining actions to take when pasting
...
Fixes #4873
2022-03-24 17:22:46 +05:30
Kovid Goyal
ff80b906d0
Report full traceback when highlighting fails
2022-03-24 11:39:31 +05:30
Kovid Goyal
6b13454091
...
2022-03-24 09:50:50 +05:30
Kovid Goyal
9eae4ad913
...
2022-03-24 09:37:13 +05:30
Kovid Goyal
bfb8532c52
Jump through the hoops needed to ensure error reporting is done in case of early termination of kittens that use overlay ready notifications
2022-03-24 08:49:36 +05:30
pagedown
276ba7754a
Add ssh kitten URL test
2022-03-23 20:08:50 +08:00
pagedown
4309aa1ace
ssh kitten: Fix SSH URL hostname matching
2022-03-23 18:39:27 +08:00
Kovid Goyal
6ef83a09d3
Avoid clearing the screen when exiting a kitten as its not needed any more
2022-03-23 16:06:38 +05:30
Kovid Goyal
6dc1617429
Avoid flicker when starting kittens such as the hints kitten
...
Fixes #4674
2022-03-23 15:55:11 +05:30
Kovid Goyal
1be1864657
Allow sending more than a screenful of output from a kitten
...
Also Fixes #4866
2022-03-23 14:33:53 +05:30
pagedown
ff8a99211d
Docs: Unify and generalize the terms remote computer, machine and host
2022-03-22 23:26:15 +08:00
pagedown
efda0ea455
Docs: Categorize the ssh kitten configuration options and minor tweaks
2022-03-22 23:25:59 +08:00
pagedown
1962519666
Only write to the OpenSSH version sentinel file once
2022-03-17 22:23:48 +08:00
Kovid Goyal
0a2768e496
Split up the bootstrap script to keep its size down
2022-03-16 07:17:12 +05:30
pagedown
576ab24609
Preserve line breaks to keep the line numbers in error messages
2022-03-16 08:58:50 +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
Kovid Goyal
82de6a1c56
DRYer
2022-03-15 22:12:49 +05:30
Kovid Goyal
1fbb4f763e
Only check OpenSSH version once on a machine if it is new enough
2022-03-15 22:09:40 +05:30
Kovid Goyal
20582431d6
typo
2022-03-15 21:50:55 +05:30
Kovid Goyal
8c6e7ce61a
...
2022-03-15 20:11:27 +05:30
Kovid Goyal
04ead526b9
Presend data on slave connections since for these SSH does not use the TTY
2022-03-15 20:09:05 +05:30
Kovid Goyal
ce1e22ac95
Have *_with_cwd work with the ssh kitten to open new windows auto-logged into the remote server at the current remote working directory
2022-03-15 19:59:16 +05:30
Kovid Goyal
a216f6bd46
ssh doesnt use askpass even if DISPLAY is set
...
It only uses askpass if not connected to a terminal
2022-03-15 17:27:57 +05:30
Kovid Goyal
c47e5372b5
native askpass should be used when requested
2022-03-15 15:54:48 +05:30
Kovid Goyal
daa673eff1
Make usage of need_to_request_data clearer
2022-03-15 15:51:49 +05:30
Kovid Goyal
5099dd6aa3
Only use kitty's askpass if DISPLAY is set or OpenSSH is new enough to support SSH_ASKPASS_REQUIRE
2022-03-15 15:47:02 +05:30
Kovid Goyal
7168ceab94
Make askpass a choice var
2022-03-15 13:14:53 +05:30
Kovid Goyal
868d57b818
...
2022-03-15 12:00:17 +05:30
Kovid Goyal
6057c57ea4
Fix garbage removal pafter SSH failure not working on macOS when run more than once
2022-03-15 11:57:28 +05:30
Kovid Goyal
e8437fd435
Make reading garbage more robust
2022-03-15 11:51:46 +05:30
Kovid Goyal
9e317971b4
Simplify garbage clear logic
2022-03-15 11:41:59 +05:30
Kovid Goyal
54c5faa12d
Simplify hostname matching
...
Now that we load the opts upfront, we can have load_config return the
final opts object itself
2022-03-15 11:25:21 +05:30
Kovid Goyal
9b0bd81661
Ignore hostname directives when using overrides
2022-03-15 10:38:03 +05:30
Kovid Goyal
52da68876d
Use a zero mtime for data.sh
...
Its a temp file and that way no chance of the time being in the future
2022-03-15 10:30:15 +05:30
pagedown
8e03da855f
diff kitten: Fix wrong number of scrolling lines after context switch
2022-03-14 20:29:15 +08:00
Kovid Goyal
942881d1b7
Add a ntoe about the importance of askpass
2022-03-14 16:44:12 +05:30
Kovid Goyal
2a50203fcd
...
2022-03-14 13:44:18 +05:30
Kovid Goyal
90561682cf
Make using kitty askpass optional
2022-03-14 11:38:31 +05:30
Kovid Goyal
be8bfbe370
Refactor launch sequence in preparation for optionising it
2022-03-14 10:40:07 +05:30
Kovid Goyal
f7e4447b66
Dont transmit sensitive data unless actually needed
2022-03-13 15:43:14 +05:30
Kovid Goyal
df4e58bc39
Improve disposal of garbage data on ssh failure
2022-03-13 15:37: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
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
ea74add814
ssh kitten: Restore terminal state after running ssh
2022-03-12 15:48:52 +05:30
Kovid Goyal
ba1b3c3c2d
Fix mypy failures
2022-03-12 08:28:43 +05:30
Kovid Goyal
d5c48ddb94
Allow inputting fingerprint check
2022-03-12 08:23:10 +05:30
Mena Jacobs
c8a258f36b
Fix icat fail on mac with --print-window-size
...
passing tty as TextIOWrapper to screen_size_function results in a TypeError since the screen_size_function expects an int. calling fileno() on tty gives us the desired int. This also fixes the kitty matplotlib backend, if MPLBACEND_KITTY_SIZING is not set to manual
2022-03-12 02:17:01 +01:00
Kovid Goyal
14e0b01b40
Echo asterisks when inputting the password
2022-03-11 16:44:08 +05:30
Kovid Goyal
76de99a5a8
Use a custom askpass implementation
...
Keeps OpenSSH from using the tty hopefully allowing us to start sending
data without needing to wait for the remote side to request it.
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
pagedown
740e787f54
...
2022-03-11 17:28:29 +08:00
pagedown
bd87d50948
Remove the ssh folder in cache_dir
2022-03-11 16:47:03 +08:00
pagedown
d3c0c422a5
Add user uid suffix to tmp runtime dir symlink
2022-03-11 15:42:52 +08:00
Kovid Goyal
f080871911
Update the idiotic design symlink atomically
2022-03-11 07:54:16 +05:30
Kovid Goyal
c9ef5c0715
Avoid a race in creating the idiotic_design symlink
2022-03-11 07:37:44 +05:30
Kovid Goyal
f2d6ba8775
Workaround for socket path too long on macOS
2022-03-10 22:50:26 +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
c23e04fd03
DRYer
2022-03-10 15:37:10 +05:30
Kovid Goyal
f67009f554
Flush the write to shm explicitly
2022-03-10 15:01:58 +05:30
Kovid Goyal
31d9db7e74
Use XDG_RUNTIME_DIR to store control master sockets
...
On Linux this has the advantage that the dir is auto cleaned on reboot
2022-03-10 12:51:21 +05:30
Kovid Goyal
384c56f834
When using control masters also enable keep alives
...
Prevents the master connection from becoming stale. Use ssh protocol
keep alives rather than tcp ones as tcp ones are often blocked by
firewalls and also spoofable.
2022-03-10 11:48:36 +05:30
Kovid Goyal
920086ae88
unlink SHM file at end of each individual test
2022-03-10 10:57:36 +05:30
Kovid Goyal
4c392426f6
Get shared memory based data transfer working
2022-03-10 10:46:04 +05:30
Kovid Goyal
20962d989f
Use POSIX shm to pass ssh data to kitty
2022-03-10 06:55:21 +05:30
Kovid Goyal
aa4d36cc57
Use secrets to generate the random password
2022-03-10 06:11:58 +05:30
Kovid Goyal
8d119f06b3
Force restrictive permissions on file used to pass ssh data to kitty
2022-03-10 05:30:47 +05:30
Kovid Goyal
708c5126b9
Return the data cookie settings when generating the bootstrap script
2022-03-09 22:18:04 +05:30
Kovid Goyal
577de9f746
ssh kitten: Start work on connection sharing
...
Basic sharing works. Now investigate if we can eliminate the round-trip
latency by transmitting the data without waiting for the start message
when using a shared connection
2022-03-09 19:27:38 +05:30
Kovid Goyal
38a70f5b51
...
2022-03-09 15:31:19 +05:30
Kovid Goyal
118306a9ff
Avoid an extra process hanging around when running the interpreter on the remote machine
2022-03-09 15:29:57 +05:30
pagedown
d29fa7b382
ssh kitten: Add FreeBSD tcsh (csh) support
...
Replace line feeds and exclamation marks for tcsh compatibility.
2022-03-09 16:11:58 +08:00
Kovid Goyal
53b1607c4d
When testing ssh kitten launch the bootscrapt script the same way sshd does it
2022-03-09 11:25:02 +05:30
Kovid Goyal
2341a27f63
...
2022-03-08 23:05:42 +05:30
Kovid Goyal
0661caf9da
DRYer
2022-03-08 23:04:58 +05:30
Kovid Goyal
5b5bd77c53
ssh kitten: Fix not working when user's login shell is fish
2022-03-08 22:39:31 +05:30
Kovid Goyal
958ebb72a6
DRYer
2022-03-08 20:48:37 +05:30
Kovid Goyal
febc5c53a6
Get the python interpreter working with non-POSIX login shells
2022-03-08 20:44:29 +05:30
Kovid Goyal
6e921300e2
Let ssh concat the cli args for us
2022-03-08 19:49:25 +05:30
Kovid Goyal
5e457da30b
Only use bz2 compression if bzip2 is available
2022-03-07 20:44:26 +05:30
Kovid Goyal
855718b179
ssh kitten: match hostnames against both remote hostname and hostname used on the command line to connect to it
2022-03-07 20:32:02 +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
d4d4e00f9d
Merge branch 'ksi' of https://github.com/page-down/kitty
2022-03-07 11:18:15 +05:30
Kovid Goyal
68df13d3fe
Fix recursive definitions in env vars not expanded
2022-03-07 11:07:26 +05:30
pagedown
397fbe7ad3
Avoid unnecessary which and fix typos
2022-03-07 11:30:12 +08:00
Kovid Goyal
6ff69c88df
...
2022-03-07 06:58:14 +05:30
Kovid Goyal
6e4d3c98da
Ensure pw file is cleaned up on kitten exit
...
This way it is cleaned up even if ssh fails
2022-03-07 06:54:11 +05:30
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
7f9fec061a
bootstrap.py is now tested the same as bootsstrap.sh
2022-03-06 14:26:15 +05:30
Kovid Goyal
c713dc0ca8
Allow using a --kitten argument with the ssh kitten to make it easier to override settings from ssh.conf
2022-03-06 10:07:46 +05:30
Kovid Goyal
31ea5d74a7
Exclude junk directories when adding user files as well
2022-03-06 10:00:02 +05:30
Kovid Goyal
31b01d42c0
use inherited instead of inherit
2022-03-06 09:54:33 +05:30
Kovid Goyal
675411df85
Start work on python bootstrap
2022-03-05 15:43:55 +05:30
Kovid Goyal
ffa79d731c
Allow configuring the ssh kitten via env vars
2022-03-05 12:29:55 +05:30
Kovid Goyal
01dd0416ac
Add an option to control the login shell
2022-03-05 11:16:15 +05:30
Kovid Goyal
0bd1676978
Some cleanup
2022-03-05 10:58:42 +05:30
Kovid Goyal
f3407959a6
Start work on python bootstrap script
2022-03-05 10:54:21 +05:30
Kovid Goyal
e797ba4800
Allow matching on hostname and username
2022-03-04 12:42:31 +05:30
Kovid Goyal
fe27ee2d79
Allow configuring the interpreter to use on the remote host
2022-03-04 12:18:27 +05:30
Kovid Goyal
e0c984046c
EXEC_CMD must come after login_shell detection since it can use login_shell
2022-03-04 10:00:12 +05:30
Kovid Goyal
64d6337612
...
2022-03-04 09:54:17 +05:30
Kovid Goyal
499b30d175
Allow specifying multiple matching hostnames
2022-03-04 07:23:35 +05:30
Kovid Goyal
ef9adc92c8
Note on how to use include for DRYer config
2022-03-04 07:13:56 +05:30
Kovid Goyal
f1ce8c0e8a
Add some docs for the ssh kitten
2022-03-03 22:37:24 +05:30
Kovid Goyal
7d653cb7bf
Allow copying the same file to multiple locations
2022-03-03 21:24:45 +05:30
Kovid Goyal
b4cc38a1d9
Fix symlink extraction over ssh
2022-03-03 21:24:45 +05:30
Kovid Goyal
8867317b6a
Allow transferring files outside of HOME
2022-03-03 21:24:45 +05:30
Kovid Goyal
4b6bfaffba
More work on ssh copy
2022-03-03 21:24:45 +05:30
Kovid Goyal
fadae42715
Work on parsing copy instructions
2022-03-03 21:24:45 +05:30
Kovid Goyal
77c9affc00
Start work on copy instructions
2022-03-03 21:24:45 +05:30
Kovid Goyal
e5ba15949b
$size doesnt need to be global
2022-03-03 21:24:45 +05:30
Kovid Goyal
a3e59697a1
...
2022-03-03 21:24:45 +05:30
Kovid Goyal
95da414511
Avoid one record read
2022-03-03 21:24:45 +05:30
Kovid Goyal
c0d5ace640
Prevent invalid root paths
2022-03-03 21:24:45 +05:30
Kovid Goyal
ae6665493a
Implement setting of env vars
2022-03-03 21:24:44 +05:30
Kovid Goyal
c6f37afeff
Add config to control shell integration per host
2022-03-03 21:24:44 +05:30
Kovid Goyal
59f656e3ca
Allow controlling where on the remote computer the ssh kitten installs its data
2022-03-03 21:24:44 +05:30
Kovid Goyal
12658c4756
Make ssh data start request transmission more robust
2022-03-03 21:24:44 +05:30
Kovid Goyal
37c185462a
Handle error messages form terminal during bootstrap
2022-03-03 21:24:44 +05:30
Kovid Goyal
53c8485a7a
Get env conf working with tests
2022-03-03 21:24:44 +05:30
Kovid Goyal
846021296f
Start work on config infrastructure for ssh kitten
2022-03-03 21:24:44 +05:30
Kovid Goyal
02a68e7541
Pass the value of shell_integration in the tarfile
...
Allows per host overrides and also avoids needing to read kitty.conf in
the ssh kitten
2022-03-03 21:24:44 +05:30
Kovid Goyal
fda9415873
Use a record separator to delimit the start of data
...
Needed because the user could press keys and send data to the tty
before kitty can send the ssh data
2022-03-03 21:24:44 +05:30
Kovid Goyal
99d0c2d846
Get reading data working on macOS
2022-03-03 21:24:43 +05:30
Kovid Goyal
a71e7d7eb1
Simplify data transmission
2022-03-03 21:24:43 +05:30
Kovid Goyal
ddb8753548
Work on enabling shell integration over ssh
2022-03-03 21:24:43 +05:30
Kovid Goyal
e73525d0a2
Start work on testing the bootstrap script
2022-03-03 21:24:43 +05:30
Kovid Goyal
f37d947dd5
more work on ssh data transmission
2022-03-03 21:24:42 +05:30
Kovid Goyal
2dd7c3b939
More work on ssh bootstrap
2022-03-03 21:24:42 +05:30
pagedown
16298e49c7
Update Unicode input kitten names
2022-03-03 16:45:07 +08:00
Kovid Goyal
f421666a27
Nicer error message when importing a kitten fails
2022-03-02 08:26:06 +05:30
pagedown
da5213346a
show_error kitten: Use green color for closing tips
2022-02-28 15:02:16 +08:00
pagedown
e3adf8c6bf
show_error kitten: Exit at EOF
2022-02-24 21:13:57 +08:00
Kovid Goyal
cb4a9d89cf
Cleanup linenum matching and add some tests
2022-02-23 23:06:19 +05:30
Kovid Goyal
7800c598f6
hints kitten: Fix a regression that broke recognition of path:linenumber:colnumber
...
Fixes #4675
2022-02-23 22:38:54 +05:30
Kovid Goyal
6bfb6da0ad
Make the regex for sgr stripping tighter
2022-02-15 22:33:51 +05:30
Kovid Goyal
56a5738018
Remove unused code
2022-02-15 22:22:07 +05:30
Kovid Goyal
919667129f
hints kitten: Avoid double scan of input text
2022-02-15 22:21:31 +05:30
Kovid Goyal
53716c084b
hints kitten: Strip prompt mark escape codes
2022-02-15 22:04:10 +05:30
pagedown
cafc3973ec
mouse_demo: Add mouse scroll wheel buttons
2022-02-13 16:45:48 +08:00
pagedown
436a57a61e
mouse_demo: Fix mouse extra button bit mask
2022-02-13 16:36:51 +08:00
pagedown
d40e6a9ece
hints kitten: Match and strip Unicode single and double quotes
2022-02-11 14:59:35 +08:00
Kovid Goyal
c9da734c0e
Show the output from failed ssh commands
2022-02-08 10:46:34 +05:30