Commit graph

728 commits

Author SHA1 Message Date
Kovid Goyal
2350952d05
More work on the transfer kitten 2021-09-10 16:54:36 +05:30
Kovid Goyal
f9c99a61d4
More work on file transfer 2021-09-09 12:59:31 +05:30
Kovid Goyal
2178c8e4af
... 2021-09-09 08:43:44 +05:30
Kovid Goyal
8aacf30f19
Centralize definition of file transfer OSC code 2021-09-08 13:43:59 +05:30
Kovid Goyal
af5c0b3b71
More work on transmission kitten 2021-09-08 08:56:14 +05:30
Kovid Goyal
fb0b94eaa1
... 2021-09-03 09:06:03 +05:30
Kovid Goyal
1d9425ecdc
Change transmission protocol to not need container formats 2021-08-29 06:27:07 +05:30
Kovid Goyal
672cf9fffe
Start work on transfer kitten 2021-08-25 11:38:41 +05:30
Kovid Goyal
89f8151579
hints kitten: Fix a regression that caused using the default open program to trigger open actions instead of running the program
Fixes #3968
2021-08-23 11:56:16 +05:30
Kovid Goyal
aa0b344b55
kitten to confirm file transfer requests 2021-08-22 07:23:49 +05:30
Kovid Goyal
7f1c5d8534
DRYer 2021-08-21 17:32:55 +05:30
Kovid Goyal
9a50dfc4b5
broadcast kitten: Allow broadcasting ctrl+c
Fixes #3956
2021-08-19 22:05:29 +05:30
Kovid Goyal
09c18f474f
Broadcast kitten: Fix --match and also remove a useless print 2021-08-19 21:58:04 +05:30
Kovid Goyal
34ec3eac44
icat kitten: Fix display of JPEG images that are rotated via EXIF data and larger than available screen size
Fixes #3949
2021-08-19 09:08:35 +05:30
Kovid Goyal
dbce9a8f29
themes kitten: Fix only the first custom theme file being loaded
Fixes #3938
2021-08-16 20:27:21 +05:30
Kovid Goyal
8cfb1efb01
hints kitten: Make the --program option work with --linenum-action=self
Fixes #3931
2021-08-15 08:27:25 +05:30
Kovid Goyal
f3333ce941
Fix getting connection data from ssh command line when -- is used in the command line
This broke the remote file kitten when using the ssh kitten as the later
was changed to use -- recently.

