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
Přemysl Eric Janouch
f96fa66168
degesch: add a --format switch
2016-03-12 14:28:17 +01:00
Přemysl Eric Janouch
42d88f87f5
degesch: add unbound commands for buffer movement
2016-03-10 00:07:59 +01:00
Přemysl Eric Janouch
a1c4a1ef3a
degesch: fix binding to our own fns from inputrc
2016-03-10 00:06:28 +01:00
Přemysl Eric Janouch
dc248b8840
degesch: add goto activity and highlight
2016-03-08 22:29:40 +01:00
Přemysl Eric Janouch
09c7d9a65d
degesch: fix mIRC color parsing
2016-03-08 01:59:51 +01:00
Přemysl Eric Janouch
0f1fd2eb3a
Update NEWS, cleanup
2016-03-07 23:43:47 +01:00
Přemysl Eric Janouch
696273558e
degesch: rewrite input layer
...
Now with less #ifdefs.
2016-03-07 22:52:56 +01:00
Přemysl Eric Janouch
584d2f0295
degesch: use libffi to unify input callbacks
...
And fuck you both, Readline and Editline.
2016-03-06 18:12:12 +01:00
Přemysl Eric Janouch
17804fa49b
degesch: fix +=/-= to null config items
2016-03-05 19:15:40 +01:00
Přemysl Eric Janouch
6190733079
degesch: mark a problem
2016-02-29 02:50:41 +01:00
Přemysl Eric Janouch
056e0a4765
Resolve tls_ca_{file,path} relative to config dir
2016-02-19 23:46:44 +01:00
Přemysl Eric Janouch
06b03d336e
degesch: fix segfault on sent messages w/o buffer
2016-02-12 04:04:35 +01:00
Přemysl Eric Janouch
11519ee860
degesch: update screen size when terminal resumed
...
Apparently we don't receive the events when we give up the terminal.
2016-02-10 23:02:33 +01:00
Přemysl Eric Janouch
03d5b27398
degesch: use mkstemp() with a safe umask
2016-02-09 13:52:56 +01:00
Přemysl Eric Janouch
3315b16f79
degesch: log messages from /quote and plugins
...
That is, parse back all output messages and log based on that.
2016-02-09 05:10:41 +01:00
Přemysl Eric Janouch
333ad2c981
degesch: allow changing the list of used CAPs
...
Bump liberty.
2016-02-01 21:57:43 +01:00
Přemysl Eric Janouch
a850ee45f1
degesch: optimize buffer memory usage
...
We have approximately 5 formatter_items per buffer_line. Let's assume
we're on a 64-bit machine. Then there were (5 * 2) + 3 useless pointers
(104 bytes) as well as 5 * (4 + 4) = 40 bytes of wasted space because
of needless padding. That's 144 bytes already. Compared to that, this
change adds 16 bytes of overhead for an array sentinel, i.e. 128B less.
With a limit of 1000 lines per buffer, we've saved ~128kB per buffer
on completely useless data, and code complexity stays roughly the same.
All in all, memory usage for buffers should be about 50% lower.
2016-01-31 21:43:23 +01:00
Přemysl Eric Janouch
10a264ec3d
kike: add support for IRCv3.2 server-time
2016-01-31 21:43:23 +01:00
Přemysl Eric Janouch
f57664ddd0
degesch: add an assertion
...
It should never fail with current code.
2016-01-18 00:59:43 +01:00
Přemysl Eric Janouch
773d14e740
degesch: disable TLS compression
2016-01-18 00:45:20 +01:00
Přemysl Eric Janouch
221ae03b5c
degesch: Lua: fix memory leak on load failure
2016-01-17 22:57:16 +01:00
Přemysl Eric Janouch
588a696c68
degesch: lesser heap fragmentation
2016-01-17 22:15:48 +01:00
Přemysl Eric Janouch
fdeb550ee0
degesch: fix backlog limit
...
It was effectively infinite.
2016-01-15 22:11:05 +01:00
Přemysl Eric Janouch
c4a18ec8a7
degesch: fix and simplify screen handling
...
Now with less madness.
2016-01-15 05:40:20 +01:00
Přemysl Eric Janouch
d0db1a6cdc
degesch: enforce fullscreen buffers
...
Probably long overdue.
Now we actually look like something resembling a regular IRC client.
2016-01-15 05:12:03 +01:00
Přemysl Eric Janouch
9333081178
degesch: option for fullscreen buffers
2016-01-15 05:09:42 +01:00
Přemysl Eric Janouch
b7c9e8ca23
degesch: make backlog limit configurable
2016-01-15 05:09:42 +01:00
Přemysl Eric Janouch
f39e2a4bc8
degesch: Lua: add autocomplete hooks
2016-01-15 02:39:10 +01:00
Přemysl Eric Janouch
56858a97dd
degesch: Lua: allow simulating user input
...
Also added UTF-8 validation to buffer:log() while I'm at it.
2016-01-14 03:34:29 +01:00
Přemysl Eric Janouch
331d1842b9
Bump liberty, shuffle some code
2016-01-14 03:26:02 +01:00
Přemysl Eric Janouch
32f719dec7
degesch: Lua: pass hostname to on_connected
2016-01-09 06:19:54 +01:00
Přemysl Eric Janouch
0b92e9210c
degesch: Lua: set sockets to nonblocking
2016-01-09 05:47:24 +01:00
Přemysl Eric Janouch
092e9b5101
Bump liberty
2016-01-09 05:27:45 +01:00
Přemysl Eric Janouch
faa0c989f8
degesch: Lua: actually allow filtering out input
2016-01-09 05:05:46 +01:00
Přemysl Eric Janouch
53e72dd12d
degesch: Lua: provide a traceback on load error
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch
83c14ba264
degesch: Lua: fix plugin configuration names
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch
64143a5957
degesch: Lua: fix luaL_ref() usage
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch
aca153f575
degesch: Lua: fix configuration loading
...
Not the cleanest solution but it has to do for now.
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch
79f46752d4
degesch: make sure newlines are output correctly
2016-01-08 08:40:40 +01:00
Přemysl Eric Janouch
2a180ee084
degesch: Lua: finish implementation of connection
2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch
6754c59890
degesch: Lua: avoid resource leak
...
If a connector's on_success callback fails, we need to destroy the connection.
2016-01-07 22:49:53 +01:00