I develop stuff and have opinions on things -
About me/Contact

Articles:

Poezio 0.7.5 is out

I am pleased to announce today the release of Poezio 0.7.5. Since the last release was six months (and more than 500 commits) ago, the number of changes in quite high, and some are what I would call “major changes”.

Plugins

As expected, this version adds a new plugin system, which was mostly -and well- designed by teisenbe. This new plugin system let us add without much difficulties some features that people deem useful. I’m thinking of GPG, OTR, aliases, notifications, etc. (for a more complete list, and documentation about those plugins, see the documentation).

We can even do this kind of fancy multi-colored ASCII-art:

image0

If you are interested in writing your own plugin, we have a documented API, but some things may require knowledge of the poezio internals. If you have issues, please drop by the poezio room and ask us!

Contact management

I had fun rewriting completely the roster/contact part of poezio, to remove definetly some annoying bugs (e.g. disconnected resources still being displayed, or contact adding problems).

It should work properly now.

There is also a new /groupmove command that removes a contact from a group while adding him to another. Putting the cursor on a contact will now display more info (status, etc), and you can get even more information by pressing “i”.

Bookmarks management

Poezio can now handle server-side bookmarks, with PEP or with the previous storage method (private xml storage). The users should not have to worry much about the storage method, though, it should be transparent.

Of course, the local bookmarks in the configuration file will remain, an can be used alone.

Tabs

We now have a new way of displaying tabs. Instead of having them displayed as numbers in an horizontal line, we can have a nice pan on the left side of the screen with numbers and names, too.

Of course, if you prefer the horizontal line, you can keep it, and it is still the default. You can even display the names inside that bar, though it gets full quickly.

Keyboard shortcuts

A new set of pseudo-key combinations is available, it allows the user to map a keypress to an action with /bind (see the keys documentation). It is made so you don’t have to see which key does what when you remap the bindings of poezio.

Configurability

A whole new set of options has been added in order to fit even more needs. Poezio is not designed to be especially easy-to-use, it is designed to let the user be efficient, and being able to tune it to the finest details is a bing part of that. (Although we will try to ensure that it does not become a mess of obscure options)

Stuff

  • Most [tab] completions are now more exhaustive
  • You can use a personal dictionary that will be in the recent words completion (Alt-/)
  • A new command /attention allows you to request the attention of a contact in a private or a direct conversation (only if your contact supports that feature). If you receive one, the tab will have a different color
  • Command parameters have been uniformized (and documented)
  • A Xml tab now shows all the incoming and outgoing stanzas, freeze/unfreeze the display, and the stanzas can be filtered with xpath, xml masks or other methods.
  • We can now scroll through the information buffer, and we can also scroll through the chat tabs at different speeds (one line/half a screen/a screen).
  • We can now invite our contacts to a room if we are already in it, and decline such invitations (though the decline part has not been tested, because of lack of server support, so you only have to ignore it)
  • The /xhtml command allows us to write custom xhtml-im bodies
  • The /presence command can send “directed presence”, i.e. send a presence only to a specific contact
  • The /rawxml can send custom stanzas (although we cannot send invalid stanzas xml-wise, because it would disconnect poezio from the server, which would be bad)
  • Pasting text is now fast, and only causes problems on very slow connections
  • Thanks to manfraid, we can sort the rooms in the muc list tab
  • The memory footprint has been lessened, though it is not anywhere near perfection (python 3.3 will help with that, by reducing the excess memory by a 4 factor)
  • Poezio now runs with python3 -OO by default, which boosts the performances a (very) tiny bit
  • Poezio now comes with a TOFU (Trust On First Use) certificate check, if the certificate changes, you will have to acknowledge the change before logging in, or be disconnected.
  • We can change the affiliation of people in a MUC (and so, ban people too)
  • People connection with Gmail can no longer change nicks, except by re-joining the room (everyone is better off with that)
  • We can disable the initial presence, in order to be invisible
  • A new shortcut Alt+h scrolls directly to the separator in chat tabs, which is quite useful
  • Likewise, two new shortcuts (Alt+p/Alt+n) scroll to the the previous/next highlight in a MUC tab, which is more convenient than scrolling through pages and pages of text to see who mentionned us.
  • Lots of bugfixes, of course

As always, I would like to thank everyone for the bug reports, patchs, and advice.

And as always, I want to stress that this version is merely a snapshot that attained the objectives we had fixed for this version, and that it is stable enough (without annoying bugs or crashes). But the develop version is still the best if you want to have the new features and fixes quickly.

Next step

The next major version will be the 0.8, and it will have PubSub and PEP support, along with many other things.

If you have remarks or suggestions concerning this article, please by all means contact me.