Přemysl Eric Janouch
6de7ae9583
degesch: only apply relevant attributes on change
2015-07-05 16:15:30 +02:00
Přemysl Eric Janouch
3a922c3c1a
degesch: start using "on_change" notifications
...
Terminal attributes can be changed on the fly now.
2015-07-05 15:57:53 +02:00
Přemysl Eric Janouch
b1dd34a7ba
degesch: set "user_data" while loading config
...
It'd be quite wrong to call "on_change" on them without this.
2015-07-05 02:16:43 +02:00
Přemysl Eric Janouch
9b41256ebf
degesch: create servers from configuration
...
This means that as of now, the only way of creating a server is
to edit the configuration file by hand and add (at least) an empty
object under the server's name.
2015-07-05 02:16:43 +02:00
Přemysl Eric Janouch
0ecd297c6f
degesch: stubplement /server
2015-07-04 22:28:59 +02:00
Přemysl Eric Janouch
bda1239a33
degesch: /buffer close switches to previous buffer
...
buffer_next() proved too annoying.
2015-07-04 20:04:20 +02:00
Přemysl Eric Janouch
990e8d7d94
degesch: optimize buffer_print_backlog()
...
Apparently readline can be really, really slow at redrawing.
2015-07-04 16:58:25 +02:00
Přemysl Eric Janouch
ef2b4d9a01
degesch: flush I/O buffers on disconnect
...
Discovered thanks to weercd.
2015-07-04 16:37:31 +02:00
Přemysl Eric Janouch
4471e0c6cd
degesch: periodically flush logs to disk
2015-07-04 15:45:27 +02:00
Přemysl Eric Janouch
94d495fbfa
degesch: add logging to file
2015-07-04 15:45:27 +02:00
Přemysl Eric Janouch
3503b76015
degesch: fix unused variable
2015-07-04 01:46:35 +02:00
Přemysl Eric Janouch
6498690999
degesch: decode mIRC formatting in numerics
...
Just like... why not. Makes colors in the MOTD and in LIST work.
2015-07-04 01:45:22 +02:00
Přemysl Eric Janouch
8a75c2447f
degesch: fix memory issue in Readline
...
We didn't zero out the pointer for entries.
2015-07-04 01:11:27 +02:00
Přemysl Eric Janouch
7de1309421
degesch: clean up the async code a bit
2015-07-03 23:40:34 +02:00
Přemysl Eric Janouch
2357f1382a
degesch: rewrite to use asynchronous I/O
2015-07-03 22:19:12 +02:00
Přemysl Eric Janouch
15882dcdf9
degesch: part channel on /buffer close
2015-07-02 20:50:53 +02:00
Přemysl Eric Janouch
be10e61c90
degesch: fix /msg with CAP echo-message
2015-06-29 21:39:40 +02:00
Přemysl Eric Janouch
2b240b6631
degesch: add a #N format specifier
...
Fixes RPL_TOPICWHOTIME with some servers.
2015-06-29 08:56:43 +02:00
Přemysl Eric Janouch
134e19adf0
degesch: mark an issue with CAP echo-message
2015-06-28 23:01:38 +02:00
Přemysl Eric Janouch
fdff5f8c72
degesch: reclaim more memory with Readline
2015-06-28 23:00:46 +02:00
Přemysl Eric Janouch
b5d472f0df
degesch: clean up log_formatter()
2015-06-28 20:56:45 +02:00
Přemysl Eric Janouch
0074b1eda9
degesch: reorder code
2015-06-28 20:48:43 +02:00
Přemysl Eric Janouch
3f55693400
degesch: don't put dashes in listings
...
Just reflecting the behaviour of weechat.
2015-06-28 19:56:05 +02:00
Přemysl Eric Janouch
c9b33846cb
degesch: add an option to beep on highlight
2015-06-28 19:41:31 +02:00
Přemysl Eric Janouch
db6939bd60
degesch: fix /ctcp with CAP echo-message
2015-06-28 17:08:42 +02:00
Přemysl Eric Janouch
a1fa9d187e
degesch: log self nick changes in server buffer
2015-06-28 16:36:51 +02:00
Přemysl Eric Janouch
3e47abdfbb
degesch: further logging cleanup
2015-06-28 16:26:51 +02:00
Přemysl Eric Janouch
ed349cb1d3
degesch: logging cleanup
2015-06-28 16:16:19 +02:00
Přemysl Eric Janouch
02ab0f743b
degesch: remove "ctx" from command handler args
2015-06-28 03:00:19 +02:00
Přemysl Eric Janouch
335aeb599a
degesch: refactor logging
...
- everything coming from the server should be properly transcoded
- most nicknames should be highlighted
- some other minor changes here and there
2015-06-28 02:51:31 +02:00
Přemysl Eric Janouch
fafe1fde90
degesch: finish implementation of rehashing
...
I can only hope it works.
2015-06-23 23:20:03 +02:00
Přemysl Eric Janouch
e39bb976cb
degesch: partially implement rehashing
2015-06-23 22:10:16 +02:00
Přemysl Eric Janouch
63a65f9f7c
degesch: stubplement casemapping changes
2015-06-23 21:04:38 +02:00
Přemysl Eric Janouch
c3439175d7
degesch: NICK handling cleanup
2015-06-23 21:01:38 +02:00
Přemysl Eric Janouch
9603bae003
degesch: fix logging of NICK in PM buffers
2015-06-22 23:07:09 +02:00
Přemysl Eric Janouch
c8c1697e20
degesch: final fix for /query
...
rl_delete_text() didn't fix rl_point.
2015-06-22 23:07:09 +02:00
Přemysl Eric Janouch
de019e7832
degesch: fix handling of buffer collisions
2015-06-22 23:07:09 +02:00
Přemysl Eric Janouch
e276fe0022
degesch: fix /query
...
It changed the buffer, which saved the state, which saved the line
currently being processed (thanks Readline, so obvious).
2015-06-21 23:38:22 +02:00
Přemysl Eric Janouch
1e04fc24a7
degesch: fix /nick handling
...
When the new nickname was lexicographically identical (for example
User -> uSer), the whole thing broke down.
In addition to that, we used to check if the new nickname exists
and failed in that case. It _can_, however, exist. It just mustn't
be us.
2015-06-21 23:38:22 +02:00
Přemysl Eric Janouch
e85c98f315
degesch: implement the rest of buffer merging
2015-06-21 21:50:47 +02:00
Přemysl Eric Janouch
ce96be2d5e
degesch: show usage on /buffer move failure
2015-06-21 19:52:15 +02:00
Přemysl Eric Janouch
b56245cf5b
degesch: implement /buffer move
2015-06-21 19:35:35 +02:00
Přemysl Eric Janouch
b3a80630aa
degesch: change arguments to handle_buffer_close()
2015-06-21 18:39:32 +02:00
Přemysl Eric Janouch
85cebbcfa2
degesch: make highlights more obvious
...
Just the tiniest bit.
2015-06-21 04:00:20 +02:00
Přemysl Eric Janouch
1eb38fa5ec
degesch: implement /buffer clear
...
At least somehow.
2015-06-21 03:35:35 +02:00
Přemysl Eric Janouch
3c982c7077
degesch: make buffer_send_*() accept a NULL buffer
2015-06-20 23:30:05 +02:00
Přemysl Eric Janouch
7bd0eefea8
degesch: fix display of RPL_INVITING
2015-06-20 22:50:28 +02:00
Přemysl Eric Janouch
193dd36112
degesch: reset server info on disconnect
2015-06-20 22:42:38 +02:00
Přemysl Eric Janouch
974ce75a59
degesch: add support for IRCv3.2 echo-message
2015-06-20 21:38:04 +02:00
Přemysl Eric Janouch
935d671a57
degesch: shuffle some code
2015-06-20 21:10:50 +02:00
Přemysl Eric Janouch
4970929f1d
degesch: fix trivial user command handlers
2015-06-20 20:23:14 +02:00
Přemysl Eric Janouch
0875bbfba7
degesch: further cleanups
2015-06-20 20:13:37 +02:00
Přemysl Eric Janouch
eaecdda614
degesch: fix invalid free()
2015-06-20 19:53:18 +02:00
Přemysl Eric Janouch
390b283233
degesch: refactor user command handling
...
This was long overdue.
2015-06-20 19:51:14 +02:00
Přemysl Eric Janouch
b55494c68f
degesch: further cleanups
2015-06-19 23:09:46 +02:00
Přemysl Eric Janouch
5be1cad4da
degesch: get rid of some repeating code
2015-06-19 22:54:10 +02:00
Přemysl Eric Janouch
690e29c78e
degesch: fix /join, /part, /cycle
...
Cycle now remembers the channel key.
2015-06-19 22:26:54 +02:00
Přemysl Eric Janouch
86f4578d12
degesch: allow specifying server in /disconnect
2015-06-19 20:47:37 +02:00
Přemysl Eric Janouch
1c1cffa6eb
degesch: update user command usages and comments
2015-06-18 22:47:56 +02:00
Přemysl Eric Janouch
8eb31ad2e1
degesch: fix /invite
2015-06-18 22:35:14 +02:00
Přemysl Eric Janouch
bdad7bd7c2
degesch: fix /whois, /whowas
2015-06-18 22:05:32 +02:00
Přemysl Eric Janouch
088009d16b
degesch: fix /mode after breaking it
...
The clean up was a bit thoughtless.
2015-06-18 22:02:51 +02:00
Přemysl Eric Janouch
27ef5c2ea3
degesch: fix /ban, add /unban
2015-06-18 21:21:49 +02:00
Přemysl Eric Janouch
782bc85336
degesch: fix /kickban
2015-06-18 08:47:52 +02:00
Přemysl Eric Janouch
5a3b8f8eee
degesch: fix sending the reason in /kick
2015-06-18 08:40:44 +02:00
Přemysl Eric Janouch
87a44fb807
degesch: cleanup
2015-06-18 08:34:37 +02:00
Přemysl Eric Janouch
2261db4caa
degesch: fix /mode to work for user modes
2015-06-18 08:07:25 +02:00
Přemysl Eric Janouch
a0b98720b9
degesch: fix /mode on servers with +channels
2015-06-17 23:16:44 +02:00
Přemysl Eric Janouch
9027889002
degesch: add /op, /deop, /voice, /devoice
2015-06-17 21:34:56 +02:00
Přemysl Eric Janouch
178c1b072a
degesch: parse MODES from RPL_ISUPPORT
2015-06-17 21:34:56 +02:00
Přemysl Eric Janouch
e2a3b48114
degesch: add /stats
2015-06-17 20:29:17 +02:00
Přemysl Eric Janouch
7dbec0d273
degesch: fix highlights
2015-06-16 21:48:35 +02:00
Přemysl Eric Janouch
e43ffb538e
degesch: fix SOCKS failure handling
2015-06-14 19:21:13 +02:00
Přemysl Eric Janouch
cd394a1f6e
degesch: ask for CAP multi-prefix, invite-notify
2015-06-14 18:33:55 +02:00
Přemysl Eric Janouch
ee1f4174fd
degesch: process INVITE
2015-06-10 22:37:29 +02:00
Přemysl Eric Janouch
c673882670
degesch: handle RPL_UMODEIS
2015-06-10 22:15:58 +02:00
Přemysl Eric Janouch
0ddc0458ef
degesch: show channel prefixes in PRIVMSG lines
2015-06-07 06:15:31 +02:00
Přemysl Eric Janouch
62845876d5
degesch: shuffle code around
2015-06-07 05:28:57 +02:00
Přemysl Eric Janouch
5bc259e388
degesch: sort modes on change
2015-06-07 05:23:31 +02:00
Přemysl Eric Janouch
de2eff7399
degesch: further refactor MODE processing
2015-06-07 05:21:19 +02:00
Přemysl Eric Janouch
2b258007f0
degesch: refactor MODE processing
2015-06-07 04:48:02 +02:00
Přemysl Eric Janouch
9816805ee8
degesch: process user mode changes
2015-06-07 04:20:39 +02:00
Přemysl Eric Janouch
0553ef857f
degesch: enable NAMESX if supported by server
2015-06-07 03:43:42 +02:00
Přemysl Eric Janouch
3552b9e1fb
degesch: fix memory leak
2015-06-07 01:28:06 +02:00
Přemysl Eric Janouch
394b549926
degesch: print server name in debug output
2015-06-07 01:23:52 +02:00
Přemysl Eric Janouch
f8d26c2f18
degesch: fix memory leak
2015-06-07 01:23:52 +02:00
Přemysl Eric Janouch
6d16dbb16d
degesch: process RPL_TOPICWHOTIME
2015-06-07 01:23:52 +02:00
Přemysl Eric Janouch
6d720e7a1a
degesch: process RPL_CREATIONTIME
2015-06-07 01:23:51 +02:00
Přemysl Eric Janouch
e1aa27c90b
degesch: parse RPL_CHANNELMODEIS
2015-06-07 00:15:38 +02:00
Přemysl Eric Janouch
7c2fe522ba
degesch: fix logging empty QUIT/PART reasons
2015-06-06 23:56:43 +02:00
Přemysl Eric Janouch
671536bfca
degesch: request channel mode after joining
2015-06-06 01:24:44 +02:00
Přemysl Eric Janouch
a8dc6ad141
degesch: show our own channel modes in prompt
2015-06-06 01:21:27 +02:00
Přemysl Eric Janouch
ab15ec0a9a
degesch: save the topic from RPL_TOPIC
2015-06-06 01:18:59 +02:00
Přemysl Eric Janouch
ac6ee9ea80
degesch: refactor irc_process_names()
2015-06-06 00:44:09 +02:00
Přemysl Eric Janouch
f9eddb8ee2
degesch: fix adding user by RPL_NAMREPLY
...
We didn't create a matching user_channel entry.
2015-06-06 00:29:01 +02:00
Přemysl Eric Janouch
2fe17ae79b
degesch: remove users missing from RPL_NAMREPLY
2015-06-06 00:10:20 +02:00
Přemysl Eric Janouch
4bac248c50
degesch: refactoring
2015-06-05 01:17:32 +02:00
Přemysl Eric Janouch
7f57bed563
degesch: correctly update user prefixes
2015-06-05 01:17:32 +02:00
Přemysl Eric Janouch
c8aff23ab2
degesch: hack together preliminary MODE parsing
2015-06-05 00:01:05 +02:00
Přemysl Eric Janouch
9b1664f968
degesch: store channel modes differently
2015-06-04 22:19:32 +02:00
Přemysl Eric Janouch
b0753438c4
degesch: parse CHANMODES in RPL_ISUPPORT
...
We're going to need that to parse MODE changes.
2015-06-03 23:17:10 +02:00
Přemysl Eric Janouch
103831e274
degesch: process RPL_NAMREPLY modes properly
...
Updating information in "channel_user" when needed.
2015-06-03 22:32:18 +02:00
Přemysl Eric Janouch
f6da19d5b0
degesch: fix processing RPL_NAMREPLY
2015-06-03 21:53:20 +02:00
Přemysl Eric Janouch
f53d1adba8
degesch: show RPL_NAMREPLY contents
2015-06-03 21:53:14 +02:00
Přemysl Eric Janouch
5e4f94c38c
degesch: log the channel topic after joining
2015-06-02 23:42:04 +02:00
Přemysl Eric Janouch
458ac8b7c4
degesch: try to log lines in more specific buffers
2015-06-02 23:31:44 +02:00
Přemysl Eric Janouch
4dd2a80ba2
degesch: cleanup wrt. quitting
2015-06-02 22:36:22 +02:00
Přemysl Eric Janouch
897bb00af1
degesch: add & use strncasecmp_ascii()
2015-06-02 21:28:41 +02:00
Přemysl Eric Janouch
a6782e5e60
degesch: clean up complete_nicknames()
...
Using new irc_server_strncmp() instead of fnmatch().
2015-06-02 21:05:27 +02:00
Přemysl Eric Janouch
00a8b6616f
degesch: add & use irc_server_strcmp()
2015-06-02 20:46:40 +02:00
Přemysl Eric Janouch
57413d53a4
degesch: fix typo
2015-06-01 21:48:31 +02:00
Přemysl Eric Janouch
0757ce424c
degesch: make use of values from RPL_ISUPPORT
2015-06-01 21:48:30 +02:00
Přemysl Eric Janouch
328ffd024a
degesch: don't compare buffer names using rfc1459
2015-06-01 21:48:30 +02:00
Přemysl Eric Janouch
2242724c34
degesch: parse more of RPL_ISUPPORT
2015-06-01 21:48:30 +02:00
Přemysl Eric Janouch
3c32558a42
degesch: properly unescape RPL_ISUPPORT values
2015-05-30 22:34:09 +02:00
Přemysl Eric Janouch
0b91604acd
degesch: some basic RPL_ISUPPORT parsing
2015-05-25 22:54:04 +02:00
Přemysl Eric Janouch
36185ddeee
degesch: actually update the list of channel users
2015-05-25 08:23:08 +02:00
Přemysl Eric Janouch
11977cb0b0
degesch: halfplement RPL_NAMES processing
2015-05-24 21:56:46 +02:00
Přemysl Eric Janouch
3ed519c1c5
degesch: fix crash in the logger
...
Invalid arguments for the format string.
2015-05-23 19:41:44 +02:00
Přemysl Eric Janouch
ca36726bf7
degesch: parse and use RPL_USERHOST
2015-05-22 22:13:28 +02:00
Přemysl Eric Janouch
b0dbc34f9a
degesch: show mode changes
2015-05-21 19:59:37 +02:00
Přemysl Eric Janouch
0260fcd02e
degesch: add support for server passwords
2015-05-20 21:18:15 +02:00
Přemysl Eric Janouch
4016c387f8
degesch: naively implement the unimplemented
2015-05-19 21:03:45 +02:00
Přemysl Eric Janouch
310b9c31d3
degesch: naively implement a few user commands
...
/mode, /topic, /kick, /kickban, /ban, /invite
It's all a bit messy and needs some rewriting.
2015-05-18 22:04:35 +02:00
Přemysl Eric Janouch
f2ab9f3937
degesch: implement /cycle
2015-05-17 16:43:58 +02:00
Přemysl Eric Janouch
02160c897a
degesch: fix sending the reason in /part
2015-05-17 16:23:32 +02:00
Přemysl Eric Janouch
87352b33d0
degesch: don't cache reconnect configuration
...
Also make sure the delay isn't negative.
2015-05-16 12:45:39 +02:00
Přemysl Eric Janouch
c2c82d20dd
degesch: avoid crashing on null user info
2015-05-16 12:39:30 +02:00
Přemysl Eric Janouch
ca8540e217
degesch: more multiserver preparations
...
Almost done now.
2015-05-16 12:33:59 +02:00
Přemysl Eric Janouch
bedbadd396
degesch: fix typo
2015-05-16 09:48:57 +02:00
Přemysl Eric Janouch
634d960c8d
degesch: unindent some code
2015-05-16 09:40:02 +02:00
Přemysl Eric Janouch
25d3f6e44a
degesch: prepare buffers for multiserver
...
By making them unique among all servers.
2015-05-15 20:05:27 +02:00
Přemysl Eric Janouch
76b0c13adc
degesch: actually use buffer_add()
2015-05-15 19:49:25 +02:00
Přemysl Eric Janouch
14df801f53
degesch: allow /quote when not registered
2015-05-15 07:17:08 +02:00
Přemysl Eric Janouch
30191c76c8
degesch: rework registration
...
Also fixed the annoying reconnect bug.
2015-05-15 05:54:03 +02:00
Přemysl Eric Janouch
ebf9403872
degesch: send PINGs with a timestamp
...
Instead of a username which is of no use to us.
Maybe some servers require the argument to be a target but the purpose of this
message is mainly to detect a failed connection at all, and that happens way
faster when you send some data.
2015-05-15 05:45:07 +02:00
Přemysl Eric Janouch
489a5fa552
degesch: factor out irc_get_or_make_user()
2015-05-15 05:43:59 +02:00
Přemysl Eric Janouch
d41e3499c9
degesch: prevent playing with unknown options
2015-05-14 06:45:24 +02:00
Přemysl Eric Janouch
a77ab689eb
degesch: irc_{host,port} -> addresses
...
Now you can finally specify multiple addresses to connect to.
2015-05-14 06:25:34 +02:00
Přemysl Eric Janouch
c5b38842bf
degesch: input_set_prompt() can be called whenever
2015-05-12 07:09:20 +02:00
Přemysl Eric Janouch
24546dd724
degesch: refresh prompt on dis/connection
2015-05-12 07:02:14 +02:00
Přemysl Eric Janouch
ec52850c7c
degesch: remove an outdated TODO comment
2015-05-12 06:53:45 +02:00
Přemysl Eric Janouch
5b4513ba65
Silence GCC
2015-05-12 05:45:20 +02:00
Přemysl Eric Janouch
e4cbd6cf3f
degesch: now we do formatting with M-m
2015-05-12 03:51:37 +02:00
Přemysl Eric Janouch
06a24bd252
degesch: add a FIXME
2015-05-12 02:59:07 +02:00
Přemysl Eric Janouch
2ac685f2a6
degesch: actually support mIRC italics
2015-05-12 02:55:03 +02:00
Přemysl Eric Janouch
24159e0214
degesch: fix mIRC color parsing
2015-05-12 02:48:12 +02:00
Přemysl Eric Janouch
2d040cae73
degesch: color cleanup
2015-05-12 02:43:53 +02:00
Přemysl Eric Janouch
b5a7ea63c2
degesch: make mIRC formatting actually work
2015-05-11 19:09:42 +02:00
Přemysl Eric Janouch
1a24ab7085
degesch: fix a typical signed char problem
2015-05-10 23:11:43 +02:00