Curtis McEnroe
23ec3fd1b7
Add M-a to switch to hot or unread window
2019-02-25 14:09:06 -05:00
Curtis McEnroe
9d6f9d76c3
Refactor uiRead
...
Centralizes the branching.
2019-02-25 12:51:21 -05:00
Curtis McEnroe
e8f40a2daf
Scroll by full pages with PageUp/PageDown
2019-02-24 18:20:39 -05:00
Curtis McEnroe
c06a457461
Add C-n and C-p key bindings to switch windows
2019-02-23 12:24:39 -05:00
Curtis McEnroe
55866686a8
Call def_prog_mode after termNoFlow
...
So that the settings get restored after /url or /man.
2019-02-23 11:42:42 -05:00
Curtis McEnroe
c168e54f06
Move IRC formatting reset to C-s
...
Opens C-n for window switching.
2019-02-22 23:56:55 -05:00
Curtis McEnroe
facc3aa9a0
Disable terminal flow control
...
This opens up C-o, C-q and C-s for key bindings without C-v.
2019-02-22 23:31:33 -05:00
Curtis McEnroe
200842aa64
Bind up and down arrows to scroll
...
Honestly it's kind of weird that IRC clients usually use these for input
history.
2019-02-22 22:22:16 -05:00
Curtis McEnroe
2faa73abd6
Remove topic TODO
...
I played around with it and it doesn't look right unless there is only
one channel listed in the status.
2019-02-22 17:44:39 -05:00
Curtis McEnroe
274a5f7d6e
Update status line after scrolling and term events
2019-02-22 15:54:59 -05:00
Curtis McEnroe
e20c64d5d7
Reorganize UI code for the umpteenth time
...
It's actually in a good state now, I think.
2019-02-22 14:11:50 -05:00
Curtis McEnroe
f3db938ded
Replace "view" with "window"
...
I think originally I didn't want to use the same word as curses WINDOW
but it's really much clearer for the user if they're just called
windows. UI code probably needs yet another rewrite though. Still feels
messy.
2019-02-21 23:17:40 -05:00
Curtis McEnroe
c0c59d093f
Remove ROT13
...
It's just not convenient when it can only do the whole line...
2019-02-21 23:17:40 -05:00
Curtis McEnroe
cc30e13e9f
Avoid unused variable warnings with getyx
2019-01-25 04:19:07 -05:00
Curtis McEnroe
0b3d927e03
Add M-? to apply ROT13
2018-12-16 17:19:06 -05:00
Curtis McEnroe
a2a6ce99c0
Underline own nick
2018-12-15 01:09:56 -05:00
Curtis McEnroe
14c60a15bc
Add uint typedef
2018-12-08 13:18:13 -05:00
Curtis McEnroe
2797ac8abf
Rename verbose to raw
...
And change the format of the sticky tag names again.
2018-12-05 14:46:34 -05:00
Curtis McEnroe
e01b03c963
Revert half-working reconnecting stuff
2018-12-04 14:58:14 -05:00
Curtis McEnroe
7ea54828a6
Call uiShow at init so that TermFocus gets set
2018-12-03 15:52:04 -05:00
Curtis McEnroe
2222744192
Fix UI resume on /url
2018-12-02 17:42:04 -05:00
Curtis McEnroe
5c17393d2b
Crudely handle reconnecting after suspend
2018-12-01 22:05:37 -05:00
Curtis McEnroe
5881a97c33
Show unread count in term title
...
Also render status line with just spaces. Looks much cleaner this way.
2018-11-29 13:29:20 -05:00
Curtis McEnroe
d9c47aa94b
Add M-m key to insert a blank line
...
For manually marking the log.
2018-11-27 16:18:03 -05:00
Curtis McEnroe
2eaa36a309
Add notification with notify-send
2018-10-28 02:44:09 -04:00
Curtis McEnroe
35fdcbc285
Rework status line
2018-10-22 16:09:40 -04:00
Curtis McEnroe
3e2a9c2056
Factor out uiPrompt to call on nick change
2018-09-14 23:37:09 -04:00
Curtis McEnroe
714a703935
Check width of entire next word including codes
...
This results in a tiny bit of premature wrapping for color codes, but
that isn't a problem.
2018-09-14 18:54:18 -04:00
Curtis McEnroe
6aa42b852b
Remove word handling from formatParse
2018-09-14 18:48:03 -04:00
Curtis McEnroe
326bc5163d
Preview with nick in input window
2018-09-13 23:44:55 -04:00
Curtis McEnroe
9ca6814933
Avoid uninitialized x in uiRead
2018-09-13 15:39:40 -04:00
Curtis McEnroe
9a69869d39
Add IRCDefault to colors enum
2018-09-13 15:17:41 -04:00
Curtis McEnroe
4c4d91b449
Rewrite UI again
...
The persistent topic is gone and the status line is now at the top. The
status formatting still needs to be reworked. I also want to try showing
the nick in the input window so it really looks like your next message.
2018-09-13 01:03:47 -04:00
Curtis McEnroe
b36a134702
Use formatParse split to position input cursor
2018-09-12 22:55:02 -04:00
Curtis McEnroe
872608e5c4
Factor out IRC formatting parsing
2018-09-12 20:23:45 -04:00
Curtis McEnroe
0cf067315d
Preserve scroll position when new lines appear
2018-09-05 17:10:26 -04:00
Curtis McEnroe
240f9ebf84
Use PascalCase for constants
...
Begone underscores.
2018-09-02 16:13:00 -04:00
Curtis McEnroe
ccb54d36d9
Add status indicators
2018-09-02 14:04:05 -04:00
Curtis McEnroe
140f6e896d
Mark views when they are created
2018-09-02 01:01:41 -04:00
Curtis McEnroe
133ff4e651
Avoid unportable iswascii(3)
2018-08-20 17:20:44 -04:00
Curtis McEnroe
38fc42f03d
Add UI "heat" for status/messages/pings
...
Bring back the beeps! Allow pings from notices. Also factor out
dequoting of part/quit messages.
2018-08-17 14:00:08 -04:00
Curtis McEnroe
ed9961410e
Set title to tag name
2018-08-13 23:09:53 -04:00
Curtis McEnroe
2ae5b6b9ab
Add /query, /part and /close
...
Closing a channel before parting it is a bit weird, but if I send a PART
on /close, it would get reopened again to show the part message.
2018-08-13 13:49:03 -04:00
Curtis McEnroe
a09df5f697
Avoid setting mark if switching to the same view
2018-08-12 21:38:25 -04:00
Curtis McEnroe
2ec109e246
Disable focus tracking in uiHide
...
Most significantly so that the sequences don't end up on screen during a
/url.
2018-08-12 20:41:13 -04:00
Curtis McEnroe
0dfeb3df84
Add shift-{left,right} for single-line scrolling
2018-08-11 22:46:28 -04:00
Curtis McEnroe
24ca3aed81
Leave room for topic when creating view
2018-08-11 22:45:53 -04:00
Curtis McEnroe
a281f89592
Rework UI code for multi-channel
...
Tags are now permanently assigned (and I'm betting on never needing more
than 256 of them) and the UI maps tags to a linked list of views for
easy reordering and removal. Currently, views can only be added. Views
don't have a topic window until they need one. All UI code wants to be
functional reactive.
Beeping is temporarily removed until message priorities (status,
message, ping) can be added to the UI. At that point spawning
notify-send should also be possible. Priorities will also help with
unnecessary markers, which will not appear for status messages.
The tab system is now used to send QUIT and NICK messages to all the
relevant tags. Verbose output now goes to its own tag, and sending to
it sends raw IRC.
IRC colors are now listed in chat.h and handler functions for numeric
replies have real names. The color algorithm now uses a real hash
function for hopefully better results. QUIT, PART and KICK messages are
scanned for URLs.
2018-08-11 20:02:03 -04:00
Curtis McEnroe
07c750d25c
Become multi-channel
...
There's a lot of UI missing for it, but it technically works.
2018-08-10 23:31:20 -04:00
Curtis McEnroe
a64f1a4ea2
Add URL detection, listing and opening
...
Might also add /copy, like /open.
2018-08-09 00:24:49 -04:00