Skip to main content


LeechCraft 0.5.98 is released

Posted in

LeechCraft 0.5.98 "Homecoming" is released today.

Again, it is a purely bugfix release, only incorporating fixes from the master development branch. The following things were fixed:

  • Core: show unassociated dock widgets before showing dock widgets corresponding to the current tab.
  • Core: fixed some segfaults on tab closes.
  • Core: fixed reusing IDs for jobs, fixing a few rare bugs in plugins like CSTP.
  • Aggregator: always save provider for delegated jobs.
  • Aggregator: download the rest of the feeds after killing a stall.
  • AN: moved "Update" button to a saner place.
  • AN: check if current rule is modified & suggest saving.
  • AN: fixed overlay text drawing on notification icons.
  • Azoth: fixed several rare segfaults.
  • Azoth: don't send "Paused" typing state after sending a message.
  • Azoth: take user-entered groups into account on roster item exchange.
  • Azoth: show JIDs in all users list.
  • Azoth: show contact JID in chat tab entry info line.
  • Azoth: activate first item in users list by default.
  • Azoth: don't try sending contact ID to another on Drag-n-Drop.
  • Azoth: change tab name after entry renaming.
  • Azoth MetaContacts: don't suggest unifying with MUC entries.
  • Azoth Xoox: properly handle server errors on form fetching.
  • Azoth Xoox: fetch versions for variant-less items as well (fixes fetching versions of MUC participants).
  • Kinotify: fixed leaking state machine on each notification.
  • LMP: fixed broken synchronization symbol fixing.
  • LMP: temporary files are always removed after sync.
  • LMP: metadata is now mapped properly from the source.
  • Monocle: only render those pages that are actually visible.
  • Monocle: don't set negative scales.
  • Monocle: immediate scrolling to current page on load.
  • Monocle: menu is shown only if mouse moved with a button pressed.
  • Monocle Seen: safeguard against rendering a bunch of small images leading to memory exhaustion.
  • TSM: fixed occasional segfaults on tab closes.
  • Vrooby: proper partition naming in UDisks2 backend.

LeechCraft 0.5.97 is released

Posted in

Another bugfix version is released: LeechCraft 0.5.97 "Wormholes".

The following bugs were fixed:

  • Core: fixed colors for QML buttons (mucn neater now).
  • Core: properly handle META key in shortcuts dialog.
  • Core: properly set default string codec, fixes debug messages encoding.
  • Util: fixed memory leak with QML and ColorThemeProxy.
  • Util: fixed rectangle fitting algorithm.
  • Azoth: fixed chat entry destruction on chat tab close.
  • HotSensors: take text color from the QML theme.
  • LackMan: fixed a typo in SQL query.
  • Launchy: extended known category aliases for Multimedia.
  • Monocle: keep page position on resize.
  • NSM: fixed icons for tab context menu actions.
  • TPI: update job name as well.
  • TPI: don't show internal tasks.
  • Vrooby: close the device popup on hoverout.

LeechCraft 0.5.96 is released

Posted in

LeechCraft 0.5.96 "Quittance" is released.

This release is the first one after the 0.5.95 feature freeze, thus it incorporates only bug fixes:

  • Core: keep tab icon along tab moves between windows.
  • Core: fixed toolbar handling on tab moves between windows.
  • Core: fixed file locking threading issues.
  • Core: fixed network disk cache expiration handling.
  • Core: proper handling of forcefully closed unassociated dock widgets.
  • Core: don't show actions with empty text in popup menus.
  • Azoth: fixed autoscrolling.
  • Azoth: application-wide users list shortcut.
  • Azoth: case-insensitive users list filtering.
  • Azoth: use proper icon for voice calls.
  • Azoth Acetamide: made the channels list dialog non-modal.
  • Azoth Acetamide: allow joining to channels while the list is fetched.
  • Azoth VB: don't own conversation by the buddy, fixes multiple segfaults.
  • Blogique: fixed progress indicator.
  • Blogique Hestia: fixed autoupdating entries in local blog.
  • Monocle Postrus: fixed FindLibSpectre.cmake for upcoming CMake.
  • LMP: fix rare segfaults on queue clearing.
  • LMP: clear last song data on player clearing.
  • LMP: support drags from filesystem browser.
  • LMP: replace queue on playlist activation.
  • LMP: properly restore play mode check state.
  • Popishu: fixed caret line background color.

