Commit Graph

842 Commits (f9a36441e0527fab625e41233b0a3f7be3099b5a)

Author SHA1 Message Date
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
C. McEnroe 03cb0d7c04 Add IDs and names 2020-02-01 02:33:17 -05:00
C. McEnroe 2b3a8bfb9c Add -v flag 2020-02-01 02:26:35 -05:00