Přemysl Eric Janouch
f665f147ff
degesch: resolve the issue with less(1) and SO/SI
...
Now that I've learnt what exactly these characters are and how they
ended up in attribute strings, we can just eliminate them and disable
`backlog_helper_strip_formatting`. Saner defaults, again.
I've also added skipping of terminfo delay sequences, so now it's less
of an issue to pipe raw attribute sequences into backlog helpers.
2020-10-04 12:04:24 +02:00
Přemysl Eric Janouch
9819b75b64
degesch: make the unread marker look a bit fancier
...
Upstreamed after who knows how long, in a slightly modified form.
The marker looks fairly ugly without this and defaults should be
desirable.
It's possible to get the previous behaviour by resetting the separator
character in the configuration to an empty string. It might be
a better idea in general to just disallow this value with a special
validation callback, so that there's only one way to do it.
However given that without fancy-prompt.lua, an optional plugin,
the long line stands out considerably, it might actually be a good
idea to keep the old behaviour as the default. I'm torn.
Right now we don't care about the situation where the string occupies
more than one terminal cell or is some Unicode BS. User's problem.
2020-10-04 10:08:30 +02:00
Přemysl Eric Janouch
f716e7601f
degesch: fix a typo
2020-10-04 08:44:16 +02:00
Přemysl Eric Janouch
eea761d9f7
degesch: make use of arguments in _new() functions
2020-10-04 08:32:15 +02:00
Přemysl Eric Janouch
dd8e543a20
degesch: save some memory on channel users
...
`struct str` was mostly unnecessary, we can save 16+ bytes,
while performance and code readability is mostly unchanged.
2020-10-04 08:28:07 +02:00
Přemysl Eric Janouch
dc8b580574
degesch: expand comment about character encoding
2020-10-02 07:09:58 +02:00
Přemysl Eric Janouch
2d9856cca8
Bump liberty, use iscntrl_ascii()
2020-10-02 06:52:11 +02:00
Přemysl Eric Janouch
405848deeb
degesch: remove unnecessary quotes from macro defs
...
The behaviour is defined by the standard.
2020-09-20 13:43:36 +02:00
Přemysl Eric Janouch
b9991d4766
degesch: update comment to reflect reality
2020-09-20 13:43:10 +02:00
Přemysl Eric Janouch
57e92fbb85
Update copyright years
2020-09-02 20:00:11 +02:00
Přemysl Eric Janouch
444f97b357
degesch: work around a libedit attribute issue
2020-09-02 20:00:10 +02:00
Přemysl Eric Janouch
ed7130a664
degesch: fix a libedit crash
2020-09-02 20:00:10 +02:00
Přemysl Eric Janouch
ba1c2357af
degesch: fix Lua 5.4 build
...
Not sure about how well it works yet.
Lua 5.3 is still made preferential by the order of pkgconfig lookup.
2020-09-02 20:00:09 +02:00
Přemysl Eric Janouch
a48023553e
degesch: fix a pointer operation in the libedit layer
2020-09-02 20:00:09 +02:00
Přemysl Eric Janouch
deb096a0e9
Name change
2020-09-02 19:37:29 +02:00
Přemysl Eric Janouch
6287e20919
degesch: fix log reopening after a buffer rename
2020-03-23 00:41:08 +01:00
Přemysl Eric Janouch
07d59db5ab
degesch: clean up unused functions
2020-03-22 02:00:57 +01:00
Přemysl Eric Janouch
2909b017fb
Fix handling terminal resizes while the terminal is suspended
...
GNU Readline has a misfeature.
2020-03-21 22:02:02 +01:00
Přemysl Eric Janouch
64d4009427
degesch: fix getpwuid usage
...
The "entry not found" case doesn't have to touch errno.
2019-12-07 21:18:20 +01:00
Přemysl Eric Janouch
aa4e86c2a0
degesch: add a comment about ENOTCONN
2018-10-21 05:40:24 +02:00
Přemysl Eric Janouch
a0e9ede3e3
Relicense to 0BSD, update mail address
...
I've come to the conclusion that copyright mostly just stands in the way
of software development. In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.
The updated mail address, also used in my author/committer lines,
is shorter and looks nicer. People rarely interact anyway.
2018-06-21 23:46:03 +02:00
Přemysl Eric Janouch
006d34eeae
degesch: fix some log messages
...
We could use some static analysis for these.
2018-06-21 23:25:45 +02:00
Přemysl Eric Janouch
4586b0e1e4
degesch: introduce cstr_set()
2018-01-08 22:19:28 +01:00
Přemysl Eric Janouch
b4507b56af
degesch: thorough review, no functional changes
2018-01-08 22:19:23 +01:00
Přemysl Eric Janouch
bf6d507bb2
degesch: fix IPv6:port in irc_split_host_port()
2018-01-08 22:19:02 +01:00
Přemysl Eric Janouch
099a49e6d5
degesch: fix a minor bug in buffer_merge()
...
The pointer to the last item in the linked list wasn't always fixed,
although nothing really touched it afterwards.
2018-01-08 22:17:02 +01:00
Přemysl Eric Janouch
4627ee82dd
degesch: simplify a popular assertion
2018-01-08 22:16:57 +01:00
Přemysl Eric Janouch
682f90e989
degesch: simplify the configuration dumper
2018-01-08 22:16:52 +01:00
Přemysl Eric Janouch
277af83100
degesch: show an error message on log write failure
...
Running out of space and I/O errors seem like the most likely causes.
2018-01-08 22:16:36 +01:00
Přemysl Eric Janouch
a5a0078def
degesch: make buffer index computation easier to follow
2018-01-08 22:16:10 +01:00
Přemysl Eric Janouch
868e34d15c
degesch: fix a Lua error message
2018-01-08 22:16:06 +01:00
Přemysl Eric Janouch
dc47b16034
Bump liberty, avoid fall-through warnings
2018-01-07 17:37:19 +01:00
Přemysl Eric Janouch
36be830bfc
degesch: better shift state encoding handling
...
I don't know, probably didn't matter.
2017-07-07 20:55:25 +02:00
Přemysl Eric Janouch
a2611cdc3c
Rework constructors/destructors
2017-06-22 22:56:24 +02:00
Přemysl Eric Janouch
68bc297809
Bump liberty
2017-06-22 22:39:39 +02:00
Přemysl Eric Janouch
c3d62b8799
Avoid the "poller_fd::closed" feature
...
Reliability enhancement for Linux.
This feature was created for ponymap, however we don't care about an
extra syscall in most places. Doing it right even saves lines.
2017-05-06 21:35:44 +02:00
Přemysl Eric Janouch
ec842db0fb
Update copyright years
2017-04-22 19:41:27 +02:00
Přemysl Eric Janouch
0981df485a
degesch: simplify quitting
...
- send a QUIT on C-c, too
- shut down the connection on /disconnect, too
Connection management is one of the few fucked up parts
that remain in that state for historical reasons.
2017-04-20 20:55:49 +02:00
Přemysl Eric Janouch
9f0c18cc41
degesch: fix confusing message
...
It seemed like we were connecting albeit we were connected already.
2017-04-20 20:26:04 +02:00
Přemysl Eric Janouch
1313a712df
degesch: make a second /disconnect always succeed
2017-04-20 20:25:21 +02:00
Přemysl Eric Janouch
9e5725662f
Bump liberty
2017-01-23 23:50:27 +01:00
Přemysl Eric Janouch
8e668ff31a
Various fixes related to channel modes
...
Bugs unnoticed for so long.
2016-12-30 08:08:34 +01:00
Přemysl Eric Janouch
eb70bf3fbc
Cleanup
2016-12-28 12:44:27 +01:00
Přemysl Eric Janouch
d86a68f510
Add support for OpenSSL 1.1.0
2016-12-28 12:40:47 +01:00
Přemysl Eric Janouch
d6be22291d
degesch: /query w/o arguments just opens the query
2016-12-06 13:51:16 +01:00
Přemysl Eric Janouch
e2bb051bd3
degesch: replace degesch.connect with async.dial
...
Halfway there, looks much saner.
2016-11-04 22:02:26 +01:00
Přemysl Eric Janouch
52d1ded7df
degesch: move the Lua async code within the file
2016-11-04 20:44:23 +01:00
Přemysl Eric Janouch
cb9f187f80
degesch: get rid of Lua timer hooks
...
Since they were the exception and have been replaced with the async API.
2016-11-04 20:21:46 +01:00
Přemysl Eric Janouch
0247c4667a
degesch: Lua coroutine safety
2016-11-04 20:12:28 +01:00
Přemysl Eric Janouch
572f4e2ea3
degesch: implement Lua coroutine async basics
2016-11-04 20:11:59 +01:00
Přemysl Eric Janouch
b24bb0aded
degesch: fix join/part hiding in the backlog
2016-10-30 16:24:23 +01:00
Přemysl Eric Janouch
6cee7159f2
degesch: clean up
...
Caught by Coverity, however it is quite harmless.
2016-10-29 21:08:15 +02:00
Přemysl Eric Janouch
568f9b7123
degesch: tiny fixes for the prompt hook
...
It should return valid UTF-8.
Also remember to refresh the prompt upon hook removal.
2016-10-29 20:03:31 +02:00
Přemysl Eric Janouch
0d499dd125
degesch: avoid senseless indirection in hooks
...
It's always been one function call only this far.
2016-10-29 19:51:54 +02:00
Přemysl Eric Janouch
37e49b54cf
degesch: rename things around terminal attributes
2016-10-29 18:07:28 +02:00
Přemysl Eric Janouch
742d590b8d
degesch: simplify "attribute_printer"
...
Now that the line wrapper took over some of the state.
2016-10-29 17:53:06 +02:00
Přemysl Eric Janouch
b6528c73e3
degesch: microoptimization
2016-10-28 18:16:21 +02:00
Přemysl Eric Janouch
1e79aaec26
degesch: refresh the prompt when a hook is set
2016-10-28 13:58:37 +02:00
Přemysl Eric Janouch
0995da3900
degesch: don't consider all mode changes important
2016-10-28 13:32:29 +02:00
Přemysl Eric Janouch
c8a826f016
degesch: optimize Lua weak refs
2016-10-28 13:09:50 +02:00
Přemysl Eric Janouch
557a39c6c8
degesch: export server state as a string to Lua
2016-10-28 12:47:11 +02:00
Přemysl Eric Janouch
745e758394
degesch: add Lua API for screen size retrieval
2016-10-28 04:12:06 +02:00
Přemysl Eric Janouch
b60bdf119a
degesch: add a prompt hook
2016-10-28 04:12:06 +02:00
Přemysl Eric Janouch
278e2b236b
degesch: add introspection for refs within str_maps
...
This required some fixes to the design.
2016-10-28 04:12:05 +02:00
Přemysl Eric Janouch
2f758bbdb9
degesch: allow lists of refs in introspection
2016-10-28 04:12:05 +02:00
Přemysl Eric Janouch
911276b263
degesch: add introspection for "app_context"
2016-10-28 04:12:05 +02:00
Přemysl Eric Janouch
cb5ad675a6
degesch: add introspection for "str" and "str_map"
2016-10-28 04:12:05 +02:00
Přemysl Eric Janouch
9408dfc67c
degesch: create Lua refs through introspection
2016-10-28 04:12:05 +02:00
Přemysl Eric Janouch
fed8b06aff
degesch: begin work on direct introspection
2016-10-28 04:12:05 +02:00
Přemysl Eric Janouch
7e64fd9886
degesch: cleanup
2016-10-28 04:12:05 +02:00
Přemysl Eric Janouch
6928184a3d
degesch: defer prompt refreshing
...
Now that we do it each time we receive a message from the server.
2016-10-23 17:34:52 +02:00
Přemysl Eric Janouch
f7155f3919
degesch: allow hiding join/part messages
2016-10-23 17:14:24 +02:00
Přemysl Eric Janouch
f032466307
degesch: comments, no functional change
2016-10-23 17:14:24 +02:00
Přemysl Eric Janouch
c0f4b554ef
degesch: show channel user count in the status
2016-10-23 17:14:24 +02:00
Přemysl Eric Janouch
639da7a9a7
degesch: accept Word shortcuts for formatting
...
Because why not.
2016-10-23 13:40:04 +02:00
Přemysl Eric Janouch
230b04014f
Bump liberty, add consts to some arguments
2016-10-23 13:38:46 +02:00
Přemysl Eric Janouch
8028c7fa47
Bump liberty
2016-10-11 10:52:49 +02:00
Přemysl Eric Janouch
43de836b91
degesch: exit with error when arguments are given
2016-09-29 13:40:15 +02:00
Přemysl Eric Janouch
16d10f574b
degesch: simplify highlight detection
2016-09-25 14:11:30 +02:00
Přemysl Eric Janouch
4cefa5ab1b
degesch: fix highlight detection in colored text
2016-09-23 23:46:26 +02:00
Přemysl Eric Janouch
92a4d4b5a7
Better support for the KILL command
2016-09-23 22:50:30 +02:00
Přemysl Eric Janouch
483ab39e3c
degesch: die on configuration parse errors
...
Seems more sensible.
2016-07-23 20:00:40 +02:00
Přemysl Eric Janouch
beaf1a1f82
degesch: fix Ctrl-J in Readline
2016-07-23 19:13:55 +02:00
Přemysl Eric Janouch
d6a9e1dca1
degesch: customizable date change messages
...
Now also in the backlog.
2016-04-21 23:50:05 +02:00
Přemysl Eric Janouch
c8e4833086
degesch: add a NOWRAP flag to formatter_flush()
...
--format should work as before now.
It is now also possible to rebind PageUp to show a wrapped backlog.
2016-04-21 23:50:05 +02:00
Přemysl Eric Janouch
99595c0d81
degesch: update comments
2016-04-21 23:50:05 +02:00
Přemysl Eric Janouch
fa5e005728
degesch: refactor Lua weak objects
2016-04-21 22:09:35 +02:00
Přemysl Eric Janouch
a9b77b3206
degesch: expose channels and users to Lua
2016-04-21 22:09:35 +02:00
Přemysl Eric Janouch
4665807d09
degesch: expose message parsing to Lua
2016-04-21 22:09:35 +02:00
Přemysl Eric Janouch
3a8d70de66
degesch: fix crash on invalid cp1252 characters
...
We don't even really need iconv here.
2016-04-03 04:05:04 +02:00
Přemysl Eric Janouch
8a3144f0ac
degesch: update program logo
...
I've noticed that the old one wasn't very pleasant to look at.
2016-03-28 21:08:04 +02:00
Přemysl Eric Janouch
dc71af9c31
degesch: fix two minor issues
...
- completely new unread markers could be created in active buffers
- control characters confused word wrapping
2016-03-26 20:59:37 +01:00
Přemysl Eric Janouch
f964495d1a
degesch: don't wrap lines in pager
2016-03-26 16:41:55 +01:00
Přemysl Eric Janouch
550a0419a6
degesch: detect //TRANSLIT support, use cp1252
...
Now BSDs should have it enabled as well.
2016-03-26 14:27:59 +01:00
Přemysl Eric Janouch
9b12c830d1
degesch: remap goto-activity to M-a
...
weechat appears to use this key binding, so let's not reinvent it.
2016-03-26 13:11:28 +01:00
Přemysl Eric Janouch
1e24d1d1b8
degesch: add partial matching /buffer goto
2016-03-26 13:00:10 +01:00
Přemysl Eric Janouch
6292114c76
degesch: append message count in /buffer listing
2016-03-26 05:15:11 +01:00
Přemysl Eric Janouch
e646afe5ae
degesch: retain the unseen marker
...
Don't erase the message counts immediately.
Also make the marker visible in the pager.
2016-03-26 04:55:46 +01:00
Přemysl Eric Janouch
410bcdcd78
degesch: phase 1 of word wrapping implementation
2016-03-26 04:52:05 +01:00
Přemysl Eric Janouch
1c9de9291b
degesch: cleanup, fix no-tty mode FWIW
...
Removed the no color mode that couldn't even be enabled.
Not sure why we still support running without a proper terminal
but let's at least not make it crash for now.
2016-03-13 16:44:06 +01:00