about summary refs log tree commit diff
path: root/ui.c (follow)
Commit message (Collapse)AuthorAge
* Fix line wrapping in various waysJune McEnroe2020-09-02
| | | | | | 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...
* Render one main window from buffersJune McEnroe2020-09-02
| | | | | | | | 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.
* Invert meaning of unreadHard/unreadSoft to match new buffer codeJune McEnroe2020-09-01
| | | | Not sure why I had named them this way. Hard means hard-wrapped.
* Factor buffer out of uiJune McEnroe2020-09-01
| | | | In preparation for doing line wrapping outside of ncurses.
* Move styleParse out of uiJune McEnroe2020-09-01
|
* Say "OpenSSL" in additional permission noticesJune McEnroe2020-08-04
| | | | LibreSSL is "a modified version of that library".
* Replace catf with something that tracks lenJune McEnroe2020-07-30
| | | | Also the old catf would be broken with -DNDEBUG oops!
* Initialize numHot, numWarmJune McEnroe2020-07-23
| | | | | For some reason gcc thinks that numWarm might be used uninitialized. It's fine with numHot though, strangely.
* Keep scrolled up windows in status lineJune McEnroe2020-07-12
|
* Call static_assert by _Static_assertJune McEnroe2020-06-11
| | | | | OpenBSD assert.h does not #define static_assert, and this is the only thing that prevents catgirl from compiling without any issues there.
* Add additional permission for linking with LibreSSLJune McEnroe2020-06-08
| | | | https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
* Don't send zero-width characters to ncursesJune McEnroe2020-05-26
|
* Define constants for window geometryJune McEnroe2020-05-25
| | | | | Also fixes uiDraw so that the split lines and marker don't overlap the main window, although that wasn't causing any real problems.
* Tweak status line formattingJune McEnroe2020-05-24
|
* Fix page scrolling distance for SplitLinesJune McEnroe2020-05-14
|
* Don't clobber windows.swap in else of showAutoJune McEnroe2020-04-20
|
* Save last user-selected window to switch back to from M-aJune McEnroe2020-04-19
|
* Add M-= to mute windowsJune McEnroe2020-04-15
|
* Add status indicator for showing ignored messagesJune McEnroe2020-04-15
|
* Add M-< and M-> for scroll to top and bottomJune McEnroe2020-04-07
| | | | Mirrored by S-Home and S-End but I guess I'm not documenting those...
* Revert "Add C-o as alias of M-/"June McEnroe2020-04-07
| | | | | | | This reverts commit 3a156540b8d134b05d7c318ac047a0c690cdc950. Decided I don't like having two keys do the same thing (other than "special" keys).
* Reset unreadSoft only on first unreadHardJune McEnroe2020-04-07
| | | | | Also rename unread{,Lines} to be maybe more clear and disambiguate with buffer lines.
* Add M-q to collapse whitespaceJune McEnroe2020-04-07
|
* Add scroll position to status lineJune McEnroe2020-04-06
|
* Implement split scrollingJune McEnroe2020-04-06
|
* Use gnu-case-range and gnu-conditional-omitted-operand extensionsJune McEnroe2020-04-03
| | | | | I'm sad to do this but I just can't stand writing (foo ? foo : bar) anymore.
* Do not add an extra blank line on uiLoadJune McEnroe2020-04-02
| | | | | Adding one for the last unread position now, so this is mostly redundant, I think.
* Preserve the last blank line on reflowJune McEnroe2020-04-02
|
* Switch to windows with ascending unread counts on M-aJune McEnroe2020-04-02
|
* Hide filtered messagesJune McEnroe2020-03-31
|
* Save and load buffer line heatJune McEnroe2020-03-31
|
* Store line heat in bufferJune McEnroe2020-03-31
|
* Replace some declaration; while loops with for loopsJune McEnroe2020-03-30
| | | | | 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.
* Add text macrosJune McEnroe2020-03-30
|
* Add M-Enter to insert a newlineJune McEnroe2020-03-23
|
* Handle bracketed paste, including newlinesJune McEnroe2020-03-23
|
* Implement the causal.agency/consumer capabilityJune McEnroe2020-02-29
|
* Apply word wrapping to tabs before setting alignJune McEnroe2020-02-19
| | | | | This fixes long URLs right after the initial \t being wrapped and line counted incorrectly.
* Remove bad continues in styleParse loopsJune McEnroe2020-02-19
| | | | Since we're sometimes manually doing spaces that need the right styling.
* Various small cleanup in ui.cJune McEnroe2020-02-19
|
* Increase buffer size to 1024June McEnroe2020-02-17
|
* Accept Shift-M-0 through Shift-M-9 as wellJune McEnroe2020-02-17
| | | | This mostly just to accommodate my inverted keyboard layout.
* Only scroll after reflow if necessaryJune McEnroe2020-02-17
| | | | | If we've already filled up every line of the window, there is no need to scroll.
* Scroll the window only once during reflowJune McEnroe2020-02-17
| | | | | | | 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.
* Various small cleanupsJune McEnroe2020-02-16
| | | | Haven't really gone through ui.c yet.
* Replace a lot of snprintf with a catf implementationJune McEnroe2020-02-16
|
* Replace small integers in size_t with uintJune McEnroe2020-02-15
|
* Separate network info from selfJune McEnroe2020-02-15
|
* Save heat, unreadTotal, unreadWarmJune McEnroe2020-02-14
|
* Track unreadTotal and unreadWarm separatelyJune McEnroe2020-02-14
| | | | | Otherwise reflow's calculation of unreadLines is always going to be wrong if there were Cold lines interspersed.