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
Přemysl Eric Janouch
502bb26f29
degesch: formatter: simplifications
2015-05-10 23:06:19 +02:00
Přemysl Eric Janouch
6deb471423
degesch: halfplement mIRC formatting
...
Now for the displaying part.
2015-05-10 09:55:44 +02:00
Přemysl Eric Janouch
095a2cc16a
degesch: fix a stupid segfault
2015-05-10 06:44:34 +02:00
Přemysl Eric Janouch
dce14b9961
degesch: preparations for mIRC formatting
...
We're gonna have to do it the hard way, it seems.
Prepared color mapping for mIRC colors which are totally different
from regular ANSI colors in your terminal.
What's missing now is a solid algorithm for outputting the 16-color
range using what we have (bold, blink, color 8--15, ...)
It also, naturally, has to respect any current attributes that are
in conflict with the colors.
2015-05-10 05:28:12 +02:00
Přemysl Eric Janouch
0a990ad6f7
degesch: add a way to output mIRC formatting
2015-05-10 02:12:39 +02:00
Přemysl Eric Janouch
00b91976b0
degesch: fix QUIT message on C-c
2015-05-10 01:49:26 +02:00
Přemysl Eric Janouch
1bbfcbe993
degesch: be a bit less leaky with readline
...
It spams valgrind.
2015-05-10 00:27:41 +02:00
Přemysl Eric Janouch
7c9a1f50da
degesch: add nickname autocompletion
2015-05-10 00:23:23 +02:00
Přemysl Eric Janouch
2ef7323f26
Fix completion_add_word()
2015-05-10 00:22:49 +02:00
Přemysl Eric Janouch
e859693bf2
degesch: review todo items
2015-05-10 00:09:05 +02:00
Přemysl Eric Janouch
d05b610636
degesch: remove people from channels when leaving
2015-05-09 23:50:44 +02:00
Přemysl Eric Janouch
c52f353894
degesch: implement /disconnect
...
One bug remaining to make it work.
2015-05-09 23:30:04 +02:00
Přemysl Eric Janouch
e3b14e7d36
degesch: fix irc_is_connected()
...
We've added a new state.
2015-05-09 23:15:24 +02:00
Přemysl Eric Janouch
0df9892391
degesch: /connect restarts if already connecting
2015-05-09 23:14:07 +02:00
Přemysl Eric Janouch
5b9e263ca7
degesch: improve /help display
2015-05-09 23:08:30 +02:00
Přemysl Eric Janouch
789db85915
degesch: add command placeholders
2015-05-09 23:07:48 +02:00
Přemysl Eric Janouch
ad4ebc2101
degesch: fix crash when idle
2015-05-09 23:06:19 +02:00
Přemysl Eric Janouch
2eda3110b3
degesch: asynchronous connecting etc.
...
I'm sorry, couldn't keep the diff small.
All the ZyklonB heritage code is shit anyway.
2015-05-09 22:14:02 +02:00
Přemysl Eric Janouch
19b2eda70e
degesch: more shuffling
2015-05-09 06:11:36 +02:00
Přemysl Eric Janouch
699636d9a2
degesch: shuffle some code
2015-05-09 06:00:40 +02:00
Přemysl Eric Janouch
29db258102
degesch: don't export schemas (make them static)
2015-05-08 23:27:21 +02:00
Přemysl Eric Janouch
9a02c90e3e
degesch: add server::state, rename stuff
...
This is in preparation of asynchronous connects.
2015-05-08 17:39:26 +02:00
Přemysl Eric Janouch
6414a73d62
degesch: factor out jump_to_buffer()
2015-05-08 07:46:32 +02:00
Přemysl Eric Janouch
0b1e4cc41d
degesch: better comment
2015-05-08 06:35:45 +02:00
Přemysl Eric Janouch
0bdf76edc5
degesch: clean up key binding initialization
2015-05-08 06:23:38 +02:00
Přemysl Eric Janouch
cc505090d4
degesch: customize C-l behaviour
...
Reprint the backlog.
2015-05-08 05:03:36 +02:00
Přemysl Eric Janouch
bdbc4b33f0
degesch: prevent segfault on exit with libedit
2015-05-08 04:31:14 +02:00
Přemysl Eric Janouch
7636ebb149
degesch: add a fancy logo
...
It's all about the looks, man.
2015-05-07 22:55:11 +02:00
Přemysl Eric Janouch
30c58eede9
degesch: bind F5/F6 to previous/next buffer
2015-05-07 19:48:10 +02:00
Přemysl Eric Janouch
2c95c406f4
degesch: colour the user@host part
2015-05-07 19:39:02 +02:00
Přemysl Eric Janouch
a15a48ac25
degesch: a bit of cleanup
2015-05-07 18:39:43 +02:00
Přemysl Eric Janouch
5271bfb1ee
degesch: fix utf8_common-prefix()
2015-05-07 18:27:02 +02:00
Přemysl Eric Janouch
772e0d0870
Bump liberty
2015-05-07 08:36:22 +02:00
Přemysl Eric Janouch
ae91f9047d
degesch: fix more libedit weirdness
2015-05-07 07:52:12 +02:00
Přemysl Eric Janouch
715def6555
degesch: fix option completion
2015-05-07 07:47:58 +02:00
Přemysl Eric Janouch
e3f1bcecae
degesch: further libedit cleanup
2015-05-07 07:40:58 +02:00
Přemysl Eric Janouch
85baf5ecec
degesch: little libedit details
2015-05-07 07:23:11 +02:00
Přemysl Eric Janouch
1d7903ae03
degesch: implement some autocompletion
2015-05-07 06:37:50 +02:00
Přemysl Eric Janouch
4ecf8d90da
degesch: halfplement word completion
...
This was a bit painful.
2015-05-07 05:19:13 +02:00
Přemysl Eric Janouch
4f5d171799
degesch: add constant for word breaking characters
2015-05-06 22:20:02 +02:00
Přemysl Eric Janouch
894c45bef4
degesch: fix readline initialization
2015-05-06 22:01:48 +02:00
Přemysl Eric Janouch
06ec2a1388
degesch: stub word completion
2015-05-06 17:32:29 +02:00
Přemysl Eric Janouch
99526126e4
degesch: fix libedit initialization
2015-05-05 22:35:51 +02:00
Přemysl Eric Janouch
e542aa5acc
degesch: some libedit fixes
2015-05-05 20:18:41 +02:00
Přemysl Eric Janouch
fa0ee9d65b
degesch: better section dividers in soure code
...
And remove an extra function declaration.
2015-05-05 19:37:17 +02:00
Přemysl Eric Janouch
a5a1079a9c
degesch: add support for libedit
...
Just another kind of evil.
2015-05-05 08:54:55 +02:00
Přemysl Eric Janouch
53894e3909
degesch: fix a brutal bug
2015-05-05 05:15:08 +02:00
Přemysl Eric Janouch
8574c7f450
degesch: further decoupling from Readline
2015-05-05 03:42:40 +02:00
Přemysl Eric Janouch
87843f47e4
degesch: try to abstract GNU Readline
2015-05-05 03:23:53 +02:00
Přemysl Eric Janouch
87afccc568
degesch: fix the /set command
...
An extra cut_word() fucked things up.
2015-05-04 02:26:59 +02:00
Přemysl Eric Janouch
8e4a16af3a
degesch: force a non-empty realname
...
At least a space seems to be needed with some ircds.
2015-05-04 02:25:33 +02:00
Přemysl Eric Janouch
c9a02141f9
degesch: move some code to common.c
2015-05-04 02:17:55 +02:00
Přemysl Eric Janouch
56a67d56e0
degesch: add a /connect command
2015-05-03 20:03:21 +02:00
Přemysl Eric Janouch
72e5aeba58
degesch: implement /save
...
Fuck yes. :)
2015-05-03 19:34:48 +02:00
Přemysl Eric Janouch
134a627130
degesch: finish /set
...
One bug remaining to make it work.
2015-05-03 19:26:39 +02:00
Přemysl Eric Janouch
1e3a273690
degesch: refactor handle_command_set_assign()
2015-05-03 19:26:39 +02:00
Přemysl Eric Janouch
3b5c3c3b4e
degesch: implement /set += / -=
2015-05-03 18:40:51 +02:00
Přemysl Eric Janouch
4841ba5bd0
degesch: halfplement option assignment
2015-05-03 17:38:58 +02:00
Přemysl Eric Janouch
373f6333ef
degesch: refactor /help, fix segfault
...
Forgot to check if the item has a schema.
2015-05-03 16:47:31 +02:00
Přemysl Eric Janouch
4928f9ed62
degesch: add a read-only /set command
2015-05-03 16:47:16 +02:00
Přemysl Eric Janouch
e000a6b495
degesch: fix segfault
2015-05-03 06:20:36 +02:00
Přemysl Eric Janouch
f308b3fb5d
degesch: show help for program options
2015-05-03 05:58:56 +02:00
Přemysl Eric Janouch
1019cc69b2
degesch: don't queue reconnects on bogus config
2015-05-03 00:13:36 +02:00
Přemysl Eric Janouch
b31104784c
degesch: connect _after_ starting the UI
2015-05-03 00:13:36 +02:00
Přemysl Eric Janouch
6d0fff6a71
degesch: don't require configuration to run
...
Well, techincally.
2015-05-03 00:13:36 +02:00
Přemysl Eric Janouch
c23898166c
degesch: use the new configuration
...
This is a simple, almost 1:1 conversion. Needs further unfucking.
2015-05-02 23:06:19 +02:00
Přemysl Eric Janouch
7e42399ad0
degesch; user color constants from curses
2015-05-02 20:23:02 +02:00
Přemysl Eric Janouch
852c2ac158
Move some macros to common.c
2015-05-02 03:43:29 +02:00
Přemysl Eric Janouch
57f052a2be
Get rid of "All rights reserved"
2015-05-01 23:41:22 +02:00
Přemysl Eric Janouch
6bf57d3450
Start writing a new configuration system
...
For degesch but in the long term for the rest as well.
2015-05-01 17:33:10 +02:00
Přemysl Eric Janouch
37fa19f4c9
Rename project to uirc3
2015-04-30 01:39:08 +02:00
Přemysl Eric Janouch
950f052d1b
degesch: refactor for multiserver
...
Just some basic preparations before it becomes too costly.
2015-04-30 00:02:14 +02:00
Přemysl Eric Janouch
b95b916c37
degesch: further unfucking
2015-04-29 21:43:31 +02:00
Přemysl Eric Janouch
101ab90100
degesch: unfuck terminal attribute handling
2015-04-29 20:56:26 +02:00
Přemysl Eric Janouch
21656d462f
degesch: mark some issues
2015-04-28 23:41:13 +02:00
Přemysl Eric Janouch
507d444e0d
degesch: fix 8-bit input
2015-04-28 23:40:49 +02:00
Přemysl Eric Janouch
1ff56bfe5a
degesch: simplify formatter_flush()
2015-04-28 23:40:49 +02:00
Přemysl Eric Janouch
4013921de7
degesch: add a /nick command
...
Somehow I've missed it entirely.
2015-04-27 23:06:20 +02:00
Přemysl Eric Janouch
6f890c0388
degesch: fix typo
2015-04-27 23:02:15 +02:00
Přemysl Eric Janouch
0cb50addbe
degesch: make sure "You are now known..." works
2015-04-27 22:59:23 +02:00
Přemysl Eric Janouch
412cad9328
degesch: add fast buffer switching
...
When the user tries to M-n the same buffer, it switches to the last.
2015-04-27 22:51:40 +02:00
Přemysl Eric Janouch
cdb1d81982
degesch: detect highlights and display differently
2015-04-27 22:40:33 +02:00
Přemysl Eric Janouch
87c1775129
degesch: imlement NOTICE handling
2015-04-27 21:52:16 +02:00
Přemysl Eric Janouch
6003cc7138
degesch: log outcoming CTCPs
2015-04-27 01:47:21 +02:00
Přemysl Eric Janouch
2f6974c7ca
degesch: reply to some CTCPs
2015-04-27 01:36:33 +02:00
Přemysl Eric Janouch
5ad6d7cfbc
degesch: implement /me
2015-04-26 23:32:57 +02:00
Přemysl Eric Janouch
21b8e8e539
degesch: implement /list
2015-04-26 23:06:19 +02:00
Přemysl Eric Janouch
54262e2d20
degesch: implement /ctcp, stubplement /me
2015-04-26 22:53:38 +02:00
Přemysl Eric Janouch
a66bf15e67
degesch: process CTCP in PRIVMSG
...
Finally we can display /me.
2015-04-26 22:31:07 +02:00
Přemysl Eric Janouch
9e548889c7
degesch: add a CTCP parser
2015-04-26 22:30:44 +02:00
Přemysl Eric Janouch
e734190979
degesch: set the server buffer as default
2015-04-26 18:59:58 +02:00
Přemysl Eric Janouch
b7d6933be6
degesch: brevify /help with no arguments
2015-04-26 18:58:39 +02:00
Přemysl Eric Janouch
224073d3b2
degesch: distinguish lines from other buffers
2015-04-26 18:39:38 +02:00
Přemysl Eric Janouch
950d64d229
degesch: little fixes
2015-04-26 18:24:19 +02:00
Přemysl Eric Janouch
864be7cfc5
degesch: add output text formatting
2015-04-26 18:23:43 +02:00
Přemysl Eric Janouch
4393e48145
degesch: encoding fixes
...
Shouldn't be totally broken anymore.
2015-04-25 14:53:29 +02:00
Přemysl Eric Janouch
c38dfced51
degesch: refactor logging a bit
2015-04-25 13:41:10 +02:00
Přemysl Eric Janouch
a75fc35295
degesch: refactor handle_command_buffer() a bit
2015-04-25 02:41:52 +02:00
Přemysl Eric Janouch
0141bef3cd
degesch: print an extra line in /buffer list
2015-04-25 02:09:58 +02:00
Přemysl Eric Janouch
40510e26c3
degesch: fix warnings
2015-04-25 02:09:42 +02:00
Přemysl Eric Janouch
29da71800a
degesch: finish the /help command
2015-04-25 02:08:14 +02:00
Přemysl Eric Janouch
05d21e8f3d
degesch: print usage on command syntax failure
2015-04-25 01:49:34 +02:00
Přemysl Eric Janouch
b2cfbf1501
degesch: refactor wrap_text()
...
It wasn't very readable.
2015-04-25 01:35:24 +02:00
Přemysl Eric Janouch
6ef472beb2
degesch: remove cyclic dependency
...
Between users and channels.
2015-04-25 00:53:07 +02:00
Přemysl Eric Janouch
7c2085d528
degesch: memory management fixes
...
As well as a one serious bug in passing the completely wrong object.
2015-04-24 23:30:48 +02:00
Přemysl Eric Janouch
a4d3023874
degesch: fix a double-free
2015-04-24 22:50:53 +02:00
Přemysl Eric Janouch
d4413627e6
degesch: better & working text wrapping
...
Now we respect word boundaries.
2015-04-24 22:34:44 +02:00
Přemysl Eric Janouch
2a0dcc2add
degesch: fix RPL_WELCOME user@host parsing
2015-04-24 22:33:23 +02:00
Přemysl Eric Janouch
dd8bb4c206
degesch: less confusing function name
2015-04-23 03:10:34 +02:00
Přemysl Eric Janouch
cc6e9306e6
degesch: refactor command handlers
2015-04-23 03:07:48 +02:00
Přemysl Eric Janouch
15032f9ce7
degesch: fix /query
2015-04-23 03:00:19 +02:00
Přemysl Eric Janouch
20c36b4b36
degesch: non-functional changes
2015-04-23 02:59:58 +02:00
Přemysl Eric Janouch
c088f081d7
degesch: halfplement /msg, /query, /notice
...
Which involved some refactoring.
2015-04-23 02:48:25 +02:00
Přemysl Eric Janouch
2633eda69a
degesch: better message autosplit
2015-04-23 00:15:01 +02:00
Přemysl Eric Janouch
53b46482f5
degesch: preliminary message autosplitting
2015-04-22 22:41:01 +02:00
Přemysl Eric Janouch
f2a2206e49
degesch: parse user@host from RPL_WELCOME
2015-04-22 21:59:50 +02:00
Přemysl Eric Janouch
a7ccdc78be
degesch: add a note about RPL_ISUPPORT
2015-04-21 22:34:16 +02:00
Přemysl Eric Janouch
295e4c8bf9
degesch: preparations for numerics processing
2015-04-21 22:08:18 +02:00
Přemysl Eric Janouch
e937ac12d5
degesch: remove extraneous function argument
2015-04-21 21:55:34 +02:00
Přemysl Eric Janouch
d0b7545f1e
degesch: implement TOPIC handling
2015-04-21 21:47:34 +02:00
Přemysl Eric Janouch
9c0f0c0e33
degesch: don't require channels to have buffers
2015-04-21 21:36:59 +02:00
Přemysl Eric Janouch
e8e039c11c
degesch: non-functional changes
2015-04-21 21:36:44 +02:00
Přemysl Eric Janouch
883e777bac
degesch: implement PART and KICK handlers
2015-04-21 21:36:16 +02:00
Přemysl Eric Janouch
69582c9e14
degesch: shorten/dedup init_colors()
2015-04-21 20:52:41 +02:00
Přemysl Eric Janouch
c69c8048b4
degesch: fix a potential SIGSEGV
2015-04-21 00:40:30 +02:00
Přemysl Eric Janouch
5632eecd42
degesch: get rid of repeating refcounting code
...
Macros aren't exactly spectacular but they work.
2015-04-21 00:29:07 +02:00
Přemysl Eric Janouch
635c28820d
degesch: fix logging a bit
...
It needs a rewrite.
2015-04-21 00:09:06 +02:00
Přemysl Eric Janouch
0a87e43aff
degesch: unfuck reference counting
...
We really needed weak references for the name map.
2015-04-21 00:04:34 +02:00
Přemysl Eric Janouch
3cfe01e3a7
degesch: fix some object management
2015-04-20 23:37:34 +02:00
Přemysl Eric Janouch
c5695a5f6d
degesch: fix SIGSEGV on /quit
2015-04-20 23:09:13 +02:00
Přemysl Eric Janouch
5ad6581c57
degesch: halfplement PART handling
...
Tired. This thing is enormous.
2015-04-20 23:03:52 +02:00
Přemysl Eric Janouch
590fc6cf26
degesch: mostly implement NICK handling
...
Except for the corner case where two buffers merge.
2015-04-20 22:53:31 +02:00
Přemysl Eric Janouch
3fa9a67a59
degesch: make a "struct user" for ourselves
2015-04-20 22:09:56 +02:00
Přemysl Eric Janouch
a43051132a
degesch: log nick changes
2015-04-20 21:56:32 +02:00
Přemysl Eric Janouch
b8bfcfde7c
degesch: finish QUIT handling
2015-04-20 21:49:46 +02:00
Přemysl Eric Janouch
8e7412eb97
degesch: halfplement NICK and QUIT handlers
2015-04-20 00:08:18 +02:00
Přemysl Eric Janouch
8b279dde81
degesch: disallow /quote from the global buffer
2015-04-19 23:09:01 +02:00
Přemysl Eric Janouch
10f1575677
degesch: fix creation of encoding converters
2015-04-19 23:07:23 +02:00
Přemysl Eric Janouch
d01618ceb7
degesch: fix logging
2015-04-19 23:05:49 +02:00
Přemysl Eric Janouch
158f188646
degesch: fix "irc_nickname" and send USERHOST
2015-04-19 22:49:03 +02:00
Přemysl Eric Janouch
51415c1db6
degesch: factor out send_message_to_target()
...
And check that we're actually connected.
2015-04-19 22:26:30 +02:00
Přemysl Eric Janouch
953bc72e2b
degesch: implement PRIVMSG handling
2015-04-19 22:19:52 +02:00
Přemysl Eric Janouch
56ae38b19a
degesch: implement JOIN handling
2015-04-19 22:19:26 +02:00
Přemysl Eric Janouch
63d01191b6
degesch: fix sending messages
...
Now that the data model has changed.
2015-04-19 21:34:52 +02:00
Přemysl Eric Janouch
c3d96a8b2d
degesch: add some comments
2015-04-19 21:34:33 +02:00
Přemysl Eric Janouch
c946c46f1f
degesch: implement /join and /part
2015-04-19 21:34:11 +02:00
Přemysl Eric Janouch
392c2e7a5f
degesch: fix struct channel_user
...
A user can have multiple channel modes.
2015-04-19 21:33:13 +02:00
Přemysl Eric Janouch
5502975505
degesch: prepare for user/channel buffers
...
That is, prepare all the required data structures and their relations.
I'm not particularly good at this, so let's just hope it will work out.
2015-04-19 02:12:59 +02:00
Přemysl Eric Janouch
8c38b1b9b8
degesch: some non-functional changes
2015-04-18 22:09:05 +02:00
Přemysl Eric Janouch
da472bc4f6
degesch: count unseen messages
2015-04-18 21:50:42 +02:00
Přemysl Eric Janouch
14077ff209
degesch: capitalize buffer messages
...
They looked too alien.
2015-04-18 17:51:28 +02:00
Přemysl Eric Janouch
3bf1ffa559
degesch: fix some remaining print_*()
2015-04-18 17:50:56 +02:00
Přemysl Eric Janouch
cbda184461
degesch: fix binding Meta keys
...
At last.
2015-04-18 17:34:35 +02:00
Přemysl Eric Janouch
5dbd6eaa7e
degesch: print out some basic help
2015-04-18 17:19:56 +02:00
Přemysl Eric Janouch
e65b38bff9
degesch: readline cleanup
2015-04-18 16:10:11 +02:00
Přemysl Eric Janouch
932548ef4b
degesch: make readline work better
...
By randomly poking at it until it stops being a little shit.
Still no Meta keys.
2015-04-18 16:06:10 +02:00
Přemysl Eric Janouch
869781c33a
degesch: make it work to some extent
...
GNU Readline still ignores our Meta keyseqs.
2015-04-18 03:25:10 +02:00
Přemysl Eric Janouch
583262ae67
degesch: printing to buffers etc.
2015-04-17 23:28:16 +02:00
Přemysl Eric Janouch
511c56d2fc
degesch: stub IRC command handlers
2015-04-17 22:53:35 +02:00
Přemysl Eric Janouch
0d63e59beb
degesch: add irc_to_utf8()
...
And use it.
2015-04-17 22:22:46 +02:00
Přemysl Eric Janouch
6c4e7f8fdc
degesch: fix irc_process_message()
2015-04-17 22:11:36 +02:00
Přemysl Eric Janouch
f9125c38c0
degesch: prepare for printing to buffers
2015-04-17 22:10:43 +02:00
Přemysl Eric Janouch
5b9dadcc58
degesch: leak lines from related buffers
2015-04-17 21:48:56 +02:00
Přemysl Eric Janouch
7fed628d58
degesch: inline a condition
2015-04-17 21:44:44 +02:00
Přemysl Eric Janouch
61ebbe245b
degesch: factor out make_prompt()
2015-04-17 21:40:08 +02:00
Přemysl Eric Janouch
8cb55e81b3
degesch: actually send messages
2015-04-17 21:33:52 +02:00
Přemysl Eric Janouch
954a9e127a
degesch: more user command handling
...
It's become obvious that I really, really need to finish printing
to buffer first, as I keep adding new TODO comments.
2015-04-17 21:29:18 +02:00
Přemysl Eric Janouch
2d91a27714
degesch: factor out buffer_{previous,next}()
2015-04-17 21:26:08 +02:00
Přemysl Eric Janouch
e5b52fcd76
degesch: factor out buffer_get_index()
2015-04-17 21:19:51 +02:00
Přemysl Eric Janouch
2d4adaefbf
degesch: enhance the prompt
...
- prepend the buffer's index
- don't show modes if they're empty
- don't show the nick in the global buffer
2015-04-16 21:29:35 +02:00
Přemysl Eric Janouch
75b2fc1da2
degesch: factor out buffer_goto()
...
And make M-[0-9] ding if there's no such buffer.
2015-04-16 21:20:25 +02:00
Přemysl Eric Janouch
0c96563545
degesch: fix quoting a slash
2015-04-16 20:51:50 +02:00
Přemysl Eric Janouch
c421532e6e
degesch: some more progress
...
Whoa, this thing is huge.
Started implementing the basis for IRC and user command handlers.
2015-04-16 01:04:32 +02:00