LeechCraft 0.5.95 is released

Posted in

LeechCraft 0.5.95 "Hate Creation" is finally released!

It took us more than four months and more than 1400 commits to make this release happen, but it is worth it: we've implemented quite a few new tasty features, some of them being requested for quite a long time, and we've also fixed a whole bunch of things, from small annoying artifacts to nasty crashes. Moreover, this is the first release under the new Boost Software License.

Global changes

First of all, we've finally added multiple windows support to LeechCraft, so now you can have all your IM chats in one window and web pages in another one. LeechCraft has an option to open each tab class in its own window automatically, so it will throw private chats in one window, conferences in another one and, say, documents opened in Monocle into third one. Moreover, this feature is very useful for those having multiple monitors: one can put a long article to read or documentation pages on one monitor and leave primary LeechCraft window on another one:

Plugins also support this new multiple windows feature. For example, SB2 will keep different settings like panel placement and quarks list for each window.

The multiple windows feature is still very experimental and may lead to segfaults. Please report any problems with it!

Dock widgets management was improved considerably. Now only one dock can be visible at a time on each side of each LeechCraft window, and the dock windows are toggled via the corresponding toolbars or SB2 if it is available.

Plugins with the most improvements are, as always, Azoth, the IM client, LMP, the media player, Monocle, the document reader, and SB2, the next-generation sidebar plugin.


Azoth IM client became more keyboard-friendly with shortcuts for showing quick navigation list with current MUC participants or contacts from the whole roster, or for opening last detected link in a chat. It also saves whether formatted messages are enabled for separate contacts now, so you can have formatting disabled Azoth-wide and enabled for separate contacts only, so next time chat tabs with those contacts are opened, Azoth will automatically enable formatted messages. It is much faster and stable now as well.

Azoth' subplugins were also improved. For example, Acetamide, the IRC protocol plugin, now supports querying the list of channels on a server. AdiumStyles was optimized a lot. ChatHistory module loads history way faster now. Modnok, the LaTeX renderer, supports settings custom background colors and disabling antialiasing. Xoox, the XMPP support plugin, got most fixes: it now supports properly changing account password, forwards XHTML-IM message body in Ad-Hoc commands and exposes TLS settings. It also has an option for turning off requests for VCards and versions in MUCs, considerably reducing traffic usage and server load in conferences.

And good news for some users of protocols currently not supported by Azoth: work on a new plugin, VelvetBird, has been started. VelvetBird is basically a wrapper around libpurple adding support for protocols supported by it to Azoth. It is in its very early stages now, some vitally important features are still missing (working with authorization/subscription, for instance, is still somewhat experimental), but some LeechCraft users already use it as well and are generally happy with it.


LMP, the audio player for LeechCraft, has been improved a lot as well. It now has a proper album art manager, supports showing artist browser from a bunch of various places, supports previewing whole albums from sites like VKontakte (if discography if available via plugins like LastFMScrobble and MusicZombie).

LMP also has got a new subplugin, LMP Graffiti, which allows one to tag audio files, split CUE files into separate tracks and obtain tags for files from services like MusicBrainz via audio fingerprinting (if corresponding plugins are installed):


Monocle document reader now supports a bunch of new things:

  • page thumbnails (with visually highlighting the currently displaying area);
  • bookmarks;
  • forms for PDF files;
  • text searching.

Monocle also allows searching for selected text via text searchers like Pogooglue or SeekThru OpenSearch client.

A lot of behavior issues (mostly keeping state between Monocle launches) were fixed as well. Monocle FXB, the fb2 format plugin, has been optimized two-fold on a typical fb2 book.


SB2 now supports placing the panel in any window side, not only left one. It also supports removing and reordering quarks now, and the quarks can have settings as well:

Panel placement preferences, as well as quark list, order and quark settings can be different for different windows.

Other plugins