Fixes #3929
2021-08-13 17:14:43 +05:30
Kovid Goyal
97a9261096
... 2021-08-13 17:04:49 +05:30
Kovid Goyal
5a76dab3c6
ControlMaster must not suppress exceptions 2021-08-13 17:02:27 +05:30
Kovid Goyal
b173dd1c39
Fix error getting editor in remote file kitten not being reported 2021-08-13 16:57:01 +05:30
Kovid Goyal
477a652b44
Function to update a theme file 2021-08-11 09:09:07 +05:30
Kovid Goyal
15e0b42f04
Make the regex for commenting settings more robust 2021-08-11 08:46:42 +05:30
Kovid Goyal
ba9adc127e
Use realpath when creating conf.bak as well 2021-08-08 10:49:41 +05:30
Kovid Goyal
80db2f6558
Completion for theme names 2021-08-08 09:57:57 +05:30
Kovid Goyal
e376c79dda
Show the current theme name in kitty.conf as well 2021-08-08 09:42:07 +05:30
Kovid Goyal
5a47e0d2e4
Make reload_conf_in_all_kitties re-useable 2021-08-08 09:38:29 +05:30
Kovid Goyal
ca9143bebc
Allow reloading conf in all kitty instances as well 2021-08-08 09:33:36 +05:30
Kovid Goyal
d916ecc4f3
Add a non-interactive mode to the themes kitten 2021-08-08 07:57:14 +05:30
Kovid Goyal
4645e78fa7
Reload config in parent kitty when running the themes kitten 2021-08-07 16:54:47 +05:30
Kovid Goyal
94575a5cf6
Implement modifying of kitty.conf
An include for the current theme is added and
all existing color related settings are commented out
so that the theme overlays on kitty's default settings.
2021-08-07 16:34:41 +05:30
Kovid Goyal
a597a8d86b
Make the recent list functional 2021-08-07 15:31:03 +05:30
Kovid Goyal
d01ac17334
Implement placing of selected theme in kitty config dir 2021-08-07 15:04:32 +05:30
Kovid Goyal
2c96727c45
Implement searching in the themes kitten 2021-08-07 11:17:32 +05:30
Kovid Goyal
ca1b2454bd
Fix position output in matcher 2021-08-07 10:45:50 +05:30
Kovid Goyal
064fc17ce3
More work on themes kitten 2021-08-05 21:38:39 +05:30
Kovid Goyal
43ccf9cb41
Draw theme demo 2021-08-05 13:17:16 +05:30
Kovid Goyal
96857a197c
Allow default theme to have no settings 2021-08-05 11:20:01 +05:30
Kovid Goyal
2486cfd45d
Move match() into a more re-useable location 2021-08-05 06:59:24 +05:30
Kovid Goyal
3c3662b032
Limit display length for theme names 2021-08-04 23:18:57 +05:30
Kovid Goyal
c7ccedae95
... 2021-08-04 22:27:48 +05:30
Kovid Goyal
03517459db
Type check set_mode and reset_mode 2021-08-04 22:25:27 +05:30
Kovid Goyal
96326280e5
Use a pending update when drawing the screen 2021-08-04 22:06:05 +05:30
Kovid Goyal
9b7899780b
Implement drawing the list of themes 2021-08-04 21:56:33 +05:30
Kovid Goyal
e01cd057e8
Fix timestamp not being updated in downloaded zip file comment
Also clean up tab bar formatting
2021-08-04 20:34:00 +05:30
Kovid Goyal
ba85ca1991
Finish the tab bar for the themes kitten 2021-08-04 19:06:07 +05:30
Kovid Goyal
92a9b71f21
More work on the themes kitten 2021-08-04 18:43:26 +05:30
Kovid Goyal
e50c26d1b9
Allow using a non-toal dict to init Options objects 2021-08-04 17:06:50 +05:30
Kovid Goyal
7090c24321
More work on the themes kitten 2021-08-04 14:13:09 +05:30
Kovid Goyal
8a6b51441c
More work on themes kitten 2021-08-04 07:36:09 +05:30
Kovid Goyal
36670b49a0
Make creation of kitty-themes.zip atomic 2021-08-03 17:47:47 +05:30
Kovid Goyal
a402d848d2
Work on themes kitten UI 2021-08-03 17:32:15 +05:30
Kovid Goyal
be34af4555
Remove inline from .c files
It is ignored by compilers and hides unused static functions
2021-08-03 09:11:17 +05:30
Kovid Goyal
5f6cb34f77
placeholder 2021-08-02 21:54:06 +05:30
Kovid Goyal
a99a080c50
More work on theme loading 2021-08-02 21:46:33 +05:30
Kovid Goyal
4a1ca8d582
Move theme parser into kitty code 2021-08-02 18:54:48 +05:30
Kovid Goyal
050eb5660d
Start work on themes kitten 2021-08-02 17:56:31 +05:30
Kovid Goyal
a22404abe6
Better names 2021-07-28 15:44:17 +05:30
Kovid Goyal
7c06313750
A couple more useful aliases 2021-07-28 15:40:48 +05:30
Kovid Goyal
6f265f448d
DRYer 2021-07-28 15:39:21 +05:30
Kovid Goyal
acdc41bd03
Allow sending no payload 2021-07-28 13:39:15 +05:30
Kovid Goyal
bcff2a7fb6
Add aliases to GraphicsCommand to make it more useable 2021-07-28 13:28:21 +05:30
Kovid Goyal
1bd39ff935
Use new URL scheme and define the kitty website centrally as much as possible 2021-07-27 09:03:11 +05:30
Kovid Goyal
ff191c9404
clipboard kitten: fix copies to clipboard not working without the --wait-for-completion option 2021-07-24 07:55:50 +05:30
Kovid Goyal
31da01d4df
Add clipboard_control to query_terminal 2021-07-24 07:26:12 +05:30
Kovid Goyal
8f214c51c0
Get rid of kitty's special OSC 52 protocol
A better solution from an ecosystem perspective is to just work with the
original protocol. I have modified kitty's escape parser to special case
OSC 52 handling without changing its max escape code size.

