Commit graph

1388 commits

Author SHA1 Message Date
Kovid Goyal
2ac170c1b1
Allowing using the anchored diff from the Go stdlib as the diff implementation 2023-03-27 07:53:56 +05:30
Kovid Goyal
44ff6bd1dd
Start work on porting diff kitten 2023-03-27 07:53:53 +05:30
Kovid Goyal
073b47a236
Revert #6114
Frozen kitty builds dont have python files (they are loaded from a
single mmmaped archive), so the test will prevent any
kittens from being found.

Have make clean remove leftover kittens directories
2023-03-18 15:26:33 +05:30
Kovid Goyal
e4611d0c81
... 2023-03-17 09:02:58 +05:30
pagedown
97ef09b633
Fix empty folders being considered as kitten
When pulling a git commit that contains delete folder actions, the local
folders will not be deleted.
2023-03-16 08:20:05 +08:00
Kovid Goyal
9443b0e361
Remove themes python code 2023-03-14 20:28:45 +05:30
Kovid Goyal
6794ec1de7
Wire up the new subseq match code 2023-03-14 12:29:44 +05:30
Kovid Goyal
29dd2438c9
Port the subseq matcher to Go 2023-03-14 12:29:44 +05:30
Kovid Goyal
f9b0b54ee5
Start work on porting themes kitten to Go 2023-03-14 12:29:44 +05:30
pagedown
2416122647
... 2023-03-14 14:30:11 +08:00
Kovid Goyal
7acc6bdeb8
Move splitlines_like_git to a more appropriate home 2023-03-10 17:26:06 +05:30
Kovid Goyal
b76b0c61ed
Port custom processor for hints 2023-03-10 10:45:37 +05:30
Kovid Goyal
69916ca4e8
Remove python implementation of hints 2023-03-10 07:16:25 +05:30
Kovid Goyal
5b3f5dd02d
Port all remaining hints matching tests 2023-03-09 20:53:46 +05:30
Kovid Goyal
0e5ed29d83
Fix generation of url regex for Go 2023-03-09 19:00:56 +05:30
Kovid Goyal
09ceb3c0be
Start work on porting hints kitten to Go 2023-03-09 19:00:56 +05:30
Kovid Goyal
88443ef8a5
icat: allow specifying image ids 2023-03-09 10:17:53 +05:30
Kovid Goyal
f157882856
Finish porting of ask kitten to Go 2023-03-07 17:06:00 +05:30
Kovid Goyal
0aa55fb755
Start work on porting the ask kitten 2023-03-07 13:55:44 +05:30
Kovid Goyal
16c7681c7c
diff kitten: Speedup patch parsing by working with bytes rather than unicode
Also change the line split algorithm to only split on \n, \r and \r\n.
This is hopefully closer to what git/diff generate in their patch files.
I cant find any documentation specifying this however.

