Commit Graph
49 Commits
Author SHA1 Message Date
Kovid Goyal 11f98592f7 We still need full keyboard protocol for @ send-text 2023-01-23 16:33:08 +05:30
Kovid Goyal 97467acb1f kitten @ cmd: Dont generate key release events
We dont need them and they sometimes can spill over into the prompt if
the command is very fast.
2023-01-23 16:18:46 +05:30
Kovid Goyal cc1f0bc3fe Function to drain controlling tty 2023-01-23 16:07:00 +05:30
Kovid Goyal 26ca3f9bad Simplify code 2023-01-18 16:16:11 +05:30
Kovid Goyal bf7d27691c Also add the EINTR fix from previous commit to writing to loop 2023-01-18 16:09:19 +05:30
Kovid Goyal 22532b4805 kitten @: Fix occasional hang until key is pressed while waiting for response from terminal
Fixes #5890
2023-01-18 16:07:42 +05:30
Kovid Goyal 2d846f53a1 ... 2023-01-18 14:44:40 +05:30
Kovid Goyal 63077e5432 Dont do extremely small reads 2023-01-18 10:13:07 +05:30
Kovid Goyal 5edb1e2d6b micro-optimization 2023-01-18 09:58:29 +05:30
Kovid Goyal 3743ae50e7 Simplify icat code and write to STDOUT rather than the terminal device
The terminal device is now used only for detection.
2023-01-06 16:16:15 +05:30
Kovid Goyal df06578c2d Implement --scale-up and --place 2023-01-05 19:15:12 +05:30
Kovid Goyal 22d69d24d0 Fix panic when no timers are left after dispatch 2023-01-05 19:15:11 +05:30
Kovid Goyal d76e0850ae More work on porting icat 2023-01-05 19:15:11 +05:30
Kovid Goyal 2e81d00c92 make go fmt happy 2022-12-24 10:53:17 +05:30
Kovid Goyal cd92d50a0d Keyboard protocol: Remove CSI R from the allowed encodings of the F3 key as it conflicts with the *Cursor Position Report* escape code 2022-12-24 10:32:28 +05:30
Kovid Goyal 71e09ba1fb Fix show_key kitten showing incorrect CSI encoding for F3 2022-12-01 23:33:08 +05:30
Kovid Goyal f5d2c35755 Move implementation of +hold to Go
No need to pay python interpreter startup cost for --hold
2022-12-01 22:34:56 +05:30
Kovid Goyal a721ffeb7d Finish porting clipboard kitten to Go 2022-11-26 15:15:30 +05:30
Kovid Goyal 9db1d581f7 DRYer 2022-11-16 22:37:27 +05:30
Kovid Goyal b3bc5a5565 ... 2022-11-16 22:35:59 +05:30
Kovid Goyal fc20e8d04b Fix spurious EOF error when select for reading from the tty fails with a temporary error 2022-11-16 22:32:35 +05:30
Kovid Goyal 86af1d5c16 Wrap EOF errors when doing terminal I/O 2022-11-16 22:23:00 +05:30
Kovid Goyal 36dd5b2d00 More minor loop API additions 2022-11-15 21:00:19 +05:30
Kovid Goyal 87108a18ef Add a callback for wakeups 2022-11-15 18:01:21 +05:30
Kovid Goyal b7816d26be Implement clear screen c-l binding 2022-11-14 15:42:06 +05:30
Kovid Goyal 3c4a411cad Rewrite the readline redraw code to make the screen lines explicit 2022-11-14 15:42:06 +05:30
Kovid Goyal 834385baff Improve performance when pasting large amounts of text into readline by not redrawing on every char 2022-11-14 15:42:05 +05:30
Kovid Goyal 1058c999c8 ... 2022-11-14 15:42:04 +05:30
Kovid Goyal 936a7a5f97 Dont write escape code for zero movement 2022-11-14 15:42:04 +05:30
Kovid Goyal 350060e0f6 ... 2022-11-14 15:42:04 +05:30
Kovid Goyal 430bd23870 Fix decoding of letter trailer CSI key event 2022-11-14 15:42:04 +05:30
Kovid Goyal 9f2b2eac85 More work on shell 2022-11-14 15:42:04 +05:30
Kovid Goyal 32059dba7e More work on readline 2022-11-14 15:42:03 +05:30
Kovid Goyal c8296a44eb More work on readline 2022-11-14 15:42:03 +05:30
Kovid Goyal ef49634353 Fix some issues reported by staticcheck 2022-11-14 15:42:01 +05:30
Kovid Goyal 2cacd7a64a get rid of interface{} since we now require Go 1.18 2022-11-14 15:42:00 +05:30
Kovid Goyal a7f6105393 Use Unsafe rather than Dangerous to be consistent 2022-11-14 15:41:55 +05:30
Kovid Goyal e8a321d097 Port code to serialize key events as CSI to Go 2022-11-14 15:41:55 +05:30
Kovid Goyal ea8fb10c05 Password input: Handle SIGTSTP 2022-11-14 15:41:55 +05:30
Kovid Goyal 67115530b4 Make the loop API a thin wrapper around internal methods 2022-11-14 15:41:55 +05:30
Kovid Goyal 5cf10023c9 Nicer API for setting loop options 2022-11-14 15:41:55 +05:30
Kovid Goyal 457aab7c41 Simplify timer removal 2022-11-14 15:41:54 +05:30
Kovid Goyal dcec926590 Do not allow adding timers before loop is run 2022-11-14 15:41:54 +05:30
Kovid Goyal 6d6bba4a4c debugprintln should be in-band for the loop 2022-11-14 15:41:54 +05:30
Kovid Goyal 5cc5759f3e flush_pending_writes must be non-blocking 2022-11-14 15:41:54 +05:30
Kovid Goyal 9c58cb3f41 ... 2022-11-14 15:41:52 +05:30
Kovid Goyal a75d59643c Use one less channel 2022-11-14 15:41:52 +05:30
Kovid Goyal bf35817d73 No need to store most channels on self 2022-11-14 15:41:52 +05:30
Kovid Goyal 1b90c03304 Refactor loop code into its own package 2022-11-14 15:41:52 +05:30