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
C. McEnroe
2771863299
Define ColorCap instead of hardcoding 100
2020-02-11 17:43:36 -05:00
C. McEnroe
86fac7caad
Cast towupper to wchar_t
...
For some reason it takes and returns wint_t...
2020-02-11 03:48:50 -05:00
C. McEnroe
b855ec6210
Cast set but unused variables to void
2020-02-11 03:47:30 -05:00
C. McEnroe
2404e15e72
Check if VDSUSP exists
2020-02-11 03:42:06 -05:00
C. McEnroe
bf86a4749f
Invalidate title on uiShow
2020-02-10 22:05:02 -05:00
C. McEnroe
66fe89b84b
Only write out title if it has changed
2020-02-10 21:34:23 -05:00