Fixes #6052
Fixes #6092
2023-03-06 09:55:55 +05:30
Kovid Goyal
6660071d3a
Port the hyperlinked_grep kitten to Go 2023-03-05 13:41:57 +05:30
Kovid Goyal
ed8a88e009
Add new unicode placeholder and tmux passthrough options to icat 2023-03-03 22:06:35 +05:30
pagedown
4c9d90efbb
hints kitten: Perform copy action with --program when matching linenum 2023-03-02 10:30:17 +08:00
Kovid Goyal
eb6d777790
... 2023-03-01 20:34:09 +05:30
Kovid Goyal
81f8ed6b45
Use @ rather than # for named buffers prefix char
Matches existing use of @ for clipboard. Also @ doesnt need to be quoted
in most shells.
2023-03-01 19:54:03 +05:30
pagedown
854529c443
hints kitten: Allow copying matches to named buffers 2023-03-01 22:10:24 +08:00
pagedown
3d50c1ea5a
Fix cursor misalignment after displaying detailed traceback 2023-03-01 12:04:04 +08:00
Kovid Goyal
00b3437a05
Remove python implementation of SSH kitten 2023-02-28 12:42:30 +05:30
Kovid Goyal
6de77ce987
Clean up exclude pattern handling 2023-02-26 09:12:12 +05:30
Kovid Goyal
5cc3d3cbfe
Fix remaining failing tests 2023-02-26 08:01:04 +05:30
Kovid Goyal
e4002b5691
Switch to a more capable glob implementation that supports ** 2023-02-26 08:01:04 +05:30
Kovid Goyal
525caff938
Move get_connection_data to utils module as it is not needed for the actual kitten 2023-02-26 08:01:03 +05:30
Kovid Goyal
9870c94007
More work on porting the SSH kitten 2023-02-26 08:01:03 +05:30
Kovid Goyal
747411be00
Finish implementation of config file parsing
Still needs tests
2023-02-26 08:01:01 +05:30
Kovid Goyal
32aa580984
Store parsed multi option values on the config object 2023-02-26 08:01:01 +05:30
Kovid Goyal
1470b11024
Dont parse default values 2023-02-26 08:01:01 +05:30
Kovid Goyal
5822bb23f0
Work on porting config file parsing to Go 2023-02-26 08:01:01 +05:30
Kovid Goyal
fbfb779a19
Clarify what pygments style does 2023-02-20 16:38:22 +05:30
Kovid Goyal
ac5298ce76
Finish porting unicode input 2023-02-15 17:42:31 +05:30
Kovid Goyal
53e33a80ba
Start work on porting unicode input kitten to Go 2023-02-14 21:33:21 +05:30
pagedown
cc18a4c192
transfer kitten: Use guess_type with custom MIME 2023-02-12 17:34:09 +08:00
Luofan Chen
130315ce8d Use strict function prototypes
Fixes clang error:
error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
2023-02-09 13:16:00 +08:00
Kovid Goyal
7c8c7fe3a2
launch: When using --cwd=current for a remote system support running non shell commands as well 2023-02-08 17:52:28 +05:30
Kovid Goyal
244507336b
Function to change the remote command in an ssh kitten cmdline 2023-02-08 16:34:33 +05:30
Kovid Goyal
5338fcdc1e
Add a note about why we play with file descriptors 2023-01-26 21:50:10 +05:30
Kovid Goyal
f8991ce3c8
ask kitten: Get readline to work even when stdout is redirected 2023-01-26 21:47:43 +05:30
Kovid Goyal
3a126ffa9d
Restore permissions check on pwfile
just use RW instead of R as the expected mode
2023-01-26 08:48:35 +05:30
Kovid Goyal
dd6e206f9b
Remove unused import 2023-01-26 08:29:37 +05:30
Loren Schlomer
366d65f592
Fixes the ssh kitten
kovidgoyal@5e645a7 fixes the password file creation, allowing it to be
unlinked, but read_data_from_shared_memory/1 rejects the shared object
if it is not read only, and will break the ssh kitten for all
platforms.

This change removes the read only check, relying only on the file
ownership check.

This fully fixes #5928

Signed-off-by: Loren Schlomer <me@schlomie.com>
2023-01-25 11:14:12 -08:00
Kovid Goyal
5e645a7be7
Fix ssh kitten not working on FreeBSD
Apparently on FreeBSD one cannot unlink shared mem if it is not created
with write permissions.

Adding IWRITE to the permissions when creating the shared memory is
harmless. It means any process running as the user can either write to
the file or delete it. Deleting was already possible except on FreeBSD.
As for writing, it's needed on FreeBSD for shared memory to be useable
at all, and since processes running as the user can already completely
access all their data, kitty config files, tty pipes, etc. allowing them
to write to the SHM used here doesnt grant any significant new
capability, since they could just write to ssh.conf in the kitty config
folder to get the ssh kitten to do whatever they like.

Fixes #5928
2023-01-25 23:34:31 +05:30
Kovid Goyal
1f00c27097
Also create an automatic text/plain alias when reading from clipboard 2023-01-22 22:04:53 +05:30
Kovid Goyal
5b4e4f032d
ask kitten: Output JSON when used standalone 2023-01-22 11:48:51 +05:30
Kovid Goyal
0a1b399447
... 2023-01-22 08:58:14 +05:30
Kovid Goyal
6a64df1afb
Abort show_error kitten if stdin is a tty 2023-01-22 08:48:55 +05:30
Kovid Goyal
dc1851acdb
Add some messages to kitten help for kittens that are not meant to be run by end users. 2023-01-22 08:46:29 +05:30
Kovid Goyal
dc03c14af2
Fix #5896 2023-01-18 08:51:17 +05:30
Kovid Goyal
6b8e5ea225
Rename kitty-tool to kitten
It's easier to type, and cuter.

