BitlBee ui-fix branch, or: BitlBee TNG
Over the last months I've rewritten most of the IRC core of BitlBee. This was on the roadmap for a long time, but more a long term plan. Many feature requests were postponed "until the IRC core rewrite is done", etc. Now, this work is finally done (or at least nearing completion).
The branch can be found at http://code.bitlbee.org/wilmer/ui-fix/. Debian packages are also available, as usual. The branch is based on the killerbee branch, so it also has the file transfer/libpurple functionality.
For public server users: This code's now running on testing.bitlbee.org (currently not yet on the SSL version, but this will hopefully also change soon).
Here's a quick summary of all the changes. Right now this Wiki page is the only form of documentation for most of the new functionality, the built-in help may lag on some subjects.
&bitlbee is a channel like any others. You can leave it and just rejoin it later when you want. You're no longer automatically forced back into it.
- Another old annoying restriction finally lifted: You can now change your nickname.
(New since revision 668:) Since the syntax of the account set command has confused many people for a very long time, it was changed slightly. Instead of account set acc/key value you now type account acc set key value, so just the usual set command syntax, with account acc in front of it to indicate you're changing an account setting. For consistency, the other subcommands also had their arguments swapped, i.e. account acc on instead of account on acc.
- You can also create additional control channels, containing a subset of your contact list.
Say, a channel with only your Facebook contacts. If you have only one Facebook account, just typing /join &facebook should get you this channel.
Or a channel with all contacts in the group "Work". Just type /join &work. (Works if you already have a group called "Work" defined, for example using a different client.)
You can also use /invite to invite other people into this channel (currently works for MSN and Jabber contacts)/add people to this group.
There's a new command channel that you can use to configure channels. Try channel list and channel set 0.
There's no channel add, if you want to create a channel, just join it.
1 00:34:22 -!- Irssi: Join to &demo was synced in 0 secs 2 00:34:41 <@wilmer> chan list 3 00:34:41 <@roet> 0. &bitlbee, control channel (joined) 4 00:34:41 <@roet> 1. &Twitter_Wilmer, chat channel (joined) 5 00:34:41 <@roet> 2. &demo, control channel (joined) 6 00:34:41 <@roet> End of channel list 7 00:34:44 <@wilmer> chan 2 set 8 00:34:44 <@roet> type = `control' 9 00:34:44 <@roet> account is empty 10 00:34:44 <@roet> fill_by = `all' 11 00:34:44 <@roet> group is empty 12 00:34:52 <@wilmer> chan 2 set fill_by account 13 00:34:52 -!- bitlbee [firstname.lastname@example.org] has left &demo  14 00:34:52 -!- twitter_Wilmer [twitter_Wilmer@twitter] has left &demo  15 00:34:52 -!- wilmer__ [email@example.com] has left &demo  16 00:34:52 <@roet> fill_by = `account' 17 00:35:13 <@wilmer> chan 2 set account msn 18 00:35:19 -!- bitlbee [firstname.lastname@example.org] has joined &demo 19 00:35:19 -!- wilmer__ [email@example.com] has joined &demo 20 00:35:19 -!- ServerMode/&demo [+v wilmer__] by peer.bitlbee.org 21 00:35:19 <@roet> account = `msn(firstname.lastname@example.org)'
Creating a groupchat is more natural now: /join #movienight and you just invite all people you want to talk to in there. The chat with command will keep working as well for now.
You don't have to type the full root commands anymore. For example, try typing ac li, which does the same thing as account list.
Idle/login times of contacts show up in /whois when this information is available.
paste_buffer (previously known as buddy_sendbuffer) now works for chats as well.
The IRC core is separated from all instant messaging logic now. It should now be possible to write a non-IRC user interface for BitlBee.
(Since revision 694, 2010-07-09) If you log in and identify to a BitlBee server that you're already connected to, you will be offered to take over the previous session instead of starting a new one. This functionality can eventually be extended to allow multiple connections at the same time.
The nick_source setting was replaced with something much more powerful: nick_format which lets you configure, per account, how nicknames should be generated. This will let you automatically include the group a contact is a member of in their nick, or automatically prefix all contacts on a certain account with a certain string (i.e. all Facebook contact nicks start with FB-), etc.
Those are the main changes at the moment. The new codebase will make it much easier to add more features though, so keep watching this list. If you can't wait to try this out, here's just a list of known issues:
- Some settings/features you may have been using, may not be available in the new branch yet. I may have forgotten about it. Please feel free to report things that are missing in #bitlbee on irc.oftc.net.