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.

LMP

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 VK.com 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 VK.com (but that requires an active VK.com 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 VK.com) is just a matter of writing corresponding MusicZombie- or TouchStreams-like plugins without ever touching LMP.

LMP was also optimized a lot:

SB2

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:

Blogique

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.

BitTorrent

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:

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.