Recent Posts

Why doesnt Liferea start anymore

Since many distributions switched to newer desktops like GNOME shell or Ubuntu Unity that do not feature system tray areas, where application tray icons can be shown, there are many user reports that Liferea seemingly doesn't start anymore.

This is very often because previously Liferea was started minimized to the tray icon and you clicked on the tray icon to raise the application Liferea window.

Different Desktop Behaviours

Ubuntu Unity

Well Ubuntu Unity just got rid of the system tray and tries to adapt applications to libindicate. When Liferea is compiled with libindicate support everything should be fine. If not it might "disappear" when "Start minimized to Tray" is enabled.


GNOME shell got rid of the system tray, but tries to be backwards compatible by displaying tray icons in the notifications area. In the default configuration the notifications can be shown by moving the mouse to the lower screen edge. When Liferea starts minimzed to tray you will find the tray icon there and can click it to raise Liferea.

Long Term Solution

The long term solution is a sad one: to remove tray icon support (starting with 1.11). But for the brave power users there will be an optional plugin to enable to restore simple tray support.

Safe Workaround

This workaround fixes the startup in all cases. Just run:
liferea -w shown
and Liferea will permanently start non-minimized.

Dependency Problem on Debian Jessie and Ubuntu Wily

A problem with using Liferea under Debian Jessie and Ubuntu Wily has been reported: Installing Liferea pulls a lot of KDE packages even if you not a KDE user.

What Happened?

With Debian Jessie (which Ubuntu Wily is built upon) the download manager "steadyflow" was dropped, because it is not maintained anymore.

Now the Debian "liferea" package having two package recommends with one now being not satisfied anymore the other one "kget", a KDE download manager, wins. And "kget" pulls all KDE base packages.

How to Workaround?

Uninstalling the unintended KDE packages can be achieved by:
sudo apt-get purge kget
sudo apt-get autoremove

Long Term Solution

With "steadyflow" (which worked perfectly IMO) dropped we need another GTK-based download manager and luckily there is still one left "uget". And it is already supported in the 1.11 preferences.

How to Manually Install uget

Simply run
sudo apt-get install uget
and change the download manager in the preferences dialog to "uget".

Liferea 1.10.17 Released

This is a maintenance release fixing the following issues


    * Fixes Github #194: Add source dialog visually broken
      (reported by k0377)
    * Fixes Github #195: Out-dated documentation on enclosure download
      (reported by brian-in-crawford)
    * Fixes Github #223: Search folder dialog don't show rules
      (reported by Guido Masella)
    * Fixes Github #227: Preference dialog fails to load with latest
      GtkBuilder (patch by Yanko Kaneti)
    * Fixes Github #234: Segmentation fault upon attempting to add an OPML
      (reported by GreenLunar)
    * Fixes compilation error when there is no libnotify
    * Added debugging for #258: Dialog loading issues
      (patch by glitsj16)
Please upgrade if you are using recent GTK versions 3.14+ as three dialog layouts broke.


You can download the release on Github:

Liferea 1.11.6 Released

This is a new release in the unstable line. It introduced "Do Not Track" support and fixed several bugs. The DnT setting can be found in the preferences dialog new tab "Privacy":

Give 1.11.6 a try and please give feedback on the changes in the comments!


    * Added "Do Not Track" support (enabled per default)
    * Github #193: Added x-scheme-handler/feed to desktop file
      (suggested by GreenLunar)
    * Github #209: Add image icons to plugins
      (by GreenLunar)
    * Github #210: Enable tests for parsing RFC822 dates with 2 digit year
      (patch by arunanbala)
    * Fixes Github #78: Shaky text in feed list
      (reported by GreenLunar)
    * Fixes Github #195: Out-dated documentation on enclose download
      (reported by brian-in-crawford)
    * Fixes Github #198: Traceback on popup notifications
      (reported by GreenLunar)
    * Fixes Github #216: Untranslatable strings
      (reported by GreenLunar)
    * Fixes Github #256: PyGIWarnings on loading plugins
      (patch by glitjs16)


You can download the release on Github:

Do Not Track Support

I believe the privacy behaviour of Liferea should be improved a bit. Recently I added support for the DNT "Do Not Track" HTTP header which tells websites that a users wants to opt out of any tracking.

While this HTTP Header is of no use for secret services and evil companies it works with the "ethical" ecommerce guys.

Should it be enabled per default?

Now an important question for everyone: Do you prefer this preference being on per default? Firefox for example has it off per default. I'm not sure how it should be for Liferea, for myself I know I want it to be off. But what about you?

If you care about this please leave a comment. Just "on" or "off" is enough!

Liferea Code Quality

A while ago I took the time to register with Coverity, which if you do not know is a company specialized in scanning C source code for problems, and scan the Liferea code base.

I was quite happy with the results. A screenshot:

So according to Coverity Liferea has a comparetivly low defect density. For me this means you guys do good testing and contribute high quality code! Even if mistakes end up in the code they are immediately spotted by the community.

The 16 Defects

