Commit graph

1094 commits

Author SHA1 Message Date
Kovid Goyal
3c742a0037
Use pixel mode for mouse tracking in kittens 2021-09-28 12:46:41 +05:30
Kovid Goyal
f3447d187d
Allow handlers to ask for mouse events 2021-09-28 09:32:53 +05:30
Kovid Goyal
276696414e
Use a full handler for choices in the ask kitten 2021-09-28 09:14:34 +05:30
Kovid Goyal
7e17ed21ce
Use the atomic update decorator everywhere 2021-09-27 12:00:33 +05:30
Kovid Goyal
b1f4b2d8ed
Use pending updates for unicode input kitten
Avoids all possibility of flicker
2021-09-27 11:33:21 +05:30
Kovid Goyal
f3177d8878
Merge branch 'unicode-input-scroll-4064' of https://github.com/dusanx/kitty 2021-09-27 11:17:42 +05:30
Kovid Goyal
3bc7b5bad9
Remote file transfer: Fix transfer not working is custom ssh port or identity is specified on the SSH command line
Fixes #4067
2021-09-27 10:58:40 +05:30
Kovid Goyal
b70064d1be
Use a default set of ssh options if the binary is not found 2021-09-27 10:49:38 +05:30
Dusan Popovic
ffca2ecf19 scroll in unicode input 2021-09-26 23:18:33 +01:00
Kovid Goyal
259ca4a11e
Speed up parsing of file transfer OSC codes
Avoid roundtrips between unicode and bytes objects
2021-09-25 14:05:21 +05:30
Kovid Goyal
41003d106a
Set the signature parameters manually when rs_sig_args is not available 2021-09-20 11:42:44 +05:30
Kovid Goyal
17e95cb615
Add a test for rsync roundtrip 2021-09-19 20:55:00 +05:30
Kovid Goyal
b5c086aedb
... 2021-09-19 20:25:08 +05:30
Kovid Goyal
1036132838
Rename pw to bypass 2021-09-19 17:21:57 +05:30
Kovid Goyal
1d1d82ca50
Setup ropr buffer sizes for rsync operations 2021-09-19 17:19:34 +05:30
Kovid Goyal
85be3e4ed1
Also avoid mallocs for the output buffer 2021-09-19 15:28:22 +05:30
Kovid Goyal
d5d52ec8b9
When driving a job on a file avoid mallocs for each read 2021-09-19 13:49:10 +05:30
Kovid Goyal
ecb0d1f325
More work on wrapping librsync 2021-09-19 13:26:09 +05:30
Kovid Goyal
68436c93a7
More work on the transfer kitten 2021-09-19 10:17:53 +05:30
Kovid Goyal
2a9dff2846
Function to create the delta for a file 2021-09-18 14:00:59 +05:30
Kovid Goyal
bcd1837924
Generator for loading signatures
Also dont waste memory when no output is expected
2021-09-18 13:52:26 +05:30
Kovid Goyal
77508bfe0d
Handle blocking with unused input in librsync 2021-09-18 13:08:53 +05:30
Kovid Goyal
cf517effb3
Wrap more of the librsync API 2021-09-18 12:49:38 +05:30
Kovid Goyal
901a075a38
... 2021-09-18 11:51:54 +05:30
Kovid Goyal
348e632dd6
Fix building on the usual ancient Linux distro suspects
Detect if librsync is new enough to have rs_sig_args
2021-09-18 10:49:46 +05:30
Kovid Goyal
067502bd66
Fix warning on ancient gcc 2021-09-18 10:25:18 +05:30
Kovid Goyal
2fc972a173
rename function 2021-09-18 09:39:12 +05:30
Kovid Goyal
a941b1af4e
Implement signature generation 2021-09-17 17:42:25 +05:30
Kovid Goyal
f0fab80f5b
Start work on rsync support for file transfers 2021-09-17 13:41:45 +05:30
Kovid Goyal
a0740d1616
Use multi-phase initialization for unicode-names 2021-09-17 08:56:55 +05:30
Kovid Goyal
8986d15a5b
Remove unused code 2021-09-17 08:39:41 +05:30
Kovid Goyal
fcd4649642
Use pending mode for progress bar updates 2021-09-16 19:54:48 +05:30
Kovid Goyal
e8e7ad3b75
DRYer 2021-09-16 18:34:51 +05:30
Kovid Goyal
e9d648d37c
Handle exceptions in the tui context managers 2021-09-16 18:28:29 +05:30
Kovid Goyal
eaeece8177
Use the repeat escape code for progress bar rendering 2021-09-16 17:55:22 +05:30
Kovid Goyal
aa9a991a85
Draw separator for final total 2021-09-16 17:45:11 +05:30
Kovid Goyal
0d37431def
Report individual file transfer failures 2021-09-16 17:40:19 +05:30
Kovid Goyal
44dfd7a803
More work on transfer kitten 2021-09-16 17:28:26 +05:30
Kovid Goyal
d2809a0acb
More work on transfer kitten 2021-09-16 15:27:53 +05:30
Kovid Goyal
4b074d723e
... 2021-09-16 14:01:48 +05:30
Kovid Goyal
deb6abe50e
Ancient python compat 2021-09-16 13:50:05 +05:30
Kovid Goyal
d042ea5ab9
Split up tranfer kitten code into modules 2021-09-16 13:47:12 +05:30
Kovid Goyal
bc7c1e4d05
More work on the transfer kitten 2021-09-16 13:34:32 +05:30
Kovid Goyal
a4c5e7c2ee
More work on the transfer kitten 2021-09-16 13:02:39 +05:30
Kovid Goyal
504d915723
Fix div by zero errors 2021-09-16 10:30:28 +05:30
Kovid Goyal
039ea95390
Sanitize displayed file names 2021-09-16 10:19:08 +05:30
Kovid Goyal
33a6abfc07
More work on the transfer kitten 2021-09-16 07:39:07 +05:30
Kovid Goyal
5c1dd69963
forgot this in the last commit 2021-09-15 14:03:01 +05:30
Kovid Goyal
c08dc64581
spinner and progress bar for kittens UI 2021-09-15 13:39:39 +05:30
DiegoBaldassar
8c104b52f9
icat: fix exception thrown if stdin is None
Don't use sys.stdin if --stdin=no is given, or if --stdin=detect is given and sys.stdin is None
2021-09-14 22:18:34 +02:00
Kovid Goyal
4c25ceff29
Remove duplicated reset of mouse_utf8_mode 2021-09-14 20:22:28 +05:30
Kovid Goyal
26f0b53bb2
Dont compress already compressed files 2021-09-14 20:11:34 +05:30
Kovid Goyal
5d516a8584
... 2021-09-13 13:26:30 +05:30
Kovid Goyal
b1322fbe04
Prompt for permission when reading from clipboard by default
Fixes #4022
2021-09-13 12:32:40 +05:30
Kovid Goyal
38a5e38f88
Transmit hashed password 2021-09-13 12:00:38 +05:30
Kovid Goyal
d726eb354d
Play with human size some more 2021-09-12 13:41:51 +05:30
Kovid Goyal
1136c64d49
Make human_size() a little nicer 2021-09-12 13:28:07 +05:30
Kovid Goyal
3f3179db0c
... 2021-09-12 12:47:58 +05:30
Kovid Goyal
3eee442f28
Output total transfer size when confirming 2021-09-12 12:41:48 +05:30
Kovid Goyal
7c90812e51
... 2021-09-12 12:21:03 +05:30
Kovid Goyal
5c8bcf9379
Implement confirm paths 2021-09-12 12:12:23 +05:30
Kovid Goyal
31ead3f088
Basic file transfer works for sending 2021-09-12 10:02:23 +05:30
Kovid Goyal
efaeb0f0b2
Remove backslashes from CLI theme names if no theme with the name is found 2021-09-12 09:35:31 +05:30
Kovid Goyal
9db9638bc3
Soak up protocol responses after a cancel to avoid outputting garbage to the shell after the kitten exits 2021-09-11 10:48:40 +05:30
Kovid Goyal
24255be0bd
Add a permission password to the transfer kitten 2021-09-10 18:09:59 +05:30
Kovid Goyal
0d89eb2c40
When not using alternate screen dont restore cursor position to what it was before initialization 2021-09-10 17:26:01 +05:30
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
Kovid Goyal
e5ef9d9062
Ensure IM outputs multiple images in rgba format 2021-02-04 11:23:54 +05:30
Kovid Goyal
55d0e23c38
... 2021-02-03 19:29:46 +05:30
Kovid Goyal
d3489712a6
Store mode data per frame 2021-02-03 18:00:36 +05:30
Kovid Goyal
56193f6902
Handle resizing of animated images with blended frames correctly 2021-02-03 17:51:38 +05:30
Kovid Goyal
9cf5348c36
Modify ImageMagick wrapper to handle animated images 2021-02-01 14:12:26 +05:30
Kovid Goyal
edf4e14e4c
Work on animation support for icat 2021-01-31 20:58:43 +05:30
Kovid Goyal
ad4665e638
Add support for newer keys to GraphicsCommand serializer 2021-01-31 20:58:42 +05:30
Kovid Goyal
4e67a92ec4
DRYer 2021-01-31 12:26:54 +05:30
Kovid Goyal
e9e8ef7210
ssh kitten: Allow using python instead of the shell on the server 2021-01-31 09:04:46 +05:30
Kovid Goyal
df89266c03
diff kitten: Implement recursive diff over SSH
Fixes #3268
2021-01-28 14:23:56 +05:30
Kovid Goyal
714d64c417
Get type checking working with mypy 0.80
Add workaround for https://github.com/python/typeshed/issues/4964
2021-01-23 09:25:31 +05:30
Kovid Goyal
3c648c05ec
Report shifted and alternate keys from the XKB backend 2021-01-16 20:52:15 +05:30
Kovid Goyal
af0a24c702
Make key demo output prettier 2021-01-16 20:52:15 +05:30
Kovid Goyal
e09ed038e2
Port key handling in more kittens
Also fix decoding of enter/f3 key events
2021-01-16 20:52:15 +05:30
Kovid Goyal
9c6ba213f9
Fix key handling in diff kitten 2021-01-16 20:52:14 +05:30
Kovid Goyal
66341111e6
keyboard mode change should happen only in alternate screen 2021-01-16 20:52:14 +05:30
Kovid Goyal
027c5a57f1
Work on porting kittens to use new key infrastructure
Also move type definitions into their own module
2021-01-16 20:52:14 +05:30
Kovid Goyal
ad09ccb0f2
Panel kitten: Allow setting WM_CLASS
Fixes #3233
2021-01-12 04:49:45 +05:30
Kovid Goyal
31cb68840a
Merge branch 'bugfix-unicode-names-input' of https://github.com/purxiz/kitty
Fixes #3221
2021-01-07 14:18:24 +05:30
purxiz
89c62377da fix type error
I moved the location of the check for an overflowing index to avoid a type error that was revealed by mypy. I also think this is a better place to put it from a code standpoint in general...
2021-01-06 13:24:38 -06:00
purxiz
85afda8832 fixes incorrect hint base
The bases for the hint were being decoded as base 16, despite being displayed as base 36 (0-9, a-z). This fix makes it so typing 'search string .index' returns the unicode char at the expected index, based on what is displayed by the program.