Also, most, if not all of the TUI parts of
kitty's kittens will eventually be re-written into kitten.

The only downside I can see is that we cant tab complete kitty
anymore, but hopefully there will be less reason to run kitty
from the shell as command line tools migrate to kitten.

Meowrrrr!!!
2023-01-14 15:44:52 +05:30
Kovid Goyal
d4e34a4c31
themes kitten: Nicer error message when no internet connection is present
Fixes #5877
2023-01-11 09:00:58 +05:30
Kovid Goyal
836b652f4d
Enable checks for unused noqa 2023-01-09 17:28:35 +05:30
Kovid Goyal
69255f7525
broadcast kitten: Allow pressing a key to stop echoing of input into the broadcast window itself 2023-01-09 17:19:35 +05:30
Kovid Goyal
6e41409a3f
Dont run isort on generated conf files 2023-01-09 16:51:59 +05:30
Kovid Goyal
7fe5d7b58f
Replace isort with ruff 2023-01-09 16:47:42 +05:30
Kovid Goyal
a068e3e655
Fix issues reported by ruff 2023-01-09 15:54:41 +05:30
Kovid Goyal
1b5fac3189
Cleanup previous PR 2023-01-06 14:25:21 +05:30
Kovid Goyal
dab7f71d2f
Merge branch 'master' of https://github.com/TrellixVulnTeam/kitty_864P 2023-01-06 14:17:38 +05:30
TrellixVulnTeam
1223130ef7 Adding tarfile member sanitization to extractall() 2023-01-06 08:07:51 +00:00
Kovid Goyal
4e90ae68a4
... 2023-01-06 11:33:47 +05:30
Kovid Goyal
e16e3c1582
Clarify the common use case for --config-file-name 2023-01-06 10:42:46 +05:30
Kovid Goyal
5d42d1f955
Remove the old python icat implementation
Keep the python backend code as it is used by the diff kitten to display
image diffs.
2023-01-05 19:34:12 +05:30
Kovid Goyal
a2c68a927e
icat: When using --place ensure screen doesnt scroll by leaving cursor at top-left corner of image. 2023-01-05 19:15:13 +05:30
Kovid Goyal
c317c934f3
More work on ImageMagick 2023-01-05 19:15:13 +05:30
Kovid Goyal
df06578c2d
Implement --scale-up and --place 2023-01-05 19:15:12 +05:30
Kovid Goyal
7a1140cd03
Start work on porting icat to Go 2023-01-05 19:15:10 +05:30
Kovid Goyal
035c3de4bb
Add completion for file args to clipboard kitten 2023-01-04 10:39:24 +05:30
pagedown
2f292bb5d2
DRYer 2022-12-10 15:13:19 +08:00
Kovid Goyal
1289dd2ff0
Cleanup previous PR 2022-12-08 13:30:54 +05:30
pagedown
8c7a5288ae
hyperlinked_grep kitten: Handle more rg command line options
Skip for unsupported options.
2022-12-08 14:51:13 +08:00
Kovid Goyal
a3ba8647ba
Document the new OSC 5522 protocol 2022-12-06 12:18:55 +05:30
Kovid Goyal
fe53555dba
Document the additions to the clipboard kitten 2022-12-04 11:37:02 +05:30
Kovid Goyal
b644a42a48
Allow using wildcard mime types when copying from clipboard 2022-12-03 14:06:16 +05:30
Kovid Goyal
6422b323c6
Implement MIME aliases for clipboard 2022-12-03 12:20:03 +05:30
Kovid Goyal
f29ce19097
Reading arbitrary MIME from clipboard now works 2022-12-01 13:35:44 +05:30
Kovid Goyal
375fa73826
Delegate kitty +kitten clipboard to kitty-tool 2022-11-26 20:09:43 +05:30
pagedown
6a1b456bac
DRYer: Get hostname 2022-11-26 16:08:40 +08:00
Kovid Goyal
4d3f3b5e91
Start moving clipboard kitten to kitty-tool 2022-11-25 12:58:10 +05:30
pagedown
a131f9a82e
Refactor: Use a consistent name for beam cursor shape 2022-11-19 10:34:50 +08:00
pagedown
76669ad14d
Note the Unicode version in the generated files
Files generated from the same Unicode version will be consistent
regardless of the date they were built.
2022-11-18 13:01:32 +08:00
Kovid Goyal
e5e8cc72c6
Make the Unicode database version used available 2022-11-17 20:11:50 +05:30
Kovid Goyal
16775c5539
ssh kitten: Add a kitty-tool wrapper script to auto-download and use kitty-tool
Needs testing.
2022-11-15 13:26:48 +05:30
Kovid Goyal
018811c96c
Remove unused code
Completion and remote control have moved into kitty-tool
2022-11-14 15:42:09 +05:30
Kovid Goyal
6b04c42730
update wcswidth go version to match unicode 15 update in master 2022-11-14 15:42:03 +05:30
Kovid Goyal
97716fea8b
More work on merging completions with parse tree 2022-11-14 15:42:02 +05:30
Kovid Goyal
928a4db817
Implement delegate based completion fof the ssh and hyperlinked_grep kittens 2022-11-14 15:41:59 +05:30
Kovid Goyal
7737369fc9
Add completion for the kittens 2022-11-14 15:41:58 +05:30
Kovid Goyal
3847837bd0
Forgot to run gen-config.py 2022-10-19 20:50:53 +05:30
Kovid Goyal
1747bbbbcb
ssh kitten: Allow using absolute paths for the location of transferred data
Fixes #5607
2022-10-19 20:43:53 +05:30
pagedown
13a3c6b5b2
Update to Unicode 15.0 2022-09-29 10:13:21 +08:00
Kovid Goyal
98eacb2067
panel kitten: Do not depend on xprop 2022-09-24 15:44:54 +05:30
Kovid Goyal
2cef9abbd3
Get rid of one call to xprop in the panel kitten 2022-09-24 15:17:11 +05:30
Kovid Goyal
b247759d30
DRYer 2022-09-11 13:15:42 +05:30
Kovid Goyal
89570d3b52
ssh kitten: Fix KITTY_PUBLIC_KEY not being encoded properly when transmitting
Fixes #5496
2022-09-10 07:09:58 +05:30
Kovid Goyal
7e1380cc0d
Start work on giving GLFW a proper clipboard API 2022-09-08 12:45:34 +05:30
Kovid Goyal
5bf5454dbe
Nicer fix for #5469 2022-09-04 22:15:17 +05:30
Kovid Goyal
31fe35cd38
Fix #5469 2022-09-04 13:58:16 +05:30
Kovid Goyal
295743a96e
Fix ref to launch doc 2022-09-02 16:31:21 +05:30
Kovid Goyal
9cec924f32
hints kitten: Allow using launch as the program to run, to open the result in a new kitty tab/window/etc.
Fixes #5462
2022-09-02 16:23:00 +05:30
Kovid Goyal
afada84f52
Cleanup previous PR
Use wcswidth() for line width calculation. Works with emoji and ignores
escape codes automatically. Add changelog entry.
2022-08-31 08:01:52 +05:30
Trygve Aaberge
03720402a7 Fix hints sometimes matching next line as part of URL
For URLs where there's fewer characters left to the right edge of the
window than the number of escape characters in the line, the next line
would be included in the URL, as if the URL went all the way to the
right edge.