From those 16 reported defects most are C constructs used in Liferea that Coverity deems suspicious, because they might masks errors. Such are dead case conditions or fall-through default branches.

There were several potentially uninitialized variables and 4 real bugs that all could have caused memory corruptions. Finding those really improved Liferea. Read on for an example.

Find the Defect!

If you want to test your defect detection skills try this example uncovered by Coverity. I probably read the same code dozens of times but was blind to the obvious:
gchar *
enclosure_get_mime (const gchar *str)
       enclosurePtr enclosure = enclosure_from_string(str);
       gchar *mime = NULL;

if (enclosure) mime = g_strdup (enclosure->url);

enclosure_free (enclosure);

return mime; }
Of course the unconditional free'ing is the problem. Easy to spot, right? Well obviously not, this problem was in the code for a longer time and I suspect it caused quite some crashes on feed parsing. Well, try to read above code snippet again, this time without knowing there is a problem. Isn't there this nice if condition, the nice formatting, someone must have thought about all this, so no danger at all, right?

What is to be learned? Well, it's worth scanning the code more often. And it is great that many companies like Coverity allow OSS projects to use their services for free.

Liferea 1.10.16 Released

This is a maintenance release fixing the following issues


    * Fixes Github #180: Removing item from (v)folder marks all read
      (reported by GreenLunar)
    * Fixes Github #140, #158: Vertical pane placement is forgotten.
      (patch by foresto)
    * Fixes Github #182: Missing config.h include in date.c
      (reported by Paul Gevers)


You can download the release on Github:

Liferea 1.11.5 Released

This unstable release introduces full screen support for videos, brings performance improvements compared to 1.11.4 and fixes some bugs. Last but not least there is an update to the Russian translation.

Give 1.11.5 a try and please give feedback on the changes in the comments!


    * Github #178: Implementing full screen mode for videos
    * Fixes Github #32: Prevent erroneous "Mark all as read"
      (reported by Mno-hime)
    * Improves Github #36, #113: UI lock up during refresh
      (suggested by mozbugbox)
    * Fixes Github #180: Removing item from (v)folder marks all read
      (reported by GreenLunar)
    * Fixes Github #140, #158: Vertical pane placement is forgotten.
      (patch by foresto)
    * Fixes Github #182: Missing config.h include in date.c
      (reported by Paul Gevers)

* Update of Russian translation (bboa)


You can download the release on Github:

Liferea 1.10.15 Released

This is a new maintenance release for the 1.10 line. Please upgrade if you use Firefox!


    * Fixes launching URLs in Firefox 36+
      (reported by Geoffrey Leach)
    * Fixes Github #30: Segfault after updating from 1.8 to 1.10
      (reported by vakuum)
    * Improves Github #36, #113: UI lock up during refresh
      (suggested by mozbugbox)

* Fixes typo in Italian translation.


You can download the release on Github:

Liferea 1.11.4 Released

This unstable release focuses on bug fixes. There is an UI change significantly simplifying the handling of external browsers. Finally it provides several translation updates.

Give 1.11.4 a try and send feedback to the mailing list [email protected]!


    * Fixes Github #154: Crashes while starting (corrupt icon)
      (reported by jcamposz)
    * Github #149: Fixes a random crash on startup
      (patch by mozbugbox)
    * Fixes Github #79: RTL ordering of Back/Forward icons
      (reported by GreenLunar)
    * Fixes Github #30: Segfault after updating from 1.8 to 1.10
      (reported by vakuum)
    * Fixes Github #87: URL resolving wrong if base tag involved
      (reported by DanMan, fixed by mozbugbox)
    * Fixes all defects reported by Coverity scan
    * Simplied external browser handling. Now Liferea only supports
      the gtk_show_uri() launch mechanism for the system default browser
      and a user specified browser command.

* Update of Albanian translation (Besnik Bleta) * Update of Hebrew translation (Genghis Khan) * Update of Spanish translation (Juan Campos Zambrana) * Fixes typo in Italian translation


You can download the release on Github:

Liferea Trick #10: Custom CSS for Article Rendering

Liferea renders articles as HTML content using Webkit (the Safari rendering engine) with colors adapted to the active GTK theme in a somewhat neutral and mail like style. If you dislike it you might want to change aspects of the CSS used to render the articles.

How it Works

To facilitate this Liferea loads 2 CSS definitionsBoth stylesheets are loaded so that the one in your home directory overrules the predefined one. And the documentation should help you to find the selectors you want to overwrite. Just have a look at ~/.config/liferea/liferea.css and try to change stuff. It is really easy.

Some example lines from ~/.config/liferea/liferea.css :
/* Header table fields to different item metadata */
// .author, .categories, .source { }
// .date { }

/* Item/feed description */ // div.content { }

/* Comment rendering */ // div.comment { } // div.comment_body { } // div.comment_title { }

Recent Liferea Tricks

Liferea Trick #9: Skimming Trough the Headlines

I'm not sure about how many users are aware of the feature, but I'm certain it is worth to know about as it saves a lot of clicking and pointing with the mouse. If you are a keyboard user it's worth knowing about the hotkey to skim through headlines.

