about summary refs log tree commit diff
path: root/ui.c (follow)
Commit message (Collapse)AuthorAge
* Rework UI code for multi-channelJune McEnroe2018-08-11
| | | | | | | | | | | | | | | | | | | | | | 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.
* Become multi-channelJune McEnroe2018-08-10
| | | | There's a lot of UI missing for it, but it technically works.
* Add URL detection, listing and openingJune McEnroe2018-08-09
| | | | Might also add /copy, like /open.
* Use blank line as unread markerJune McEnroe2018-08-08
|
* Add markers as lines to the logJune McEnroe2018-08-08
|
* Factor out line editing to edit.cJune McEnroe2018-08-08
|
* Set log marker on FocusOut eventJune McEnroe2018-08-08
| | | | | All of this needs refactoring, probably separating the line editing out from the actual input handling.
* Use BLACK LEFT-POINTING TRIANGLE for markerJune McEnroe2018-08-08
|
* Reset attrs after addIRCJune McEnroe2018-08-07
| | | | Otherwise the marker inherits whatever was left on.
* Add tab complete UIJune McEnroe2018-08-07
| | | | This definitely needs refactoring.
* Mark log when scrolling upJune McEnroe2018-08-07
|
* Highlight and beep pingsJune McEnroe2018-08-07
|
* Factor out allocating conversion between wcs and mbsJune McEnroe2018-08-07
|
* Convert input to multibyte before handlingJune McEnroe2018-08-07
|
* Define ui.c BUF_LEN with enumJune McEnroe2018-08-07
|
* Hack clang into checking uiFmt format stringsJune McEnroe2018-08-07
|
* Add reverse and reset IRC formatting codesJune McEnroe2018-08-07
|
* Rewrite line editing again, add formattingJune McEnroe2018-08-06
|
* Implement word wrappingJune McEnroe2018-08-06
|
* Use wchar_t strings for all of UIJune McEnroe2018-08-06
| | | | vaswprintf is a nightmare.
* Rename line editing functionsJune McEnroe2018-08-06
|
* Initialize all possible color pairsJune McEnroe2018-08-05
| | | | This is actually possible with use_default_colors!
* Refactor color initializationJune McEnroe2018-08-05
|
* Add ^L redrawJune McEnroe2018-08-05
|
* Use 16 colors if availableJune McEnroe2018-08-05
| | | | | | | | Fall back to using bold if there are only 8 colors. This also allowed bright background colors in 16-color terminals. I must port this system to torus. I'll be able to remove the awful termcap patch hack.
* Limit parsed colors to number of mIRC colorsJune McEnroe2018-08-05
| | | | Oh boy that's embarrassing.
* Show source link on exitJune McEnroe2018-08-04
|
* Implement line editing, scrollingJune McEnroe2018-08-04
| | | | | Don't really have a way to implement the M-* keys, and currently missing C-w.
* Rename ui chat to logJune McEnroe2018-08-04
|
* Fix chat draw boundariesJune McEnroe2018-08-04
|
* Factor out mIRC color parsingJune McEnroe2018-08-04
|
* Scroll the input padJune McEnroe2018-08-04
|
* Handle terminal resizingJune McEnroe2018-08-04
|
* Define A_ITALIC if not definedJune McEnroe2018-08-04
| | | | System ncurses on macOS doesn't define it. At least not in El Capitan.
* Split source into several filesJune McEnroe2018-08-04
Can't believe I have to do this.