For example with a 40 chars wide terminal, if you run:

    echo -e '\e[31m1\e[m https://github.com/kovidgoyal/kitty\ntest'

And launch the hints kitten, you'll see that test on the next line will
be included in the URL.

This happened because the calculation for filling the rest of the line
with NUL characters counted the escape characters as well as the visible
characters, so it filled in too few characters.

This is a regression introduced in commit 91966712.
2022-08-30 22:24:58 +02:00
Kovid Goyal
fca0999814
Eureka! Figured out why libedit is breaking in prewarm on macOS via launchd
The prewarm zygote imports the world. shell.py had a top level import
for readline. Which means readline was being imported pre-fork. And of
course as is traditional with Apple libedit is not fork safe. Probably
because it initializes its internal IO routines based on the stdio
handles at time of import which are the handles kitty gets from launchd
2022-08-30 19:35:17 +05:30
Kovid Goyal
78056c659c
Another place we cant use readline on macOS 2022-08-30 19:27:55 +05:30
Kovid Goyal
d8e43a3412
macOS: Fix regression in 0.26.0 that caused asking the user for a line of input such as for set_tab_title to not work
Apparently libedit doesn't work in the forked process when the parent
process is run via Launch Services. I cant be bothered to investigate
why, given that libedit is closed source. macOS users will just have to
live without history/completion in the ask kitten until I get around to
writing a replacement for readline/libedit.