It also slightly changes the behavior. Before, only the selected result would appear. For example, musical note `musical note .18` would only show a single result, since there was only a single result at index 18. Now, searching by index doesn't remove codepoints/results, it simply highlights the result at the correct index for you.
2021-01-06 13:07:41 -06:00
Kovid Goyal
ca65ad6fa3
Inline qsort
Cleaner, more local code and faster sorting by virtue of inlining the
comparisons. What's not to like.
2021-01-04 14:14:15 +05:30
Tomas Krizek
dbe44c9e4b
kitten/diff: allow specifying none color for select_fg
Allow diff kitten to not override foreground color for selections.

Related #1358
2021-01-01 23:25:06 +01:00
Kovid Goyal
65361d56c4
Use find_exe() for resolving editor as well
Avoids having to exec the shell in most cases
2020-12-29 11:33:42 +05:30
Kovid Goyal
08fae7a0ac
Add sbin to default paths 2020-12-29 10:50:31 +05:30
Kovid Goyal
a7e9030c12
Make finding ImageMagick a bit more robust on macOS 2020-12-29 10:48:26 +05:30
Kovid Goyal
5f8dee8384
Add support for the color settings stack that XTerm copied from us without acknowledgement and decided to use incompatible escape codes for.
Completely in keeping with that project's past behavior.
See https://github.com/kovidgoyal/kitty/issues/879

