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 |
Přemysl Eric Janouch
|
08c0027397
|
degesch: more buffer-related stuff
|
2015-04-15 21:22:01 +02:00 |