And on a personal note, macOS >> Necrotizing fasciitis

Fixes #5447
2022-08-30 16:45:14 +05:30
Kovid Goyal
89a2545855
Cleanup previous PR
Allow disabling hyperlinking of rg output. Also parse
--kitten=hyperlink=... form of CLI args.
2022-08-30 07:41:14 +05:30
Charlie Groves
db5b4da388 Add options for linking different parts of ripgrep output 2022-08-29 13:23:42 -04:00
Charlie Groves
f5a70adf0b Add a --hyperlink-only-matches flag to hyperlinked_grep
If it's active, only matching lines get links, not file headers or context lines.
2022-08-26 17:05:50 -04:00
Kovid Goyal
e330c38d4a
ssh kitten: Delegate to ssh when -T is used
Fixes #5411
2022-08-24 15:23:41 +05:30
pagedown
0f4cb1955f
Use the plus sign to connect shortcut keys consistently 2022-08-18 17:05:00 +08:00
Kovid Goyal
bfcd324993
ask kitten: allow having hidden text in the message 2022-08-16 13:57:58 +05:30
Kovid Goyal
d0c50248ea
Graphics protocol: Only delete temp files if they have the string tty-graphics-protocol in their file paths.
This prevents deletion of arbitrary files in /tmp via the graphics
protocol.
2022-08-16 11:25:33 +05:30
Kovid Goyal
6961845167
ask kitten: fix button click area offset vertically 2022-08-16 10:35:51 +05:30
Kovid Goyal
cd3eeb7a95
Center choice message correctly when it is multi-line
Also fix button wrap calculation. It was not taking the borders into
account.
2022-08-10 20:34:25 +05:30
Kovid Goyal
7be6b28011
Preserve blanks lines and per line formatting in the ask kitten for the message with choices 2022-08-10 20:10:17 +05:30
Kovid Goyal
1a643441f3
Make the kitty public key available as an env var to child processes 2022-08-10 12:36:04 +05:30
pagedown
5f180dbd9a
... 2022-08-09 12:29:22 +08:00
pagedown
9f1c9529aa
Allow completion for show_key kitten
Use the lowercase form of kitty.
2022-08-09 12:15:48 +08:00
pagedown
0d116e6ef0
Use four spaces to indent 2022-08-08 22:31:55 +05:30
pagedown
06108d66b1
Replace tab with four spaces indent 2022-08-08 22:31:55 +05:30
Kovid Goyal
3463931dad
Rewrite clipboard kitten to only change termios settings while it is actually reading from terminal 2022-08-02 17:14:27 +05:30
Kovid Goyal
132f87d152
show_key: use a better representation of the space key when 2022-08-01 13:25:56 +05:30
Kovid Goyal
e2117ee8a4
ssh kitten: Allow completion of ssh options between the destination and command
This contravenes the documented command line parsing behavior of ssh but
matches its actual implementation. Sigh.

Fixes #5322
2022-07-29 08:29:49 +05:30
Kovid Goyal
54d2f06abe
remote files kitten: Fix working with files whose names have characters that need to be quoted in shell scripts
Fixes #5313
2022-07-26 08:06:25 +05:30
Kovid Goyal
d9371dc265
ssh kitten: Better handling of exit on keyboard interrupt 2022-07-20 21:40:51 +05:30
Kovid Goyal
ef2a12fbdf
Ignore sigint while draining the tty 2022-07-20 19:40:23 +05:30
Kovid Goyal
7215c6d6be
ssh kitten: Allow pressing Ctrl-C to abort ssh before the connection is completed
Fixing this involved adding a new mode to kitty where it handles
ctrl-c/z/q by sending signals to the tty foreground process group
instead of delegating to the kernel to do that. Since the pipe may be
full we have no way of knowing when the kernel will get around to
reading the signal byte. So send the signal ourselves.

