Commit Graph

140 Commits (88263cc1d7610233606ddd30bee5202e330e57e5)

Author SHA1 Message Date
C. McEnroe a632ee741b Don't clobber windows.swap in else of showAuto 2020-04-20 16:12:02 -04:00
C. McEnroe 2f5ff45db0 Save last user-selected window to switch back to from M-a 2020-04-19 21:13:02 -04:00
C. McEnroe 98cbb44c0d Add M-= to mute windows 2020-04-15 16:18:09 -04:00
C. McEnroe 470dee97c3 Add status indicator for showing ignored messages 2020-04-15 15:54:55 -04:00
C. McEnroe 9bc52d7238 Add M-< and M-> for scroll to top and bottom
Mirrored by S-Home and S-End but I guess I'm not documenting those...
2020-04-07 14:09:29 -04:00
C. McEnroe 7d62762609 Revert "Add C-o as alias of M-/"
This reverts commit 3a156540b8.

Decided I don't like having two keys do the same thing (other than
"special" keys).
2020-04-07 13:59:54 -04:00
C. McEnroe 83a2fb0d34 Reset unreadSoft only on first unreadHard
Also rename unread{,Lines} to be maybe more clear and disambiguate with
buffer lines.
2020-04-07 11:06:29 -04:00
C. McEnroe e3f7362241 Add M-q to collapse whitespace 2020-04-07 10:48:44 -04:00
C. McEnroe 241fefd976 Add scroll position to status line 2020-04-06 14:34:32 -04:00
C. McEnroe 62a3e3699c Implement split scrolling 2020-04-06 13:46:35 -04:00
C. McEnroe 75a6aa9258 Use gnu-case-range and gnu-conditional-omitted-operand extensions
I'm sad to do this but I just can't stand writing (foo ? foo : bar)
anymore.
2020-04-03 17:10:52 -04:00
C. McEnroe a0f012c614 Do not add an extra blank line on uiLoad
Adding one for the last unread position now, so this is mostly
redundant, I think.
2020-04-02 11:00:05 -04:00
C. McEnroe 9063c656d5 Preserve the last blank line on reflow 2020-04-02 10:56:33 -04:00
C. McEnroe 6333b63224 Switch to windows with ascending unread counts on M-a 2020-04-02 10:47:17 -04:00
C. McEnroe ca751a1cdc Hide filtered messages 2020-03-31 14:31:10 -04:00
C. McEnroe fcb6e2909f Save and load buffer line heat 2020-03-31 14:12:43 -04:00
C. McEnroe bfa106b9a0 Store line heat in buffer 2020-03-31 14:07:21 -04:00
C. McEnroe ff78362826 Replace some declaration; while loops with for loops
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-30 19:44:45 -04:00
C. McEnroe a0dde10cb6 Add text macros 2020-03-30 14:56:26 -04:00
C. McEnroe ef6518a627 Add M-Enter to insert a newline 2020-03-23 15:03:55 -04:00
C. McEnroe 60b189200e Handle bracketed paste, including newlines 2020-03-23 14:55:43 -04:00
C. McEnroe 8570a62235 Implement the causal.agency/consumer capability 2020-02-29 01:03:46 -05:00
C. McEnroe d5c4e7e371 Apply word wrapping to tabs before setting align
This fixes long URLs right after the initial \t being wrapped and line
counted incorrectly.
2020-02-19 20:31:29 -05:00
C. McEnroe ab94728913 Remove bad continues in styleParse loops
Since we're sometimes manually doing spaces that need the right styling.
2020-02-19 02:11:17 -05:00
C. McEnroe 026a8ca979 Various small cleanup in ui.c 2020-02-19 01:18:09 -05:00
C. McEnroe 6be9aa9901 Increase buffer size to 1024 2020-02-17 23:06:37 -05:00
C. McEnroe 079bbda246 Accept Shift-M-0 through Shift-M-9 as well
This mostly just to accommodate my inverted keyboard layout.
2020-02-17 12:27:07 -05:00
C. McEnroe cf83e95114 Only scroll after reflow if necessary
If we've already filled up every line of the window, there is no need to
scroll.
2020-02-17 11:57:29 -05:00
C. McEnroe fa29c37911 Scroll the window only once during reflow
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-17 11:49:56 -05:00
C. McEnroe b20be7cbad Various small cleanups
Haven't really gone through ui.c yet.
2020-02-16 23:05:43 -05:00
C. McEnroe ba524ed804 Replace a lot of snprintf with a catf implementation 2020-02-16 19:12:19 -05:00
C. McEnroe 700b5d5870 Replace small integers in size_t with uint 2020-02-15 22:19:55 -05:00
C. McEnroe 42d106260b Separate network info from self 2020-02-15 04:54:53 -05:00
C. McEnroe 0d23f8f1b8 Save heat, unreadTotal, unreadWarm 2020-02-14 05:20:22 -05:00
C. McEnroe fbdfb36085 Track unreadTotal and unreadWarm separately
Otherwise reflow's calculation of unreadLines is always going to be
wrong if there were Cold lines interspersed.
2020-02-14 05:19:33 -05:00
C. McEnroe 3b257a55c3 Set hidden to true initially
Otherwise uiShow in uiInit does nothing, of course.
2020-02-13 22:32:35 -05:00
C. McEnroe 4405b89f6c Only uiShow if hidden and only uiHide if shown 2020-02-13 22:09:25 -05:00
C. McEnroe 1e226593ef Rename procPipe to utilPipe 2020-02-13 21:57:55 -05:00
C. McEnroe a6bc2ea7c3 Set swap correctly when closing a window
I knew I missed something.
2020-02-13 05:10:55 -05:00
C. McEnroe 92ccabaafd Refactor windows into array and add /move
Oof.
2020-02-13 05:05:53 -05:00
C. McEnroe 180bbc7b38 Add -N flag for notifications 2020-02-12 20:12:34 -05:00
C. McEnroe 4198f67aa2 Mark and unmark on uiHide, uiShow 2020-02-12 19:40:55 -05:00
C. McEnroe 7285906298 Hide debug prompt if buffer starts with / 2020-02-12 19:36:26 -05:00
C. McEnroe 14ae13f781 Add C-t transpose
Also in emacs, weechat.
2020-02-12 01:16:40 -05:00
C. McEnroe aab9f76fa0 Add C-v and M-v
I figure there should be some way to scroll without keypad, and
apparently this is what emacs offers...
2020-02-12 01:00:39 -05:00
C. McEnroe 8d873c71ed Support monochromatic terminals
Oops, division by zero!
2020-02-11 23:01:38 -05:00
C. McEnroe 907d4b4605 Exit focus and paste modes on err exit 2020-02-11 21:56:29 -05:00
C. McEnroe 7783d89448 Call completeClear when closing a window 2020-02-11 18:18:48 -05:00
C. McEnroe c9590bab06 Use time_t for save signature
It's actually more likely to be 64-bit than size_t anyway, and it
eliminates some helper functions.

Also don't error when reading an empty save file.
2020-02-11 18:01:50 -05:00
C. McEnroe cc80fae758 Set self.nick to * initially
Allows removing a bunch of checks that self.nick is set, and it's what
the server usually calls you before registration.

Never highlight notices as mentions.
2020-02-11 17:52:55 -05:00