XTerm announcement:
https://www.mail-archive.com/xorg@lists.x.org/msg06419.html
2020-12-21 21:39:05 +05:30
Kovid Goyal
ed4b5f179e
Full screen kittens: Fix incorrect cursor position after kitten quits
DECOM should be reset only after entering alternate screen as it also
changes cursor position. Fixes #3176
2020-12-17 08:58:44 +05:30
Kovid Goyal
f52c843fa2
Add support for placement id to GraphicsCommand 2020-12-02 05:35:57 +05:30
Kovid Goyal
00aba7c646
Add basic editing support for the broadcast kitten 2020-12-01 17:35:15 +05:30
Kovid Goyal
34db18ea0a
Also transmit key events when broadcasting 2020-12-01 14:11:50 +05:30
Kovid Goyal
f481c17732
The broadcast kitten
Fixes #1569
2020-12-01 13:11:32 +05:30
Kovid Goyal
ed2dae5884
Fix error when sending empty write buf 2020-12-01 12:25:09 +05:30
Kovid Goyal
df61ee4ac3
... 2020-12-01 11:39:50 +05:30
Kovid Goyal
ff96036f62
Better window title when choosing tabs/OS windows 2020-11-21 14:58:08 +05:30
Kovid Goyal
d8790a4628
Make the help text for --linenum-action less confusing 2020-11-13 23:53:26 +05:30
Kovid Goyal
75a94bcd96
Improving MIME type detection for some common file types when they are missing from the system MIME database
Also allow the user to specify their own database via mime.types in the
kitty config directory. See #3056
2020-10-25 13:42:11 +05:30
Kovid Goyal
e160cbf32b
ssh kitten: Fix parsing of combined single letter options to more closely match ssh. Fixes #3053 2020-10-23 16:55:53 +05:30
Kovid Goyal
efca2658ea
Fix typing issues pointed out by updated mypy 2020-10-12 23:03:07 +05:30
Kovid Goyal
6a755bda45
A new kitten to easily query kitty for config values 2020-10-07 13:35:16 +05:30
Kovid Goyal
dab555ea3b
kittens: Dont discard pending input on startup
Fixes #3012
2020-10-06 16:39:00 +05:30
Kovid Goyal
b04b0c670d
Fix #3010
Probably ancient version of Python
2020-10-06 12:09:47 +05:30
Kovid Goyal
12c9d8d8f8
Delay load the ipaddress module 2020-10-06 06:50:17 +05:30
Sighery
10533c3eba Hints kitten: validate IPs with ipaddress
On the initial commit of this feature, IPs were just matched with a
very simple regex that prioritised simplicity/readability over
accuracy.

This commit adds a postprocessor for ip matches that makes use of
Python's `ipaddress` in the standard library to validate all the IP
matches.

This way we don't need huge and complex regex patterns to match _and_
validate the IPs, and we can just use `ipaddress` to abstract us from
implementing all the validation logic into the regex pattern.
2020-10-05 20:11:25 +02:00
Sighery
b4415c90f9 Hints kitten: add support for IPs (v4 and v6)
It selects v4 and v6 IPs with a simple regex that doesn't actually
check for the validity of the IPs.
2020-10-05 20:11:22 +02:00
Kovid Goyal
7fe6c7e78b
Also handle EOFError 2020-09-25 18:58:03 +05:30
Kovid Goyal
6c8a4f8d9f
Handle SIGINT more gracefully 2020-09-25 18:55:43 +05:30
Kovid Goyal
12bbe5459d
Allow selecting hyperlinks via the hints kitten 2020-09-24 13:21:15 +05:30
Kovid Goyal
e0d9e05fd4
Preserve rg exit code 2020-09-23 20:33:03 +05:30
Kovid Goyal
8bea61cb99
hyperlinked_grep: Ensure filename is always printed
Fixes hyperlinks not working when a single file is searched
2020-09-23 19:11:09 +05:30
Kovid Goyal
d09666aba9
Unicode input kitten: Add symbols from NERD font
These are mostly Private Use symbols not in any standard,
however they are common enough to be useful.