Fixes #5271
2022-07-20 19:11:14 +05:30
Kovid Goyal
bd9e1f58fe
ssh kitten: Make discarding of garbage data after ssh fails more robust
We now roundtrip an UUID via the terminal and only exit after receiving
it back. This guarantees that any pending data in the pipe is discarded.
2022-07-20 13:28:51 +05:30
Kovid Goyal
3a17f54bca
Add a note about how to exclude directories in the copy command 2022-07-12 16:23:48 +05:30
Kovid Goyal
a8b756f040
ssh kitten: A new option :code:--symlink-strategy to control how symlinks are copied to the remote machine
Fixes #5249
2022-07-03 14:03:56 +05:30
Kovid Goyal
b3fcb53625
ssh kitten: Allow ssh kitten to work from inside tmux, provided the tmux session inherits the correct KITTY env vars
Fixes #5227
2022-06-29 18:40:22 +05:30
Kovid Goyal
4f29dea8ef
Utility function to detect when running inside tmux 2022-06-29 17:51:38 +05:30
pagedown
c3df6d2fe3
Remove executable perms from kitten files 2022-06-28 11:59:47 +08:00
Kovid Goyal
a89e1b5573
Fix horizontal wheel events not being reported to client programs when they grab the mouse
Fixes #2819
2022-06-18 06:47:42 +05:30
Kovid Goyal
2dd1201c3f
Dont use a kitten for prewarm 2022-06-09 06:53:51 +05:30
Kovid Goyal
9be68966b4
Also detect ssh kitten run as an overlay 2022-06-08 18:53:54 +05:30
Kovid Goyal
9dbafcc368
Remove unneccessary argument to connection_sharing_args() 2022-06-07 20:40:01 +05:30
Kovid Goyal
9f5f113840
... 2022-06-07 13:05:07 +05:30
Kovid Goyal
6afbdbe94f
Use correct kitty config in prewarmed process 2022-06-07 12:53:39 +05:30
Kovid Goyal
cc3c7b0286
Fix waitpid() call on python 3.8 2022-06-06 21:22:04 +05:30
Kovid Goyal
4c9a75c1ba
Remove unused code 2022-06-06 20:45:40 +05:30
Kovid Goyal
98f46f8bd7
Start work on prewarming
The prewarm process and its controller are implemented with some basic
tests.
2022-06-06 20:39:36 +05:30
Kovid Goyal
79f7954048
Cleanup previous PR 2022-06-06 17:19:52 +05:30
Kovid Goyal
fc217dafba
Merge branch 'master' of https://github.com/suvayu/kitty 2022-06-06 16:55:08 +05:30
Suvayu Ali
20b6a97159 Update in response to feedback
- one configuration option: ignore_paths
- use shlex to parse option to support whitespace and in-line comments
- change option type to Tuple[str, ...]
- remove ignored directories from dirnames to prevent scanning
2022-06-06 11:00:45 +02:00
Kovid Goyal
98f6e24106
Move block outside try/except as it doesnt need to be in there 2022-06-06 08:17:15 +05:30
Kovid Goyal
cd7751681d
hints kitten: Fix surrounding quotes/brackets and embedded carriage returns not being removed when using line number processing
Fixes #5170
2022-06-05 18:07:16 +05:30
Suvayu Ali
eea652f1d0 kittens/diff: move empty pattern check to dir tree walk 2022-06-05 10:11:21 +02:00
Suvayu Ali
fbf1ec43c7 diff kitten: add options to ignore paths when comparing directories
Tested locally & over SSH:

    $ kitty +kitten diff /local/path /local/path2
    $ kitty +kitten diff /local/path ssh:remote:/path
