summary refs log tree commit diff
path: root/ui.c
AgeCommit message (Collapse)Author
2020-09-02Fix inserting blank lines BEFORE the new messageC. McEnroe
2020-09-02Only call windowUpdate when the shown window needs updatingC. McEnroe
2020-09-02Call wclear on resizeC. McEnroe
Otherwise artefects can appear when resizing to smaller width with wide characters at the right edge of the window.
2020-09-02Fix line wrapping in various waysC. McEnroe
Never split a codepoint, don't set wrapping point unless we're not already wrapping, wrap on any unicode whitespace, only clear rest of line if still on the same line...
2020-09-02Render one main window from buffersC. McEnroe
Still missing: split scrolling and preserving a blank on reflow either from resize or ignore toggling. Anecdata: on one of my instances of catgirl, RAM usage of the previous release was ~30M, RAM usage of this commit was ~12M.
2020-09-01Invert meaning of unreadHard/unreadSoft to match new buffer codeC. McEnroe
Not sure why I had named them this way. Hard means hard-wrapped.
2020-09-01Factor buffer out of uiC. McEnroe
In preparation for doing line wrapping outside of ncurses.
2020-09-01Move styleParse out of uiC. McEnroe
2020-08-04Say "OpenSSL" in additional permission noticesC. McEnroe
LibreSSL is "a modified version of that library".
2020-07-30Replace catf with something that tracks lenC. McEnroe
Also the old catf would be broken with -DNDEBUG oops!
2020-07-23Initialize numHot, numWarmC. McEnroe
For some reason gcc thinks that numWarm might be used uninitialized. It's fine with numHot though, strangely.
2020-07-12Keep scrolled up windows in status lineC. McEnroe
2020-06-11Call static_assert by _Static_assertC. McEnroe
OpenBSD assert.h does not #define static_assert, and this is the only thing that prevents catgirl from compiling without any issues there.
2020-06-08Add additional permission for linking with LibreSSLC. McEnroe
https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
2020-05-26Don't send zero-width characters to ncursesC. McEnroe
2020-05-25Define constants for window geometryC. McEnroe
Also fixes uiDraw so that the split lines and marker don't overlap the main window, although that wasn't causing any real problems.
2020-05-24Tweak status line formattingC. McEnroe
2020-05-14Fix page scrolling distance for SplitLinesC. McEnroe
2020-04-20Don't clobber windows.swap in else of showAutoC. McEnroe
2020-04-19Save last user-selected window to switch back to from M-aC. McEnroe
2020-04-15Add M-= to mute windowsC. McEnroe
2020-04-15Add status indicator for showing ignored messagesC. McEnroe
2020-04-07Add M-< and M-> for scroll to top and bottomC. McEnroe
Mirrored by S-Home and S-End but I guess I'm not documenting those...
2020-04-07Revert "Add C-o as alias of M-/"C. McEnroe
This reverts commit 3a156540b8d134b05d7c318ac047a0c690cdc950. Decided I don't like having two keys do the same thing (other than "special" keys).
2020-04-07Reset unreadSoft only on first unreadHardC. McEnroe
Also rename unread{,Lines} to be maybe more clear and disambiguate with buffer lines.
2020-04-07Add M-q to collapse whitespaceC. McEnroe
2020-04-06Add scroll position to status lineC. McEnroe
2020-04-06Implement split scrollingC. McEnroe
2020-04-03Use gnu-case-range and gnu-conditional-omitted-operand extensionsC. McEnroe
I'm sad to do this but I just can't stand writing (foo ? foo : bar) anymore.
2020-04-02Do not add an extra blank line on uiLoadC. McEnroe
Adding one for the last unread position now, so this is mostly redundant, I think.
2020-04-02Preserve the last blank line on reflowC. McEnroe
2020-04-02Switch to windows with ascending unread counts on M-aC. McEnroe
2020-03-31Hide filtered messagesC. McEnroe
2020-03-31Save and load buffer line heatC. McEnroe
2020-03-31Store line heat in bufferC. McEnroe
2020-03-30Replace some declaration; while loops with for loopsC. McEnroe
I should have been using this for getopt loops already but the call here is slightly too long to fit on one line as a for loop.
2020-03-30Add text macrosC. McEnroe
2020-03-23Add M-Enter to insert a newlineC. McEnroe
2020-03-23Handle bracketed paste, including newlinesC. McEnroe
2020-02-29Implement the causal.agency/consumer capabilityC. McEnroe
2020-02-19Apply word wrapping to tabs before setting alignC. McEnroe
This fixes long URLs right after the initial \t being wrapped and line counted incorrectly.
2020-02-19Remove bad continues in styleParse loopsC. McEnroe
Since we're sometimes manually doing spaces that need the right styling.
2020-02-19Various small cleanup in ui.cC. McEnroe
2020-02-17Increase buffer size to 1024C. McEnroe
2020-02-17Accept Shift-M-0 through Shift-M-9 as wellC. McEnroe
This mostly just to accommodate my inverted keyboard layout.
2020-02-17Only scroll after reflow if necessaryC. McEnroe
If we've already filled up every line of the window, there is no need to scroll.
2020-02-17Scroll the window only once during reflowC. McEnroe
ncurses implements scrolling as a memmove of the array of lines pointers, which happens each time a line is added to the bottom of the window, causing a scroll. This would get noticeably slow if WindowLines were increased to just 1024. Should've used a ring buffer, I think.
2020-02-16Various small cleanupsC. McEnroe
Haven't really gone through ui.c yet.
2020-02-16Replace a lot of snprintf with a catf implementationC. McEnroe
2020-02-15Replace small integers in size_t with uintC. McEnroe