Fixes #2972
2020-09-22 19:47:39 +05:30
Kovid Goyal
083c47b0f0
A new kitten to easily search files and open the results at the matched line by clicking on them. 2020-09-18 19:33:51 +05:30
Kovid Goyal
e36d41b46f
Add a --hold option to icat
Keeps it alive after display images
2020-09-18 11:48:31 +05:30
Kovid Goyal
7695e3a9c8
Cleanup exit flow control for remote hostname not matching 2020-09-17 16:45:02 +05:30
Kovid Goyal
6d9d048287
Verify hostname before acting on remote file URL
Fixes #2971
2020-09-17 16:45:02 +05:30
Kovid Goyal
09e4d101c5
DRYer 2020-09-17 16:45:02 +05:30
Kovid Goyal
d60020f5ac
Allow copying hyperlink URL to clipboard 2020-09-15 13:23:31 +05:30
Kovid Goyal
437efe5473
Allow using the ask kitten to pick a choice 2020-09-15 12:39:07 +05:30
Kovid Goyal
be29c4a243
Move class definition to utils so can be used from multiple kittens easily 2020-09-15 10:34:37 +05:30
Kovid Goyal
e21a8e3cc2
Implement save as action for remote file kitten 2020-09-15 09:28:59 +05:30
Kovid Goyal
4279d6514d
Fix path completion for ~ paths 2020-09-15 09:22:24 +05:30
Kovid Goyal
457db5994b
Fix coloring of links using target 2020-09-15 09:14:44 +05:30
Kovid Goyal
71c942d290
Add colors to the path completer 2020-09-14 22:19:56 +05:30
Kovid Goyal
ee5bc8523b
Fix input redisplay when cursor not at end 2020-09-14 20:15:36 +05:30
Kovid Goyal
174f6b7ea8
Start work on a path completion implementation 2020-09-14 19:58:36 +05:30
Kovid Goyal
b14fb6f3c4
Implement editing of remote files 2020-09-12 18:43:04 +05:30
Kovid Goyal
d6e27e776b
Start work on the remote_file kitten
Easy access to files over SSH
2020-09-12 06:36:41 +05:30
Kovid Goyal
e6839b45e3
typo 2020-09-10 11:57:41 +05:30
Kovid Goyal
229134cf31
Misc. fixes for issues reported by clang's static analyzer
Most of them are false positives. A couple of mem leaks after unlikely
failure conditions.
2020-09-10 10:47:28 +05:30
Kovid Goyal
55e15dc79e
Properly type check os window initial size function
Also use the sizes specified int he session file in preference to those
specified on the command line. Fixes #2909
2020-08-11 09:28:53 +05:30
Kovid Goyal
a835b56a51
Speed up is_combining_char() in the common case 2020-08-06 17:45:40 +05:30
Kovid Goyal
8c7886d429
Add a changelog entry for the last PR 2020-08-03 09:00:19 +05:30
Jay Han
ee0b70f51b allow users to choose hint colors 2020-08-02 15:33:17 -07:00
Trygve Aaberge
d509a4fa8c Expand ~ in the path argument for linenum in hints
Fixes #2822
2020-07-02 01:01:14 +02:00
Kovid Goyal
57e6e7b2c5
Use ctrl+[] for changing tabs in unicode input as ctrl+tab is taken on macOS
ctrl+tab remains in addition for backwards compat
2020-06-26 12:29:42 +05:30
Luflosi
2b884377d4
Fix typos 2020-06-23 16:35:13 +02:00
Kovid Goyal
2c6e5a6e73
Get multiprocessing working in kitty
Monkeypatch the stdlib multiprocessing module to
use kitty as its python interpreter for spawning worker
processes.
2020-06-21 14:47:24 +05:30
Kovid Goyal
e07916425e
macOS: Fix for diff kitten not working with python 3.8
Fixes #2780
2020-06-20 19:03:45 +05:30
Kovid Goyal
19df7b94ea
Clarify documentation a bit 2020-06-16 09:53:08 +05:30
Kovid Goyal
a3ecc79f0d
Dont actually need -- since kitty's option processing code is smart enough to stop looking for options after the first non-optional argument 2020-06-16 09:31:42 +05:30
Kovid Goyal
b140b15119
Add a -- to linenum hints examples 2020-06-16 08:30:34 +05:30
Kovid Goyal
0e2ff077af
Fix #2682 2020-05-23 09:03:44 +05:30
Kovid Goyal
5768cc98b6
... 2020-05-15 13:31:35 +05:30
Kovid Goyal
da1cc6c1c5
Add a yes/no mode to the ask kitten 2020-05-15 13:16:14 +05:30
Kovid Goyal
e39da2b2bb
Merge branch 'icat-http-timeout' of https://github.com/lamby/kitty 2020-05-11 16:58:21 +05:30
Chris Lamb
f08ec1522a Set a default socket timeout when retrieving remote items in icat.
Otherwise we can easily hang when "icat"-ing resources from unreliable
websites/webcams, etc.
2020-05-11 12:24:57 +01:00
Trygve Aaberge
681fe7f2f2 Don't set word_characters to select_by_word_characters when empty string
This allows you to pass in --word-characters "" which will make hints
only match \w.
2020-04-13 23:02:44 +02:00
Kovid Goyal
0196920533
icat kitten: Fix display of 16-bit depth images
Fixes #2542
2020-04-13 23:05:10 +05:30
Kovid Goyal
4e7bf80447
diff kitten: New option to control the background color for filler lines in the margin
Fixes #2518
2020-04-08 20:42:49 +05:30
Kovid Goyal
bf4e8c490c
Update to Unicode 13.0
Fixes #2513
2020-04-06 18:59:35 +05:30
Kovid Goyal
8c23f9e526
DRYer 2020-03-28 09:20:28 +05:30
Kovid Goyal
90985cc846
Merge branch 'hints-copy-to-primary-selection' of https://github.com/trygveaa/kitty 2020-03-28 08:21:08 +05:30
Trygve Aaberge
63917944f2 Add an option to hints for copying to the primary selection 2020-03-27 20:23:02 +01:00
Kovid Goyal
8f1c6c4d74
Fix #2482 2020-03-26 00:53:19 +05:30
Kovid Goyal
0da566b49f
Hints kitten: Adjust the default regex used to detect line numbers to handle line+column numbers
See #2268
2020-03-25 10:03:25 +05:30
Kovid Goyal
eddd45bbc3
diff kitten: Fix images losing position when scrolling using mouse wheel/touchpad 2020-03-19 18:46:10 +05:30
Kovid Goyal
382c31ddf2
Use a stub rather than TYPE_CHECKING 2020-03-15 13:27:40 +05:30
Kovid Goyal
7c4a2ba329
Fix #2434 2020-03-14 20:19:26 +05:30
Kovid Goyal
c912eef040
Minor strictness increases 2020-03-14 14:59:31 +05:30
Kovid Goyal
8a3e71d3d0
oops 2020-03-12 11:28:58 +05:30
Kovid Goyal
149ae2866a
more typing work 2020-03-12 08:10:51 +05:30
Kovid Goyal
2ebdf738ca
more typing work 2020-03-11 20:08:16 +05:30
Kovid Goyal
2d4f194f0d
more typing work 2020-03-11 09:43:28 +05:30
Kovid Goyal
ce94a9b2df
More typing work 2020-03-11 09:35:59 +05:30
Kovid Goyal
bb8cab3a02
Add type information for tui operations cmds 2020-03-10 22:25:57 +05:30
Kovid Goyal
10435c23c2
more typing work 2020-03-10 20:25:09 +05:30
Kovid Goyal
01142cdc8c
Add type information to the Graphics Command infrastructure 2020-03-10 20:14:04 +05:30
Kovid Goyal
8ae110691e
More typing work 2020-03-09 21:06:13 +05:30
Kovid Goyal
3c2f3ecd8e
Fix #2420 2020-03-09 17:24:51 +05:30
Kovid Goyal
ac2c21e046
more typing work 2020-03-09 16:13:00 +05:30
Kovid Goyal
c817ba9eae
more typing work 2020-03-09 13:32:45 +05:30
Kovid Goyal
5bdb405635
More typing work 2020-03-09 08:56:02 +05:30
Kovid Goyal
9beae321d7
More typing work 2020-03-08 22:08:18 +05:30
Kovid Goyal
7057bc663e
Implement proper editor integration for mypy 2020-03-08 14:39:46 +05:30
Kovid Goyal
d84cff0baf
The hints kitten should by default use the URL prefixes from kitty.conf 2020-03-08 13:26:55 +05:30
Kovid Goyal
9b32f18109
Refactor remote control commands into individual modules
Also add type information
2020-03-08 08:39:26 +05:30
Kovid Goyal
0a6e264d09
Fix #2414 2020-03-07 15:15:27 +05:30
Kovid Goyal
afec07b124
More typing work 2020-03-06 14:19:46 +05:30
Kovid Goyal
1e998b6a3f
Use mypy in daemon mode 2020-03-05 20:38:51 +05:30
Kovid Goyal
77e9460eea
Make mypy a bit stricter 2020-03-05 19:57:28 +05:30
Kovid Goyal
f05890719d
Add type checking for the various CLI options objects 2020-03-05 15:47:12 +05:30
Kovid Goyal
ec8c96b8e6
diff kitten: Highlight pyi files as python 2020-03-04 11:52:58 +05:30
Kovid Goyal
f0b29e15c3
The utils and constants modules are now fully typechecked 2020-03-04 10:26:41 +05:30
Kovid Goyal
36eb52424f
No top level typing issues for kittens 2020-03-04 07:49:28 +05:30
Kovid Goyal
c9ce2f47dc
No top level typing issues found in kitty package 2020-03-04 07:31:22 +05:30
Kovid Goyal
a4cc10c41b
More typing work 2020-03-04 06:10:57 +05:30
Kovid Goyal
5730ce5f53
More typing work 2020-03-03 20:18:24 +05:30
Kovid Goyal
27524bfc3d
Restore global key definitions so as not to break third party kittens that might use them 2020-03-03 15:06:10 +05:30
Kovid Goyal
8843ded1c9
Refactor key encoding
Cannot have key names in global namespace as not all key names are valid
python identifiers. So move them into a dict.
2020-03-03 14:54:30 +05:30
Kovid Goyal
64b497589f
Start adding typing info 2020-03-03 14:31:25 +05:30
Kovid Goyal
507fbc7abf
Fix #2399 2020-02-27 07:14:44 +05:30
Trygve Aaberge
6a3eb3f3d7 tui line_edit: Set correct cursor position on end
Previously, the cursor would end up one character after the last typed
character when pressing end in the unicode input kitten.
2020-02-23 11:58:44 +01:00
Kovid Goyal
d6d01102fe
diff kitten: Fix directory diffing with removed binary files failing
Fixes #2378
2020-02-19 19:53:19 +05:30
Kovid Goyal
62e273c5bb
unicode input kitten: Allow pressing :kbd:ctrl+tab to change the input mode
Fixes #2343
2020-02-08 13:29:50 +05:30
Kovid Goyal
1eee6deb22
Fix #2339 2020-02-06 16:21:40 +05:30
Kovid Goyal
91673642b3
icat: Allow easily specifying z-index values below background threshold 2020-01-12 09:36:11 +05:30
Kovid Goyal
9bc1b5a2d9
hints kitten: Allow pressing :sc:goto_file_line to quickly open the selected file at the selected line in vim
Fixes #2268
2020-01-10 10:01:03 +05:30
Kovid Goyal
fdb915d0c8
Merge branch 'zindex' of https://github.com/ctrlcctrlv/kitty 2020-01-08 18:20:34 +05:30
Fredrick Brennan
c2769c9aed Add --z-index to icat kitten
Meow.
2020-01-08 20:08:01 +08:00
Nathan DECHER
6742fabfba fix kitty +kitten panel -c <config> resulting in no config at all 2019-12-18 00:33:40 +01:00
Kovid Goyal
90bcbbf426
No need to add index to titles when using hits kitten to choose tab/os_window 2019-11-28 10:11:14 +05:30
Kovid Goyal
5f7bcae072
hints kitten: Add an option --ascending to control if the hints numbers increase or decrease from top to bottom 2019-11-28 09:20:02 +05:30
Kovid Goyal
738878c2ff
unicode input kitten: Add an option :option:kitty +kitten unicode_input --emoji-variation to control the presentation variant of selected emojis
Fixes #2139
2019-11-17 13:13:37 +05:30
Kovid Goyal
d5682fe49a
Fix #2137 2019-11-17 08:35:23 +05:30
Kovid Goyal
c8627c9713
Expand user/env vars in csutomize processing path and note that absolute paths can be used in the docs for it. 2019-11-16 10:05:25 +05:30
Kovid Goyal
432d0f3318
hints kitten: Allow passing extra CLI args when using --customize-procesing 2019-11-13 17:27:55 +05:30
Kovid Goyal
400ab584ac
hints kitten: Allow completely customizing the matching and actions performed by the kitten using your own script
Fixes #2124
2019-11-11 21:26:42 +05:30
Kovid Goyal
9edad62144
hints kitten: Allow using named groups in the regular expression. The named groups are passed to the invoked program for further processing. 2019-11-11 17:34:19 +05:30
Luflosi
5e7fd21c8d
Use "with suppress()" to suppress a python exception 2019-10-28 18:35:21 +01:00
Luflosi
b710ffc403
Fix icat kitten
Fixes https://github.com/kovidgoyal/kitty/issues/2081.
This bug was introduced in 10e5fcc375.