Remember the Hot Key

As this hotkey is configurable check the preference dialog ff you are not sure about the setting. The default setting is <Ctrl>-Space...

How it Works...

By using this hot key you can navigate the article pane and the item list view at the same time. As long as the article pane allow vertical scrolling it scrolls down. Once you reach bottom Liferea jumps to the next unread article.

Using the headline skimming hotkey is like a "Next Unread And Scroll Down" menu option...

Recent Liferea Tricks

Liferea Trick #8: Change Menu Accelerators

When you are not satisfied with the menu key bindings defined by Liferea do not despair it is easy to change them!

Variant #1: Edit ~/.config/liferea/accels

This variant is 100% portable and should work for everyone. Open ~/.config/liferea/accels in your favourite editor. This file is loaded upon startup by Liferea and contains lines like these:
; (gtk_accel_path "<Actions>/AddActions/NewVFolder" "")
; (gtk_accel_path "<Actions>/GeneralActions/SearchMenu" "")
; (gtk_accel_path "<Actions>/ItemActions/ToggleItemFlag" "<Primary>t")
; (gtk_accel_path "<Actions>/GeneralActions/PrevReadItem" "<Primary><Shift>n")
Note how only the "ToggleItemFlag" and the "PrevReadItem" line have defined key bindings, while "NewVFolder" and "SearchMenu" don't.

To change a key binding first remove the semicolon at the start of the line and then adapt or clear the key binding field. Choose prefixes like "<Primary>" (for Ctrl), "<Alt>", "$lt;Shift> as needed and append the key after it.

Variant #2: Enable Editable Accelerators with your Linux Distro Settings

This variant is hard to document as different distributions have different setting dialogs. Some expose a setting to enable life editing of key bindings. Once this is enabled you can open a menu hover over a menu option and press the accelerator you want to assign. It should show up instantly.

Recent Liferea Tricks

Liferea Trick #7: Force Read Full Posts

The Problem

When you have subscribed to an interesting feed that does not provide full posts it can be frustrating. Short of using website scraping as described in the latest post there is nothing you can do to enhance the feed content.

There are legitimate reasons for feed publishers to do so. One might be that the site is earning by display ads, another might be that the publisher wants to engage users directly on their own website.

How To Solve It?

So why not follow that wish and simply read the entire website? Liferea allows you to do so by enabling an option in the subscription properties. Just open the subscription properties dialog by right clicking the subscription as selecting "Properties ..." and select the last tab "Advanced":

Here you can enable the second option "Auto-load item link ...". From now own you will read the website directly and see full content!

Liferea Trick #6: Website Scraping

Not every interesting website provides a feed. Some feeds are broken. And some websites do provide summaries only or no content at all. Besides asking the owner of the website to add a feed or provide more details the only choice left might be to "scrape" the website content.

Read about how to scrape websites with Liferea

Liferea Trick #5: Privacy with a SOCKS Proxy

Starting with Liferea 1.10 you can use a SOCKS proxy. This is possible because Liferea uses the libproxy support provided by the libsoup networking library since 1.10.

What is a SOCKS Proxy?

SOCKS stands for "socket secure" it simply means to use an encrypted connection for whatever you do. Configuring a SOCKS proxy in your desktop environment means that you want all applications to do internet access via an encrypted connection to a safe server you have access to.

Why Use a SOCKS Proxy for Feed Reading?

Well, this of course is useful if you are in an environment were you do not want others to see what you are reading. Be it political blogs or private but unencrypted feeds. Also you simply might not want for your employer to know what servers you are polling news feeds from anyway. There are many good and bad reasons.

How To Use SOCKS Proxy with Liferea and GNOME?

First please note that Liferea supports using a SOCKS proxy only via the GNOME network preferences. Actually it relies on libsoup using the SOCKS settings from there.


  1. Liferea 1.10+ with GNOME desktop
  2. You have a private server to use as a proxy
  3. You can connect via SSH to this server

Step 1: Connecting the SOCKS Proxy

There are many ways to do this and many online tutorials. The easiest way is to use SSH like this
ssh -D 8080 <user>@<private server>

Step 2: Client Proxy Configuration

So the first thing to do is to configure Liferea to use the GNOME network settings:

Ensure to set the preferences to proxy auto-detect as shown in the screenshot above. Next go to the GNOME preferences and configure a SOCKS proxy on "localhost" and port "8080" or whatever port you used when you ran the SSH command.

That's it! Try to update feeds in Liferea and watch out for errors in the status line.

What About Older Liferea Versions?

If you are running an older version of Liferea have a look at this post about a SOCKS proxy workaround using the tool redsocks.

Liferea Trick #4: Full Screen Mode

Are you using a netbook and have not much screen real estate? Then wether it is a mail client or web browser or news aggregator using it in full screen mode gets you more content visible. Less space is wasted for menu elements and window decoration.

In Liferea press F11 or select "View" -> "Fullscreen" to enable full screen mode.

If you want to save even more vertical space consider hiding the toolbar by enabling the option in the preferences dialog.