2022-06-05 00:11:30 +02:00
Kovid Goyal
0828096e9e
... 2022-06-03 18:30:14 +05:30
Kovid Goyal
ebcbed290f
Make loading of kitty options in kitten re-useable 2022-06-03 17:49:58 +05:30
Kovid Goyal
55eeb9c11e
Dont import kitty.complete in ssh.main 2022-06-02 08:08:33 +05:30
James Reid
0b79cbdb3b
Add "user" tab to themes kitten
Add new tab named "user" to the built-in themes kitten - new tab
filters and displays only user-defined color themes, identified by
adding "is_user_defined" property to "Theme" class which defaults
to False, and is set True when a theme is fetched using the
"load_from_dir" method.
2022-05-30 19:25:09 +01:00
James Reid
1dc6b49e02
Remove hard coded tab string in ThemesHandler
Remove hard coded tab string and replace with self.tabs, which is
a reference to the same tab string defined in the __init__ of
ThemesHandler
2022-05-30 19:17:07 +01:00
Kovid Goyal
8540ca3990
Workaround for nix package messing with kitty file permissions 2022-05-28 08:03:17 +05:30
Kovid Goyal
ea8bed2a71
Fix #5113 2022-05-20 20:45:08 +05:30
Jakub Kuczys
a9a9ec80b5
Support the short pretty flag (-p) in hyperlinked_grep kitten 2022-05-20 10:57:42 +02:00
Kovid Goyal
bba1455e28
Dont import all of the ssh kitten just to detect commandlines 2022-05-18 15:58:06 +05:30
Kovid Goyal
1b4cf1fea7
Remote file kitten: Integrate with the ssh kitten 2022-05-14 10:31:18 +05:30
Kovid Goyal
aaffec1cbc
Better error message 2022-05-13 19:25:37 +05:30
Kovid Goyal
99409f0a8b
Merge branch 'docs' of https://github.com/page-down/kitty 2022-04-30 14:41:12 +05:30
Kovid Goyal
9811d677e5
query terminal kitten: Return fast when run in non-kitty terminals 2022-04-30 14:25:39 +05:30
pagedown
6c1f20bb27
Docs: Mention close_shared_ssh_connections in ssh kitten config docs 2022-04-30 16:54:46 +08:00
Kovid Goyal
4a7125ec92
ssh kitten: Suppress error prints about invalid items in kitty.conf
Fixes #4985
2022-04-29 20:39:32 +05:30
pagedown
bb78dc5ccb
Docs: Fix the help text of query_terminal and other minor tweaks
Use --match-tab in broadcast kitten example.
2022-04-29 01:30:45 +08:00
Kovid Goyal
1a2d9c6fba
Fix a couple of issues highlighted by updated mypy 2022-04-28 07:03:35 +05:30
pagedown
510022c3c1
Docs: Improve the documentation for kittens
Add more text roles and links.
Add an example that broadcasts only to other windows in the current tab.
Initial capitalization of the key names in the kbd text role.
Add Python type hints for custom kittens.
Note about hyperlink support for ls on macOS.
Add description text for show_key.
2022-04-27 16:14:54 +08:00
Kovid Goyal
627c79ffbb
Show detailed traceback when using show_error() 2022-04-26 13:58:57 +05:30
Kovid Goyal
ee94114eb2
Fix #5016 2022-04-26 08:20:24 +05:30
pagedown
7282f1f684
Docs: Improve ssh kitten documentation
Add more text roles.
Put the env example at the end.
The alias syntax of fish and bash requires quotation marks.
Document `SSH_ASKPASS` in the glossary.
2022-04-25 15:36:37 +08:00
pagedown
288d16f7be
Docs: Minor tweaks to the help documentation of hints kitten 2022-04-24 17:18:45 +08:00
Kovid Goyal
6174c2008f
... 2022-04-20 10:10:05 +05:30
Kovid Goyal
402fac3edf
... 2022-04-19 10:53:18 +05:30
Kovid Goyal
b45fedd794
Infrastructure for serializing env blocks 2022-04-16 22:16:20 +05:30
Kovid Goyal
aab9482e31
... 2022-04-15 15:01:13 +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
bde468594e
ssh kitten: handle newlines in env vars 2022-04-15 12:49:35 +05:30
Kovid Goyal
a1bfcd9fc5
Also transfer env vars when cloning over ssh kitten 2022-04-13 20:08:06 +05:30
Kovid Goyal
dd331ca12e
ssh kitten: Allow changing terminal colors when connecting 2022-04-08 12:10:59 +05:30
Kovid Goyal
c3b23679f3
Make some themes code re-useable 2022-04-08 11:33:50 +05:30
Kovid Goyal
de12dddbef
Better error message when ripgrep is not found 2022-04-06 16:38:18 +05:30
Kovid Goyal
8ff841f1ac
... 2022-04-04 15:34:07 +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
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
e522095fae
... 2022-03-26 07:39:16 +05:30
pagedown
746cb3684a
Eliminate flickering when hints kitten exits 2022-03-25 22:53:38 +08:00
pagedown
16c6545e93
Report overlay ready in case of no match 2022-03-25 22:52:35 +08:00
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