summary refs log tree commit diff
path: root/ui.c
AgeCommit message (Collapse)Author
2018-08-13Set title to tag nameCurtis McEnroe
2018-08-13Add /query, /part and /closeCurtis McEnroe
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-12Avoid setting mark if switching to the same viewCurtis McEnroe
2018-08-12Disable focus tracking in uiHideCurtis McEnroe
Most significantly so that the sequences don't end up on screen during a /url.
2018-08-11Add shift-{left,right} for single-line scrollingCurtis McEnroe
2018-08-11Leave room for topic when creating viewCurtis McEnroe
2018-08-11Rework UI code for multi-channelCurtis McEnroe
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-10Become multi-channelCurtis McEnroe
There's a lot of UI missing for it, but it technically works.
2018-08-09Add URL detection, listing and openingCurtis McEnroe
Might also add /copy, like /open.
2018-08-08Use blank line as unread markerCurtis McEnroe
2018-08-08Add markers as lines to the logCurtis McEnroe
2018-08-08Factor out line editing to edit.cCurtis McEnroe
2018-08-08Set log marker on FocusOut eventCurtis McEnroe
All of this needs refactoring, probably separating the line editing out from the actual input handling.
2018-08-08Use BLACK LEFT-POINTING TRIANGLE for markerCurtis McEnroe
2018-08-07Reset attrs after addIRCCurtis McEnroe
Otherwise the marker inherits whatever was left on.
2018-08-07Add tab complete UICurtis McEnroe
This definitely needs refactoring.
2018-08-07Mark log when scrolling upCurtis McEnroe
2018-08-07Highlight and beep pingsCurtis McEnroe
2018-08-07Factor out allocating conversion between wcs and mbsCurtis McEnroe
2018-08-07Convert input to multibyte before handlingCurtis McEnroe
2018-08-07Define ui.c BUF_LEN with enumCurtis McEnroe
2018-08-07Hack clang into checking uiFmt format stringsCurtis McEnroe
2018-08-07Add reverse and reset IRC formatting codesCurtis McEnroe
2018-08-06Rewrite line editing again, add formattingCurtis McEnroe
2018-08-06Implement word wrappingCurtis McEnroe
2018-08-06Use wchar_t strings for all of UICurtis McEnroe
vaswprintf is a nightmare.
2018-08-06Rename line editing functionsCurtis McEnroe
2018-08-05Initialize all possible color pairsCurtis McEnroe
This is actually possible with use_default_colors!
2018-08-05Refactor color initializationCurtis McEnroe
2018-08-05Add ^L redrawCurtis McEnroe
2018-08-05Use 16 colors if availableCurtis McEnroe
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.
2018-08-05Limit parsed colors to number of mIRC colorsCurtis McEnroe
Oh boy that's embarrassing.
2018-08-04Show source link on exitCurtis McEnroe
2018-08-04Implement line editing, scrollingCurtis McEnroe
Don't really have a way to implement the M-* keys, and currently missing C-w.
2018-08-04Rename ui chat to logCurtis McEnroe
2018-08-04Fix chat draw boundariesCurtis McEnroe
2018-08-04Factor out mIRC color parsingCurtis McEnroe
2018-08-04Scroll the input padCurtis McEnroe
2018-08-04Handle terminal resizingCurtis McEnroe
2018-08-04Define A_ITALIC if not definedCurtis McEnroe
System ncurses on macOS doesn't define it. At least not in El Capitan.
2018-08-04Split source into several filesCurtis McEnroe
Can't believe I have to do this.