Basically, it works by splitting up OSC 52 escape codes longer than the
max size into a series of partial OSC 52 escape codes. These get
dispatched to the UI layer where it accumulates them upto the 8MB limit
and then sends to clipboard when the partial sequence ends.

See https://github.com/ranger/ranger/issues/1861
2021-07-23 22:18:02 +05:30
Kovid Goyal
075fb2eaf2
DRYer 2021-07-22 17:56:21 +05:30
Kovid Goyal
21a2768ec3
... 2021-07-22 17:31:54 +05:30
Kovid Goyal
554c840d4e
ssh kitten: exit with 255 for unknown arg to match ssh 2021-07-22 17:30:07 +05:30
Kovid Goyal
9c28a1ba31
ssh kitten: handle -- 2021-07-22 17:03:47 +05:30
Kovid Goyal
93e3e4d2b1
Also strip \r from marked text 2021-07-19 18:12:29 +05:30
Kovid Goyal
3633049ba5
Forgot to include \r in the url regex 2021-07-19 18:09:00 +05:30
Kovid Goyal
c566ed4643
hints kitten: Detect paths and hashes that appear over multiple lines
Fixes #3845
2021-07-19 17:35:48 +05:30
Kovid Goyal
af956f4d84
Fix debug print for long strings 2021-07-19 16:56:10 +05:30
Kovid Goyal
d912d96f00
More docs cleanups 2021-07-19 09:08:55 +05:30
Kovid Goyal
8e5175e56b
Revert "icat: Use scandir for slightly better performance"
This reverts commit 2e893690bd.
scandir is not recursive
2021-07-17 09:51:06 +05:30
Kovid Goyal
2e893690bd
icat: Use scandir for slightly better performance 2021-07-16 21:55:15 +05:30
Kovid Goyal
d052b020fa
Check for dirs when getting mimetypes in a couple more places 2021-07-16 21:49:02 +05:30
Kovid Goyal
cdd8e52116
DRYer 2021-07-11 21:39:08 +05:30
Kovid Goyal
1ec07eb17a
diff kitten: Remove limit on max line length of 4096 characters
Fixes #3806
2021-07-07 07:27:42 +05:30
Kovid Goyal
3dee3aba59
Fix #3794 2021-07-04 18:05:54 +05:30
Kovid Goyal
3d51835b9b
Avoid unneccessary mallocs and copying when return code points for word 2021-06-28 05:56:49 +05:30
Kovid Goyal
f358d76409
Fix type sig 2021-06-28 05:51:49 +05:30
Kovid Goyal
ce486e9244
Move the if condition out of the inner loops 2021-06-27 21:09:06 +05:30
Kovid Goyal
691b7215a0
Unicode input kitten: Fix searching when a word has more than 1024 matches
Fixes #3773
2021-06-27 21:04:43 +05:30
Kovid Goyal
8a4b326127
Finish completion for ssh kitten
Fixes #3760
2021-06-26 12:28:12 +05:30
Kovid Goyal
051374cd55
Add support for comma separated completions 2021-06-26 10:52:14 +05:30
Kovid Goyal
71cd92da29
Store match group properties on the match group object 2021-06-26 09:47:21 +05:30
Kovid Goyal
c2d3a0c8b4
Completion for choice args 2021-06-26 09:18:36 +05:30
Kovid Goyal
fe8b151666
Complete option 2021-06-25 22:53:55 +05:30
Kovid Goyal
d8d5a8fada
More work on completion for the SSH kitten 2021-06-25 17:50:08 +05:30
Kovid Goyal
21ce0e90bf
Code to get list of known host names 2021-06-25 15:04:17 +05:30
Kovid Goyal
ec420b8012
Start work on completion for ssh kitten 2021-06-25 15:04:17 +05:30
Kovid Goyal
13c58536be
Cleanup previous PR and add changelog entry 2021-06-24 21:27:15 +05:30
David Allemang
bb3a8453e0 Make hyperlinked_grep kitten respect context
Fix regex so that context lines (from -C option) are still hyperlinked.