Blogique, the blog client, now supports such features as autosaving, tab unclosing and session management with the TabSessManager plugin or showing recent comments and inbox messages. It also supports keeping a local blog now.

GActs, the module for supporting global shortcuts, now bundles a patched copy of required Qxt files with it. The patches add support for assigning media keys to global shortcuts, a thing that upstream Qxt misses (and seems to not accept the proposed patch for several years already). GActs still supports building with system Qxt instead of bundled one, but in this case one misses this media keys feature.

Launchy module now supports favorites category where applications and LeechCraft tabs can be added. Favorites will be shown in quick launch area in SB2, if the corresponding quark is enabled:

Launchy now also supports keyboard navigation as well as filtering the list of applications by name, description or name of the executable.

NetStoreManager module (responsible for cloud storages support) was reworked quite a bit. For example, there were several stability improvements and older tree-based interface was replaced by a more Total Commander-like thing.

Among other changes:

  • Aggregator module got a major speedup.
  • LHTR visual editor plugin now supports tables and some other features.
  • GMail Notifier module now supports showing a quark with the list of mail in the mailbox.
  • Liznoo power manager has extended support for Mac OS now, with things like querying battery voltage or temperature.
  • A new module has been added which provides a quark with temperatures readings from libsensors: HotSensors. It is experimental for now and is known to crash sometimes during heavy system load in Qt internals.
  • Poshuku history widget has been fixed, supporting filtering by URL and eliminating duplicates in the same section.
  • Vrooby module now supports UDisks2 and supports building with several backends at once, trying them in order at run time.

Several old and unsupported plugins were removed, among them:

  • EiskaltDC++, the DirectConnect-client.
  • LCFTP, the FTP client.
  • TransparentArch, stub for easy access to archives contents.
  • VFSCore, virtual file system implementation. This module had to be removed because the functionality it relied on is unavailable in Qt 5 and there are no alternatives.
  • Tab++, being replaced by TabsList and SB2.

These plugins were extracted into separate repositories, keeping all the revisions that relate to them in case someone would take them over.

And now we are even closer to having a working LeechCraft installation on Windows. For that, we had to migrate to the MinGW toolchain, since MSVS' support for C++11 standard is pretty crappy yet.

Source tarball is already available, so is Mac OS X build. Packages for various Linux distros will be available later.

This is the last feature release in the 0.6 series, all other releases until 0.6.0 will have no new features, only bug fixes. In fact, there will be a separate branch for 0.6, and while the main development with all new tasty things will happen in master, only bugfixes will be ported to the 0.6 branch.

And now it's time for a couple of words about future plans. First of all, we won't support Qt 5 until at least Qt 5.1 is released: Qt is still to buggy, and it is insane to try to port quite a big and complex codebase like LeechCraft to such thing for now. Then, we have some awesome ideas for the upcoming 0.7 series after the feature freeze, ranging from new plugins like finance manager and data sources concept to full-blown desktop environment based on LeechCraft running out of the box and without aid of things like KDE and friends. Stay tuned!

LeechCraft 0.5.90 is released

Posted in

LeechCraft 0.5.90 "Architect of The Apocalypse" is released!

This is one more "long" milestone — more than two months have passed since LeechCraft 0.5.85, but we've done quite enormous amount of work and we are proud to present this release.


LeechCraft Music Player got some new tasty features and improvements, particularly coupled with our new plugins MusicZombie and TouchStreams, providing access to MusicBrainz database and audio collection respectively.

For example, if MusicZombie plugin is present, LMP can show the discography and tracklist in biography view and in recent releases view:

Paired with TouchStreams plugin it can also automatically start streaming tracks from (but that requires an active account, at least for now) from a variety of places, like similar artists, recommendations, recent releases and hypes. Generally a loudspeaker icon appears near an item if it can be streamed:

By the way, fetching hyped artists and tracks — both most popular and most growing ones — is another new feature of LMP in this release, so you can stay tuned to all new trends with LMP!

