Commit Graph

86 Commits (af244ad3cd19fb50bf9b9855f02d81e61441ab50)

Author SHA1 Message Date
C. McEnroe af244ad3cd Add some real line editing operations 2020-02-07 01:56:23 -05:00
C. McEnroe 5470254fa5 Add simple configure script
Mostly motivated by wanting to build with the ncurses in pkgsrc because
it supports italics.
2020-02-06 23:50:04 -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 87e42cc627 Color notices LightGray by default 2020-02-06 22:59:49 -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 e1f10958c9 Never consider notices hot 2020-02-06 04:37:28 -05:00
C. McEnroe 68440d50c6 Beep on hot 2020-02-06 04:23:49 -05:00
C. McEnroe e9394bfff9 Set id color to Default on allocation 2020-02-06 04:19:56 -05:00
C. McEnroe 32ec697092 Handle mentions 2020-02-06 04:18:15 -05:00
C. McEnroe 30b3780e57 Route own query messages correctly 2020-02-06 04:01:11 -05:00
C. McEnroe 1e6e533538 Send CAP END if CAP LS doesn't list anything good 2020-02-06 03:44:49 -05:00
C. McEnroe 306e2b5c5b Flesh out trailing manual sections 2020-02-06 02:56:55 -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 8b3bf897c2 Search for cert and priv in config dirs 2020-02-06 02:21:04 -05:00
C. McEnroe 5e98d83f83 Handle TOPIC and replies 2020-02-06 02:07:39 -05:00
C. McEnroe 5fb492f8cd Handle PART 2020-02-06 01:16:35 -05:00
C. McEnroe 9a585188c5 Add /join command 2020-02-06 01:05:09 -05:00
C. McEnroe db499dc5f5 Send self.join without colon
If someone is weird enough to use channel keys, they can -j '#foo key'.
2020-02-06 01:03:21 -05:00
C. McEnroe 3085779d86 Handle ERROR 2020-02-05 23:27:43 -05:00
C. McEnroe 839cc362a8 Handle errors from getopt 2020-02-05 22:51:45 -05:00
C. McEnroe 27eaddb6b9 Use getopt_config to load options
I'm really getting a lot of use out of this config.c huh.
2020-02-05 22:49:56 -05:00
C. McEnroe 6ca54617ce Add /window name variant 2020-02-05 22:25:34 -05:00
C. McEnroe f4868fc906 Document commands in manual 2020-02-05 22:22:52 -05:00
C. McEnroe 63b92672fe Handle empty params in /quote 2020-02-05 22:18:11 -05:00
C. McEnroe 7cc64927bd Handle empty messages on privmsg, notice, action 2020-02-05 22:15:08 -05:00
C. McEnroe b2cf873304 Add /window 2020-02-05 22:09:29 -05:00
C. McEnroe 7c0e9cf3d2 Add /quit 2020-02-05 21:57:23 -05:00
C. McEnroe 7c0b60221b Add /me, /notice, /quote commands 2020-02-05 19:19:01 -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 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