C. McEnroe
e6e2021d48
Add C-b and C-f
2020-02-09 03:41:46 -05:00
C. McEnroe
2d62ea9e30
Simplify edit buffer conversion and input rendering
2020-02-09 01:28:24 -05:00
C. McEnroe
e0714a9b7e
Switch to "other" window if closing active window
2020-02-09 00:39:09 -05:00
C. McEnroe
29bd788660
Simplify(?) reflow buffer loop
2020-02-08 16:56:49 -05:00
C. McEnroe
943502ea82
Add /close
2020-02-08 02:26:00 -05:00
C. McEnroe
55e721da42
Check return values of newwin/newpad
2020-02-08 02:13:02 -05:00
C. McEnroe
0705f09310
Only treat the first tab as the alignment point
2020-02-07 23:56:41 -05:00
C. McEnroe
71b0536536
Revert "Only treat the first tab as the alignment point"
...
This reverts commit 5881a96638
.
2020-02-07 23:55:46 -05:00
C. McEnroe
ef9bea6d60
Use atexit instead of err_set_exit
...
Unsurprisingly, err_set_exit doesn't exist in GNU's err.h, but since
it's safe to call reset_shell_mode on any kind of exit, just use atexit.
2020-02-07 22:25:09 -05:00
C. McEnroe
fe5fd89705
Populate completion with commands
2020-02-07 21:39:56 -05:00
C. McEnroe
a26c9ae0bc
Use define_key for meta keys
...
This will allow distinguishing meta from escape via ESCDELAY (which
should probably be set to something quite a lot shorter than its
default).
2020-02-07 20:41:27 -05:00
C. McEnroe
5881a96638
Only treat the first tab as the alignment point
2020-02-07 20:29:32 -05:00
C. McEnroe
aed762368d
Show one cell to the right of the input cursor
2020-02-07 20:28:22 -05:00
C. McEnroe
4343f35f9c
Add key bindings for IRC formatting
2020-02-07 02:46:40 -05:00
C. McEnroe
af244ad3cd
Add some real line editing operations
2020-02-07 01:56:23 -05:00
C. McEnroe
273207b19f
Flush stdout after using putp
2020-02-06 23:11:48 -05:00
C. McEnroe
ea7e919a1d
Color notices LightGray in input
2020-02-06 23:11:35 -05:00
C. McEnroe
9cff026b5a
Show input in italics for actions and set Debug prompt
2020-02-06 19:05:51 -05:00
C. McEnroe
34514cf2ee
Render actions in italic
...
Also render italic as normal if it's unsupported, as that is what would
happen anyway if curses has A_ITALIC but the terminal has no sitm. That
format string is kinda bad.
2020-02-06 18:48:49 -05:00
C. McEnroe
68440d50c6
Beep on hot
2020-02-06 04:23:49 -05:00
C. McEnroe
a5a162b9c6
Disable SUSP
...
Frees up C-z and suspending an IRC client is silly anyway.
2020-02-06 02:25:58 -05:00
C. McEnroe
b2d35edcb2
Change prompt depending on command
2020-02-05 19:00:54 -05:00
C. McEnroe
a7b0ed9907
Scroll the input window
...
I was wondering if I should instead make input wrap, but then wordWrap
would need to both support showing formatting and persisting styles
across to strings, and it would need to move the window pad up and down
a bunch, etc.
2020-02-05 18:18:41 -05:00
C. McEnroe
eb91347308
Only reflow text when COLS changes
2020-02-05 18:01:57 -05:00
C. McEnroe
6e679bdf26
Modulo colors before comparing pairs
...
Otherwise a new pair is allocated every time a high color is requested.
2020-02-05 04:24:13 -05:00
C. McEnroe
42210e079b
Reflow text on window resize
2020-02-05 02:03:21 -05:00
C. McEnroe
4cce893eab
Add extremely basic editing and message sending
2020-02-05 00:20:39 -05:00
C. McEnroe
104b3ffd4f
Model keyCtrl like keyMeta
2020-02-04 21:00:33 -05:00
C. McEnroe
55757243f4
Call inputUpdate when switching windows
...
Because changing windows (to <network> or <debug>) will affect the
prompt.
2020-02-04 20:46:16 -05:00
C. McEnroe
9944dc484b
Split showing style codes and word wrapping
2020-02-04 20:23:55 -05:00
C. McEnroe
d57df09511
Align word wrapping with tab character
...
Also fixes handling whitespace directly after control codes.
2020-02-04 19:50:23 -05:00
C. McEnroe
a65841c3cb
Switch windows with M-0 through M-9
2020-02-04 04:41:11 -05:00
C. McEnroe
d57e786876
Factor out unmark
2020-02-04 04:09:54 -05:00
C. McEnroe
43845c6115
Add beginnings of input handling
2020-02-04 03:58:56 -05:00
C. McEnroe
26e9dd9adf
Use time_t rather than struct tm
2020-02-03 18:41:52 -05:00
C. McEnroe
c9470b59a1
Add sequences for toggling focus/paste modes
2020-02-02 23:20:19 -05:00
C. McEnroe
81ac0c59f3
Track unread and window heat
2020-02-02 20:25:12 -05:00
C. McEnroe
5398a6ac9d
Rearrange some UI code
2020-02-02 19:38:37 -05:00
C. McEnroe
5c328c7a88
Remove term.c in favor of more curses APIs
2020-02-02 19:34:35 -05:00
C. McEnroe
8ec17d4f8c
Use tsl/fsl capabilities for title if available
...
Also manually fill them if TERM=xterm* because they really should be
there.
2020-02-02 18:40:21 -05:00
C. McEnroe
a507ff4073
Set title in statusUpdate
2020-02-02 17:57:07 -05:00
C. McEnroe
e8d0d71775
Add option to show style codes
...
This will be used for the input window.
2020-02-02 16:55:45 -05:00
C. McEnroe
052cd2ed26
Remove style string macros
2020-02-02 03:34:05 -05:00
C. McEnroe
8bb9ea7b7f
Add idColors
2020-02-02 03:27:50 -05:00
C. McEnroe
ec83332e15
Implement window switching and status line
2020-02-02 03:13:50 -05:00
C. McEnroe
09754ed912
Call reset_shell_mode on err
...
This restores the terminal but doesn't clear the screen, so the error
stays visible.
2020-02-02 02:28:14 -05:00
C. McEnroe
c18dc35377
Wrap before the very edge of the screen
2020-02-02 02:04:08 -05:00
C. McEnroe
c799310d67
Implement wordWidth
2020-02-02 01:54:51 -05:00
C. McEnroe
05256b68fe
Implement word wrap
...
This actually wasn't that bad?
2020-02-01 22:41:30 -05:00
C. McEnroe
cd3dc4ef4c
Parse IRC styling in UI
...
Wow the colorPair thing actually works. Have I finally cracked curses
colors?
2020-02-01 21:57:11 -05:00
C. McEnroe
e5363bcae0
Implement the beginnings of UI
...
It takes so much code to do anything in curses...
2020-02-01 19:37:55 -05:00