Commit graph

728 commits

Author SHA1 Message Date
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