Also add a case so that any non-matching lines are still output raw.
2021-06-24 11:04:35 -04:00
Kovid Goyal
e337fcaadc
query terminal kitten: Allow querying font face and size information
Fixes #3756
2021-06-24 13:31:50 +05:30
Kovid Goyal
890a149a5d
Move generation of query responses into the query classes 2021-06-24 12:31:17 +05:30
Kovid Goyal
5b3ac259ce
Fix a resource warning 2021-06-24 11:27:02 +05:30
Kovid Goyal
98ae2ac96a
ssh kitten: Use sh rather than /bin/sh
It's not actually required that sh be in /bin.  The hope is that fewer
users alias sh to non POSIX things than put sh in places other than /bin
2021-06-21 16:43:59 +05:30
Kovid Goyal
1c25ed7666
ssh kitten: Fix "Connection closed" message being printed by ssh when running remote commands
Don't force allocate a tty when running remote commands. This
matches ssh behavior as well.
2021-06-21 16:40:07 +05:30
Kovid Goyal
fd4c7a4ed2
ssh kitten: Support system where the login shell is a non-POSIX shell
Now the kitten passes its script to /bin/sh and detects the login shell
using various strategies based on the value of $USER on the remote
machine. The strategies are tried one after another till one succeeds:

1) getent passwd $USER
2) id -P
3) python pwd module
4) parsing /etc/passwd

The hope is that these strategies will fail on fewer systems than
relying on the login shell being POSIX compliant.
2021-06-21 16:30:49 +05:30
Kovid Goyal
6e77345263
Ensure sys.path is preserved even if there are errors importing a custom kitten 2021-06-21 04:35:10 +05:30
Kovid Goyal
962acd1537
ssh kitten: Fix non-standard properties in terminfo such as the ones used for true color not being copied 2021-06-12 07:27:14 +05:30
Kovid Goyal
9432f86e43
Remove no longer needed type: ignore
Looks like the type signature for runpy.run_path has finally been fixed
2021-06-09 08:30:22 +05:30
Kovid Goyal
a1b87f445b
Store the paths from which config data is read on the created options object 2021-06-05 12:55:00 +05:30
Kovid Goyal
1c8b7955eb
Have gen-config output action names as comments 2021-06-05 12:20:43 +05:30
Kovid Goyal
8f491e7dbb
Add newslines at end of generated files and do imports in sorted order 2021-05-31 17:45:02 +05:30
Kovid Goyal
46b3f71b8f
Start work on porting docs generation 2021-05-31 17:40:49 +05:30
Kovid Goyal
3e598a17cf
Add headers to options def files 2021-05-31 17:40:49 +05:30
Kovid Goyal
6d7df1c5e8
Refactor configuration file parsing
Now the time for importing the kitty.config module has been halved, from
16ms from 32ms on my machine. Also, the new architecture will eventually
allow for auto generating a bunch of python-to-C boilerplate code.
2021-05-31 17:40:49 +05:30
Kovid Goyal
fe94f4cbb4
Move type parsers for config into own module 2021-05-24 22:29:28 +05:30
Kovid Goyal
3b1d534f6d
The parser doesnt need the full defaults object 2021-05-24 14:01:50 +05:30
Kovid Goyal
c827a29a7b
Use the new get_options() function
Nicer than carrying around opts objects everywhere
2021-05-24 12:29:11 +05:30
Kovid Goyal
c6c203da43
Remove unused imports 2021-05-23 11:48:30 +05:30
Kovid Goyal
32f6f18527
DRYer 2021-05-23 11:22:29 +05:30
Kovid Goyal
cf88eb9d60
ssh kitten: Mimic behavior of ssh more closely
Execute any command specified on the command line via the users' shell
on the remote side just as ssh does

