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
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
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
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
dab555ea3b
kittens: Dont discard pending input on startup
...
Fixes #3012
2020-10-06 16:39:00 +05:30
Kovid Goyal
437efe5473
Allow using the ask kitten to pick a choice
2020-09-15 12:39:07 +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
Luflosi
2b884377d4
Fix typos
2020-06-23 16:35:13 +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
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
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
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
9beae321d7
More typing work
2020-03-08 22:08:18 +05:30
Kovid Goyal
77e9460eea
Make mypy a bit stricter
2020-03-05 19:57:28 +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
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
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
Luflosi
5f855ce547
Use context managers to open files
...
Inspired by d50a6ddc1b .
2019-08-01 13:21:26 -05:00
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
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
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
1c4f5b471d
Fix #1575
2019-04-27 07:58:07 +05:30
Kovid Goyal
9fdd8e4ae4
macOS: Fix some kittens causing 100% CPU usage
2019-01-19 14:01:36 +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
2c3235d452
Remove need to call super-class on_resize method
2018-07-15 16:19:54 +05:30
Kovid Goyal
0b662ecb9a
Refactor the kittens tui loop to use asyncio
...
Gets us timers and various jobs for free, and makes it easier to
integrate with libraries that use asyncio from the larger python
ecosystem.
2018-07-15 15:27:35 +05:30
Kovid Goyal
e8f7a2b345
Dont send on_text events with empty text
2018-06-16 08:55:10 +05:30
Kovid Goyal
6f7ea49008
Switch to high number OSC codes instead of DCS string codes for dynamic color push/pop
2018-06-15 15:21:46 +05:30
Kovid Goyal
cd6a46730a
...
2018-06-15 14:48:59 +05:30
Kovid Goyal
59743fd7a1
diff kitten: Allow theming the selection background/foreground as well
2018-06-15 14:43:39 +05:30
Kovid Goyal
fe3b10a8fb
diff kitten: Implement searching for text in the diff
...
Fixes #574
2018-06-15 14:28:42 +05:30
Kovid Goyal
82f9f002bd
diff kitten: Fix default foreground/background colors not being restored when kitten quits. Fixes #637
2018-06-14 23:25:13 +05:30
Kovid Goyal
7214b66aa5
A new tui API for simple line editing
...
Handles basic line-editing with the extended keyboard protocol and
support for wide chars.
Currently used by the unicode input kitten.
2018-06-14 13:11:48 +05:30
Kovid Goyal
02ac2336bd
DRYer
2018-06-09 12:47:52 +05:30
Kovid Goyal
c094ebce07
Set VMIN to 1 as without it poll() returns immediately even when no data is available to read on macOS
2018-06-09 11:17:12 +05:30
Kovid Goyal
65ed9c759c
...
2018-06-09 11:10:58 +05:30
Kovid Goyal
83fe2438f9
Forgot to port the exception handler loop
2018-06-09 11:08:25 +05:30
Kovid Goyal
caa20aa081
Use the new tty code in tui as well
2018-06-09 09:06:48 +05:30
Kovid Goyal
19721014d0
Remote control: Fix kitty @ sometimes failing to read the response from kitty.
...
Fixes #614
2018-06-08 15:35:01 +05:30
Kovid Goyal
97c317b735
Make screen_size handling in tui cleaner
...
Now screen size is fetched only for output_fd rather than sys.stdout
2018-06-06 11:20:55 +05:30
Kovid Goyal
dab57f3819
When receiving contiguous non-empty OSC 52 clipboard writes, combine them.
...
Max combined text is set at 1MB. Allows sending texts larger than the
escape code size limit.
2018-05-28 21:50:42 +05:30
Kovid Goyal
4b259dd719
diff kitten: Make the keyboard shortcuts configurable
...
Fixes #563
2018-05-23 13:10:32 +05:30
Kovid Goyal
d3edd2e73f
Add a kitten to get/set the clipboard via OSC 52
2018-05-21 23:24:27 +05:30
Kovid Goyal
70352ca722
kittens: Don't fail on systems that return invalid values for SC_IOV_MAX. Fixes #558
2018-05-21 12:22:46 +05:30
Kovid Goyal
fa3e173c18
diff kitten: Report errors converting images
2018-05-20 15:01:25 +05:30
Kovid Goyal
fb57653665
Make debugging kittens a little nicer
...
Now debug() writes to the stderr of the parent kitty process instead of
a temp file.
2018-05-19 16:32:08 +05:30
Kovid Goyal
8ea84c97d5
Use an overlay window for window resizing
...
Also implement a remote command to resize windows
2018-05-17 23:26:41 +05:30
Kovid Goyal
b8e9921f3d
Forgot this file in previous commit
2018-05-10 16:20:58 +05:30
Kovid Goyal
e0ce5d5629
tui: Cleanup unhandled exception processing
...
Also handler finalization should happen before term manager
finalization.
2018-05-10 16:20:33 +05:30
Kovid Goyal
ee3b052a50
tui: Preserve cursor position when placing images
2018-05-10 15:27:35 +05:30
Kovid Goyal
a6bce0b221
diff: More work on showing images
2018-05-10 14:33:09 +05:30
Kovid Goyal
d571ee0d01
diff: More work on displaying images
2018-05-10 11:50:46 +05:30
Kovid Goyal
5d7ed67316
diff: More work on displaying images
2018-05-10 10:36:50 +05:30
Kovid Goyal
2e313fbdd2
Better exception for image conversion failure
2018-05-09 20:50:56 +05:30
Kovid Goyal
5c3e4db05f
DRYer
2018-05-09 20:36:53 +05:30
Kovid Goyal
2be2f6aa0c
Make icat a kitten
...
The kittens framework did not exist when icat was first written.
2018-05-09 20:26:30 +05:30
Kovid Goyal
27feccba39
diff: More work on image support
2018-05-09 19:41:37 +05:30
Kovid Goyal
2e69b904da
diff: More work on images
2018-05-09 14:06:15 +05:30
Kovid Goyal
683e5a4754
DRYer
2018-05-09 11:32:09 +05:30
Kovid Goyal
d133ffac25
Make using tui.operations more convenient
2018-05-06 15:34:11 +05:30
Kovid Goyal
ffc6e65392
Implement scrolling for the diff kitten
2018-05-06 14:41:10 +05:30
Kovid Goyal
d61086907d
Add a global debug function to the kittens
2018-05-06 13:48:40 +05:30
Kovid Goyal
5c4b14468c
Apply default colors in diff kitten
2018-04-24 10:33:18 +05:30
Kovid Goyal
b5da109e7f
Wire up config infrastructure for diff kitten
2018-04-22 21:44:47 +05:30
Kovid Goyal
20c42ab519
tui: Allow handlers to finalize() as well as initialize()
2018-04-22 13:14:25 +05:30
Kovid Goyal
92bb6e293a
Add threaded job infrastructure to tui
2018-04-20 21:12:10 +05:30
Kovid Goyal
d5907a1bf9
More work on the diff kitten
2018-04-19 10:26:14 +05:30
Kovid Goyal
3790af6897
Basic ask kitten
2018-03-23 18:03:43 +05:30
Kovid Goyal
eaea0b16b5
Fix URL hints not working on macOS
...
Fixes #363
2018-03-08 13:38:16 +05:30
Kovid Goyal
1b84064e5f
...
2018-03-08 13:01:35 +05:30
Kovid Goyal
57cf789c75
Finish up the URL hints kitten
2018-02-14 12:34:01 +05:30
Kovid Goyal
62174fdbcc
DRYer
2018-02-14 11:19:58 +05:30
Kovid Goyal
b0f5d8dfdc
Fix table row generation for non-name unicode input panels
2018-02-13 10:50:06 +05:30
Kovid Goyal
67e0d3723a
Implement favorites for unicode input
2018-02-13 10:33:55 +05:30
Kovid Goyal
dab852c412
Implement searching for unicode characters by name
2018-02-12 14:08:54 +05:30
Kovid Goyal
3363a9459b
Implement drawing of titlebar, remembering of mode and fix various bugs in tui
2018-02-12 10:19:29 +05:30
Kovid Goyal
f0d4ad16d2
Work on search by name in unicode input
2018-02-12 10:19:29 +05:30
Kovid Goyal
e119ed0daa
Ignore harmless KeyError while modifying selectors
2018-02-09 20:20:18 +05:30
Kovid Goyal
194454715f
Basic unicode input works
2018-02-08 22:16:39 +05:30
Kovid Goyal
d19f9e5b96
Fix error handling in tui.loop
2018-02-08 12:33:27 +05:30
Kovid Goyal
213a223861
Typo in incremental decoder init
2018-02-08 11:56:34 +05:30
Kovid Goyal
ef9a24932f
Start work on unicode input kitten
2018-02-08 11:00:57 +05:30
Kovid Goyal
0f63d1bfa7
...
2018-02-07 22:41:03 +05:30
Kovid Goyal
66a897cc80
Add interrupt and eot callbacks
2018-02-07 19:46:53 +05:30
Kovid Goyal
e3b4919c17
Finish up tui.Loop
2018-02-07 13:30:34 +05:30
Kovid Goyal
168bc58635
The kittens learn about mice
2018-02-07 12:40:04 +05:30
Kovid Goyal
f4f0b8fd5f
Kittens learn about bracketed paste
2018-02-07 10:39:05 +05:30
Kovid Goyal
35f1658f4a
Key and text handler for the kittens
2018-02-06 20:58:46 +05:30
Kovid Goyal
22cf67b407
More work on tui.loop
2018-02-06 20:08:28 +05:30
Kovid Goyal
c2cb43cc07
Framework for kittens
2018-02-04 20:23:52 +05:30