Commit Graph

114 Commits (079bbda24644f50d10175cb56f97c2d5213ba1a1)

Author SHA1 Message Date
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
C. McEnroe 90eff04eda Only write out title on uiDraw 2020-02-10 21:24:30 -05:00
C. McEnroe 47a0bf7fc2 Manually raise SIGINT from C-c
This allows it to still work, but makes C-z C-c insert the color code
rather than exit, and in the future, will allow pasting in text with
color codes.
2020-02-10 21:09:32 -05:00
C. McEnroe 2c2839e6c1 Replace alignment tabs with spaces in bufferList 2020-02-10 20:54:17 -05:00
C. McEnroe 3a156540b8 Add C-o as alias of M-/
M-/ is from weechat. C-o is like in vim.
2020-02-10 20:29:19 -05:00
C. McEnroe 99480a42e5 Factor out XDG base directory code
And add warnings to configOpen, since that's the only way to be accurate
if a weird error occurs.
2020-02-10 19:57:10 -05:00
C. McEnroe e6c18403e2 Leave a blank line after loaded buffer 2020-02-10 19:44:35 -05:00
C. McEnroe b59431bb15 Add -s to save and load buffers 2020-02-10 19:40:13 -05:00
C. McEnroe 65603d5138 Show heat and other unread in title 2020-02-10 17:54:16 -05:00
C. McEnroe b9a6d35b65 Improve color fudging
Prevent fudged colors from ever being pure black. Distribute fudged
colors between normal and bold if COLORS is 8. Fudge colors before
checking if it's a pre-allocated pair.
2020-02-10 05:33:31 -05:00
C. McEnroe 218bfbac32 Support all 99 IRC colors
Corresponding ANSI colors from the table on ircdocs.
2020-02-10 04:17:07 -05:00
C. McEnroe 2c9ff1717b Recalculate unreadLines on reflow 2020-02-10 03:37:17 -05:00
C. McEnroe 7957ca0ecd Only make windows hotter
A warm message shouldn't clear a window's hotness.
2020-02-10 03:29:38 -05:00
C. McEnroe 7a8024ae3d Always increase unreadLines
So that if you switch to a window and some new activity happens before
you press M-u, it'll still jump to the right place.
2020-02-10 03:10:08 -05:00
C. McEnroe 3c89857652 Move scroll marker on resize 2020-02-10 02:55:21 -05:00
C. McEnroe b6061a70d7 Update line count for words longer than lines 2020-02-10 02:50:32 -05:00
C. McEnroe 05fc01b248 Simplify mark, heat, unread tracking 2020-02-10 01:59:08 -05:00
C. McEnroe f3fa88ef92 Fix M-a so it properly cycles back to where it started 2020-02-10 01:09:03 -05:00
C. McEnroe 7470a705b3 Add M-l 2020-02-09 18:16:01 -05:00
C. McEnroe 3a5ce4d10f Remove unnecessary uiDraw 2020-02-09 15:02:34 -05:00
C. McEnroe 5254e1035c Add /help
Now with automatic search! Also had to fix the SIGCHLD handling...
2020-02-09 14:09:27 -05:00