One place in the code requires the actual `screen_size_function`, not just the result of it.
2019-10-20 21:37:14 +02:00
Benoit de Chezelles
10e5fcc375 Fix usage of icat function show
The `screen_size` function was not initialized yet
2019-10-18 04:54:14 +02:00
Kovid Goyal
802da7087c
diff kitten: Allow diffing remote files easily via ssh
See #727
2019-10-04 09:08:22 +05:30
Kovid Goyal
b709ee6842
Add a function to check if a codepoint is a symbol 2019-10-01 18:57:06 +05:30
Luflosi
6cc720a350
Fix typos
Inspired by 4d3ee554b3.
Found using `codespell`.
2019-08-26 12:31:15 +02:00
Kovid Goyal
a5d6cd169e
Fix piping PNG images into the icat kitten not working
Fixes #1920
2019-08-24 08:04:04 +05:30
Kovid Goyal
afcaca85da
Merge branch 'hints_regex_doc' of https://github.com/toonn/kitty 2019-08-18 07:41:14 +05:30
Toon Nolten
2575349ec2 Add expected regex syntax to hints kitten docs
The hints kitten's help documentation did not mention what syntax to use
for the regular expressions. I knew much of kitty was implemented in
python so I guessed correctly but not everyone might know this.

I also fixed some double-spaced sentences because most of them are
single-spaced.
2019-08-17 21:27:53 +02:00
Kovid Goyal
8e1ed2f8c3
Update unicode data to 12.1 2019-08-02 14:48:18 +05:30
Kovid Goyal
bdf7d98a36
hints kitten: Allow specifying :option:kitty +kitten hints --program multiple times to run multiple programs
See #1879
2019-08-02 10:03:04 +05:30
Luflosi
5f855ce547
Use context managers to open files
Inspired by d50a6ddc1b.
2019-08-01 13:21:26 -05:00
Kovid Goyal
68f3b6fbeb
Fix the decode_hint function to work with an arbitrary alphabet 2019-08-01 19:31:21 +05:30
Kovid Goyal
dc6d14943e
Dont use a global variable for the hints alphabet 2019-08-01 19:24:09 +05:30
Kovid Goyal
05f7334db9
hints kitten: Add a :option:kitty +kitten hints --alphabet option to control what alphabets are used for hints
Fixes #1879
2019-08-01 16:25:54 +05:30
Kovid Goyal
7ab5244bf5
ssh kitten: Make argument parsing more like ssh
Fixes #1787
2019-07-09 17:48:43 +05:30
Kovid Goyal
2719926870
Add some documentation on how to get regexes in the hints kitten to match over multiple lines. 2019-07-03 10:45:37 +05:30
Kovid Goyal
6a31909557
Make the MIN and MAX macros typesafe 2019-07-01 17:03:47 +05:30
Kovid Goyal
af3504e05c
Ensure that ensure_space() does not leave a NULL pointer 2019-06-24 16:00:45 +05:30
Kovid Goyal
38bc90f724
unicode_input kitten: Fix a regression that broke using indices to select recently used symbols. 2019-06-17 07:11:07 +05:30
Kovid Goyal
2e99259589
Make it possible to run custom kittens via kitty +kitten
Should help reduce confusion about how kittens work. Fixes #1712
2019-06-14 09:05:03 +05:30
Kovid Goyal
83e6b75872
More helpful error message if user tries to run a custom kitten via kitty +kitten 2019-06-14 08:23:25 +05:30
Kovid Goyal
8ebad06e7e
clipboard kitten: Add a --wait-for-completion option to have the kitten wait till copying to clipboard is complete
Fixes #1693
2019-06-07 07:13:15 +05:30
Luflosi
4eed8463b3
Simplify chained comparisions 2019-06-05 15:24:36 +02:00
Kovid Goyal
c0a96f2087
icat kitten: Fix a regression that broke passing directories to icat
Fixes #1683
2019-06-05 07:36:47 +05:30
Kovid Goyal
277f43aed6
Linux: Disable the Wayland backend on GNOME
GNOME has no support for server side decorations.
Can be controlled by new option linux_display_server.
2019-06-04 19:10:13 +05:30
Luflosi
2b095f720e
Use "with suppress()" to suppress python exceptions
Using
```Python
with suppress(OSError):
    os.remove('somefile.tmp')
```
instead of
```Python
try:
    os.remove('somefile.tmp')
except OSError:
    pass
```
makes the code more compact and more readable IMO.