Thanks to the modular architecture of LeechCraft, adding another music database (instead of MusicBrainz) or another stream source (instead of is just a matter of writing corresponding MusicZombie- or TouchStreams-like plugins without ever touching LMP.

LMP was also optimized a lot:

  • library loading became about two orders of magnitude faster;
  • file modification time is considered now when rescanning, so collection rescans on file changes are much, much faster now, as well as collection rescans on startup.


Here we come to the greatest part of this release: the new SB2 plugin, which is our next-generation sidebar. Its UI is implemented entirely in QML, which allows one to write nice, informative and fancy widgets (or, as we call the, quarks) with animation and runtime graphics generation, which was nearly impossible with the old QAction-based sidebar. Quarks can be written either entirely in QML or in hybrid approach, where the logic is implemented in C++ and QML is for presentation only.

SB2 offers plugin launcher (with neat indication of what tabs are already opened, and a quick switcher between those), tray and quick launch areas and almost everything that the old sidebar was capable of, and more:

There are already some quarks exclusive to SB2, like the TPI plugin, standing for Task Progress Indicator:

or Lemon, which monitors traffic usage on network interfaces:

Of course, no such thing goes without analog clock, which will be available through LackMan package manager. Here it is near Lemon indicators:

TPI and Lemon have parts written in C++, but the analog clock quark is in pure QML, which allows us to deliver it via LackMan.

SB2's intrinsic vector nature also allows it to be scaled without any problems:

SB2 also lays foundation for things we'd like to implement in next versions. For example, we have plans for a Dashboard tab which will also contain quarks ranging from yet one more analog clock to, say, RSS quark, weather quark or calendar with social networks integration. This somewhat resembles KDE's Plasma (and, in fact, is partially inspired by Plasma, hence the name).

Color themes

Due to increasing usage of QML in LeechCraft, support for color themes has been added. These themes are based off KDE's ones, but also offer more colors to customize all those QML things, for example, in LMP and SB2:


Another new plugin in this release is Blogique, a modular blogging client. For now it only works with LiveJournal via the Metida subplugin, which already supports all post fields available ranging from the post body itself to mood, location and avatar. It also supports fetching all the entries from a blog as well as local drafts and backups:

LHTR module is used for editing (potentially any other editor can be used, if written), providing WYSIWYG functionality.

Adding other blog engines is fairly easy — it's just a matter of adding another backend subplugin (much like protocols are added to Azoth or formats are added to Monocle). No post options are hardcoded into Blogique core, so the UI displays only what's supported by exact blogging engine.


Only five years have passed since the introduction of the BitTorrent plugin, and as many users asked we've finally moved it to a separate tab:

Only basic info is left in Summary:

Also, the code has been migrated to the new libtorrent 0.16 API where possible, but it's still compatible with libtorrent 0.15.

Data filters architecture

A new concept of data filters have been added.

Basically, a data filter plugin is everything that can eat some text, an image, or anything, and produce a meaningful result. For example, Pogooglue plugin, which takes a string and opens a web browser window for Googling that string, is conceptually a data filter. SeekThru module, which provides OpenSearch support, is a data filter as well. In this milestone this concept has been unified, and SeekThru and Pogooglue implement all the respective interfaces.

What that means for a user — there is a context menu in Azoth or Poshuku that offers to handle selected text with text-supporting data filters:

In future more data filters will be added, for example, an image filter that uploads its input to an imagebin, or another image filter that applies blur and posts the image to Instagram.

Other plugins

Monocle document reader now supports PostScript documents, and format backend selection is now content-based, not extension-based. Monocle now also supports smooth scrolling, and a few issues have been fixed.

Poshuku browser now properly formats and highlights XML instead of showing it as-is:

Among other significant changes:

  • Azoth, our modular IM client, got a bunch of small fixes and improvements, particularly, its load time has been optimized a lot.
  • Kinotify window styles have been fixed on Mac OS X.
  • Liznoo power manager now supports Mac OS X.
  • Pierre plugin now supports displaying a badge on Mac OS X labels.
  • A bunch of .desktop-files have been added, so now you can open torrents, PDFs, and XMPP links in LeechCraft from any other application that's FreeDesktop-compliant.
  • libotr-4 compatibility in Azoth OTRoid.

Packages and builds for supported distros and OSes will be available soon. Watch your package manager or our download page! The source archive is already available.

Syndicate content