Commit Graph

494 Commits (e73328a1fc96ffbee52fe9b231b6293439ea1fd6)

Author SHA1 Message Date
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 2d5f608cc5 Fix SIGWINCH handling
curses is dumb.
2020-02-05 17:58:49 -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 1cf6e29fc4 Send input as raw IRC in <debug> 2020-02-05 03:42:04 -05:00
C. McEnroe 42210e079b Reflow text on window resize 2020-02-05 02:03:21 -05:00
C. McEnroe 7414a8a11c Save own username for message echoing 2020-02-05 00:40:24 -05:00
C. McEnroe 37ec1e8232 Align MOTD after - 2020-02-05 00:24:54 -05:00
C. McEnroe 4cce893eab Add extremely basic editing and message sending 2020-02-05 00:20:39 -05:00
C. McEnroe 0df8bd51aa Convert editHead and editTail from wchar_t 2020-02-04 21:27:52 -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 de4c9df074 Align join messages after nick 2020-02-04 20:40:49 -05:00
C. McEnroe ea93c9a6d9 Set self.color 2020-02-04 20:27:18 -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 f3fb466a31 Only check revents if nfds > 0
If an error occurs, poll leaves the array unmodified.
2020-02-04 19:06:54 -05:00
C. McEnroe 5e9863fa82 Handle signals in poll loop 2020-02-04 19:02:54 -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 2f9a9c663a Remove services TODO
Two goals:

 1. Messages should always be routed to the same place.
 2. You should be able to see your messages to *Serv and its responses
    together.
2020-02-02 17:50:28 -05:00
C. McEnroe aec28a9327 Check queries against chanTypes 2020-02-02 17:45:19 -05:00
C. McEnroe 0d6a60cc66 Save NETWORK, CHANTYPES, PREFIX from ISUPPORT 2020-02-02 17:37:36 -05:00
C. McEnroe b535f0abdd Handle notices and actions 2020-02-02 17:26:20 -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 dce7891331 Add extremely basid handlePrivmsg 2020-02-02 03:43:18 -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 0728eb39a4 Preserve copyright year in term.c 2020-02-02 02:36:24 -05:00
C. McEnroe 3c824684e5 Add color hashing function 2020-02-02 02:31:20 -05:00
C. McEnroe 14066b79d4 Handle nickname errors 2020-02-02 02:30:35 -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 8ef0af34ef Parse time tag 2020-02-02 01:58:03 -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 d59666cb25 Generate tags file 2020-02-01 21:55:05 -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
C. McEnroe e289ff6b18 Add term stuff
Copied almost verbatim from existing catgirl... I think I did a better
job on that state machine this time tbh.
2020-02-01 02:55:07 -05:00