This pattern was recommended by Raymond Hettinger, a Python Core
Developer in his talk "Transforming Code into Beautiful, Idiomatic Python" at https://www.youtube.com/watch?v=OSGv2VnC0go. The transcript is available at https://github.com/JeffPaine/beautiful_idiomatic_python
2019-06-03 12:27:43 +02:00
Kovid Goyal
4f163338dd
Allow controlling how multiple selections are handled in the hints kitten
Fixes #1665
2019-06-02 09:23:20 +05:30
Luflosi
a792c94ccf
Use python3 shebang for all python scripts
Fixes #1624.
Use python3 shebang for all python scripts as python still defaults to python2 on many systems.
2019-05-20 14:44:24 +02:00
Kovid Goyal
4fff84b4b9
Add void to all function declarations for functions that take no arguments
Micro-optimization for some architectures. Enforced via
-Wstrict-prototypes
2019-05-13 11:04:21 +05:30
Kovid Goyal
c6d3ede57e
Fix show_error kitten --title not working 2019-04-28 20:48:57 +05:30
Kovid Goyal
1c4f5b471d
Fix #1575 2019-04-27 07:58:07 +05:30
Kovid Goyal
6f5ff05c56
Merge branch 'master' of https://github.com/fdev31/kitty 2019-04-19 14:09:48 +05:30
fdev31
2376b7c255 implement fast browsing of the unicode input
useful for zones with icons
2019-04-18 22:52:06 +02:00
Kovid Goyal
6c8ccbd73a
... 2019-03-07 06:40:33 +05:30
Kovid Goyal
2550bc910d
Fix specifying initial window size in cells not working correctly on HiDPI screens
Fixes #1444
2019-03-06 21:23:54 +05:30
Kovid Goyal
facd353228
Update to using the Unicode 12 standard 2019-03-06 13:58:16 +05:30
Kovid Goyal
5adf7c2a3a
icat kitten: Add a --silent flag to avoid printing anything to stdout
Useful for integration with other tools. See #1308
2019-02-27 09:02:15 +05:30
Luflosi
3b34cec64c
Consistent case for color codes 2019-02-25 14:47:14 +01:00
Luflosi
37afd7aaa7
Fix memory leak 2019-02-23 15:46:16 +01:00
Luflosi
862075bd65
Fix memory leak 2019-02-23 12:32:40 +01:00
Luflosi
174a45b4bd
Add check for NULL after malloc() 2019-02-23 09:13:12 +01:00
Kovid Goyal
aed504efdc
Remove unnecessary NULL check 2019-02-23 07:42:08 +05:30
Kovid Goyal
502c31b408
icat: Ensure temp files are cleaned up 2019-02-15 10:08:25 +05:30
Kovid Goyal
062563a562
icat: Add support for file:// URLs as well 2019-02-15 09:59:54 +05:30
Kovid Goyal
8952afd6cc
Fix compilation of new choose kitten under FreeBSD
I hope. Fixes #1347
2019-01-30 09:11:25 +05:30
Kovid Goyal
c8dfe955d7
... 2019-01-29 11:08:34 +05:30
Kovid Goyal
5ff4a6f4d8
Add a note to the icat help about viewing URLs 2019-01-27 21:33:03 +05:30
Kovid Goyal
5172597d96
Also process ftp URLs in icat 2019-01-27 21:30:53 +05:30
Kovid Goyal
a09fb7b20d
icat kitten: Add support for displaying images at http(s) URLs
Fixes #1340
2019-01-27 21:28:46 +05:30
Kovid Goyal
60b64dadfe
Add tests for the subseq matcher 2019-01-24 20:52:18 +05:30
Kovid Goyal
edb25314c5
Add skeleton for choose kitten 2019-01-23 20:04:46 +05:30
Kovid Goyal
19bce0c23c
Start work on a choose kitten for fuzzy selection 2019-01-23 19:38:08 +05:30
Kovid Goyal
a8ad4461a1
Create a kitten to demonstrate the kitty extended keyboard protocol 2019-01-20 14:38:19 +05:30
Kovid Goyal
9fdd8e4ae4
macOS: Fix some kittens causing 100% CPU usage 2019-01-19 14:01:36 +05:30
Kovid Goyal
6b6dea5190
... 2019-01-19 13:51:18 +05:30
Kovid Goyal
5af551c96d
macOS: Fix detection of differ
There can be a wrapper git on macOS that complains about command line
tools installation, so check that passing --help to it actually works.
2019-01-19 12:36:34 +05:30
Kovid Goyal
3bddb9d95b
Fix an exception when chaging diff context on very small diffs 2019-01-16 21:24:34 +05:30
Kovid Goyal
fa01e0b76f
icat kitten: Add a --stdin option to control if image data is read from stdin
See #1308
2019-01-16 16:35:53 +05:30
Kovid Goyal
c94e06ccd2
hints kitten: Start hints numbering at one instead of zero by default. Added an option `--hints-offset` to control it.
Fixes #1289
Fixes #1290
2019-01-08 07:31:54 +05:30
Kovid Goyal
3e26f96744
Add some common synonyms for unicode word searching
Fixes #1133
2018-11-13 15:46:33 +05:30
Kovid Goyal
34aea3bca1
Merge branch 'hints-add-trailing-space' of https://github.com/maximbaz/kitty 2018-11-11 11:03:11 +05:30
Maxim Baz
f26519863f
Don't include --progam in the condition 2018-11-10 13:24:39 +01:00
Maxim Baz
a57e96500a
hints: optionally add trailing space 2018-11-10 13:19:40 +01:00
Kovid Goyal
4601cd13dc
icat kitten: Implement reading image data from STDIN, if STDIN is not connected to a terminal
Fixes #1130
2018-11-10 12:31:09 +05:30
Kovid Goyal
787100a4dc
Modify the kittens sub-system to allow creating custom kittens without any user interface.
See #870
2018-10-12 18:09:37 +05:30
Kovid Goyal
4a8c4c4601
Unicode input: Fix an error when searching for the string 'fir'
Fixes #1035
2018-09-28 19:01:20 +05:30
Kovid Goyal
e498cedf56
remove unused import 2018-09-27 08:52:40 +05:30
Daniel Hahler
3323ddcdef unicode_input: use reverse mode for menu selection 2018-09-26 22:50:22 +02:00
Kovid Goyal
3bd45966c6
diff kitten: Fix spurious traceback on exit when pygments is missing
Fixes #863
2018-09-06 06:05:08 +05:30
Kovid Goyal
bbe8bcb28d
Fix a regression that broke layout resizing
Fixes #860
2018-09-05 10:51:08 +05:30
Kovid Goyal
e05aaf77ce
spelling typo 2018-09-01 10:41:35 +05:30
Kovid Goyal
59f39ae3ab
Fix detection of xprop on systems with older xprop
Fixes #798
2018-08-08 15:31:15 +05:30
Kovid Goyal
d964146f8c
Use ctermid() instead of hardcoding /dev/tty 2018-08-04 20:58:01 +05:30
Kovid Goyal
e05d48a574
Also prevent long running diff workers from causing a hang on exit 2018-08-04 17:51:33 +05:30
Kovid Goyal
927bfcd37a
Use only a single diff executor 2018-08-04 17:46:05 +05:30
Kovid Goyal
42cabace47
Better fix for long running highlight workers 2018-08-04 17:41:37 +05:30
Kovid Goyal
9a1f14d05c
diff kitten: Do not highlight extremely large files
python's asyncio module has no way to tell a process executor object to
kill its worker processes, so highlighting very large files cause the
kitten to hang around o exit till the highlighting is done
2018-08-04 17:30:45 +05:30
Kovid Goyal
000c1cf306
Implement support for emoji skin tone modifiers
Fixes #787
2018-08-04 10:06:25 +05:30
Kovid Goyal
e5a720c6fa
Fix detection of URLs in HTML source code (URLs inside quotes)
Fixes #785
2018-08-03 12:28:23 +05:30
Kovid Goyal
8d20dbe81d
Use the ! modifier when resizing images via ImageMagick
Should hopefully make ImageMagick respect the specified width and height
exactly.
2018-08-01 12:03:36 +05:30
Kovid Goyal
f018e1a075
Nicer check for is_binary 2018-07-28 14:02:01 +05:30
Kovid Goyal
8a812c9d02
diff kitten: Fix error when only RHS file is a binary file
Fixes #752
2018-07-28 13:59:32 +05:30
Kovid Goyal
341a34ea9e
Assume file extensions are up to 7 chars long
See .desktop files
2018-07-26 18:37:13 +05:30
Kovid Goyal
57871e1983
Restore sys.path after importing custom kitten 2018-07-25 09:51:04 +05:30
Kovid Goyal
5485436ea1
... 2018-07-24 10:18:37 +05:30