Fixes #3638
2021-05-18 15:12:57 +05:30
Kovid Goyal
ac2a01fb09
Implement documentation generation and conf file generation for mouse actions 2021-05-10 14:27:45 +05:30
Kovid Goyal
f110a01ffe
Only use the last line of ssh hostname -f output incase the user has configured ssh to print random junk on login 2021-05-07 11:42:52 +05:30
Kovid Goyal
86ce11134a
Unicode input kitten: Fix a regression in 0.20.0 that broke keyboard handling when the num lock or caps lock modifiers were engaged.
Fixes #3587
2021-05-07 06:55:25 +05:30
Kovid Goyal
28b4fe5cb6
A new show_key kitten
Fixes #3556
2021-04-29 13:10:20 +05:30
Kovid Goyal
6dc8df5178
icat kitten: Respect EXIF orientation when displaying JPEG images
Fixes #3518
2021-04-23 07:31:37 +05:30
Reto Schnyder
926c3540ff Fix unbound variable in hyperlink handling 2021-04-19 14:19:13 +02:00
Kovid Goyal
1aebd83e45
A little clearer code 2021-04-19 17:42:15 +05:30
Kovid Goyal
8225351145
icat: When displaying an animated GIF image with no delays between frames, add a 100ms delay between every frame.
This allows some broken images tested with broken software *cough* browsers to work.
See #3498
2021-04-19 17:17:45 +05:30
Kovid Goyal
379add8d6f
IntEnum was needed 2021-04-19 17:09:23 +05:30
Kovid Goyal
ea11ce8664
Use a normal enum for Dispose rather than an IntEnum 2021-04-19 16:57:43 +05:30
Kovid Goyal
4c644b8556
Add NumLock and CapsLock reporting to the keyboard protocol 2021-04-13 07:10:00 +05:30
Kovid Goyal
c989a7198b
Add support for the keypad Begin key
Fixes #3468
2021-04-11 07:58:27 +05:30
Kovid Goyal
777b9eb68e
Merge branch 'hyper' of https://github.com/orki/kitty 2021-04-03 06:15:55 +05:30
Kovid Goyal
ff1585acfe
Unicode input: Make diamond a synonym for gem
Fixes #3437
2021-04-02 12:53:58 +05:30
Kovid Goyal
0372242d12
Use an enum for UTF8 decoder state 2021-03-31 15:19:27 +05:30
Ravi R Kiran
953253de99 Implementation of hyper and meta 2021-03-30 14:23:17 -05:00
Kovid Goyal
271c39cc9d
Fix reading image index not working on older ImageMagick
Fixes #3384
2021-03-12 12:00:44 +05:30
Kovid Goyal
18186da90e
Better error message for people running icat on systems with outdated/broken ImageMagick 2021-03-12 11:28:57 +05:30
Kovid Goyal
02d29d4816
Better error message when ImageMagick does not write correct output filenames 2021-03-12 11:07:42 +05:30
Kovid Goyal
945cbca387
hints kitten: When using the linenumber action with a background action, preserve the working directory
Fixes #3352
2021-02-27 09:14:12 +05:30
Kovid Goyal
30c7ff341f
DRYer 2021-02-27 09:10:16 +05:30
Kovid Goyal
42a7023203
Fix #3332 2021-02-21 13:18:48 +05:30
Kovid Goyal
dbc1ade5a9
Fallback to importlib_resources on python 3.6 2021-02-19 18:02:15 +05:30
Kovid Goyal
4cf73204a2
Forgot to exclude modules 2021-02-16 13:57:23 +05:30
Kovid Goyal
55e7f69768
Use importlib.resources to enumerate kitten names 2021-02-16 13:48:02 +05:30
Kovid Goyal
fbcdf352ac
Allow resizing of OS Window framebuffers to a single cell
This is much smaller than before and essentially works around the issue
of the text being scaled when the window is resized to small sizes. Also
has the nice side effect of making the code simpler for the panel
kitten. Fixes #3307
2021-02-14 22:17:41 +05:30
Kovid Goyal
fe07306ff1
Use a nicer decorator for functions that only need to be run once 2021-02-05 10:40:52 +05:30
Kovid Goyal
1d51fca879
Python 3.6 compat 2021-02-05 09:49:46 +05:30
Kovid Goyal
7a1785e1e8
Get chunked loading working with frames 2021-02-04 21:04:44 +05:30
Kovid Goyal
b479510f6c
Allow controlling the number of loops in icat 2021-02-04 17:47:53 +05:30
Kovid Goyal
8033e9fef5
Fix error checking when rendering single frame 2021-02-04 17:16:52 +05:30
Kovid Goyal
cf3a01f502
Handle images whose first frame is smaller than the canvas 2021-02-04 15:57:49 +05:30
Kovid Goyal
3925e18964
Use rgba data for opaque animations that uses blended frames 2021-02-04 14:39:06 +05:30
Kovid Goyal
0f18fedf13
Add support for animations to icat 2021-02-04 14:18:47 +05:30
Kovid Goyal
7eba3b6cbc
Use the magick executable from IMv7 preferentially 2021-02-04 11:34:32 +05:30