Hunter  Krajcik

Hunter Krajcik

1672475340

Liferea: Liferea (Linux Feed Reader), A News Reader for GTK/GNOME

Introduction

Liferea is a desktop feed reader/news aggregator that brings together all of the content from your favorite subscriptions into a simple interface that makes it easy to organize and browse feeds. Its GUI is similar to a desktop mail/news client, with an embedded web browser.

screenshot

Installation from Package

For distro specific package installation check out https://lzone.de/liferea/install.htm

Building Liferea Yourself

This section describes how to compile Liferea yourself. If you have any problems compiling the source file an issue at Github and we will help you asap.

Mandatory Dependencies

libxml2-dev libxslt1-dev libsqlite3-dev libwebkit2gtk-4.0-dev libjson-glib-dev libgirepository1.0-dev libpeas-dev libfribidi-dev gsettings-desktop-schemas-dev python3 libtool intltool

Compiling from Tarball

Download a tarball from https://github.com/lwindolf/liferea/releases and extract and compile with

tar jxvf liferea-1.13.3.tar.bz2 
./configure
make
sudo make install

Compiling from Git

Check out the code:

git clone https://github.com/lwindolf/liferea.git

Then build it with:

./autogen.sh
make
sudo make install

If you compile with a --prefix directory which does not match $XDG_DATA_DIRS you will get a runtime error about the schema not being found. To workaround set $XDG_DATA_DIRS before starting Liferea. For example:

my_dir=$HOME/tmp/liferea
./autogen.sh --prefix=$my_dir
make
sudo make install
env XDG_DATA_DIRS="$my_dir/share:$XDG_DATA_DIRS" $my_dir/bin/liferea

Contributing

As the project is hosted at Github pull requests and tickets via Github are the best way to contribute to Liferea.

Translating

Before starting to translate you need a translation editor. We suggest to use poedit or gtranslator. Please edit the translation using such a translation editor and create a Github pull request for the new .po file.

New Translations

To create a new translation you must load the translation template, which you can find in the release tarball as po/liferea.pot, into your translation editor. After editing it save it under a new name (usually your locales name with the extension .po).

Updating Translations

When updating an existing translation please ensure to respect earlier translators work. If the latest translation is only a few months old please contact the latest translator first asking him to review your changes especially if you change already translated literals.

Localizing Feed Lists

When Liferea starts for the first time it installs a localized feed list if available. If this is not the case for your locale you might want to provide one. To check if there is one for your country have a look into the "opml" subdirectory in the latest release tarball or GIT.

If you want to provide/update a localized feed list please follow these rules:

  • Keep the English part of the default feed list
  • Only add neutral content feeds (no sex, no ideologic politics, no illegal stuff)
  • Provide good and short feed titles
  • Provide HTML URLs for each feed.

Creating Plugins

Liferea supports GObject Introspection based plugins using libpeas. The Liferea distribution comes with a set of Python plugin e.g. the media player, libsecret support, a tray icon plugin and maybe others.

Why We Use Plugins?

The idea behind plugins is to extend Liferea without changing compile time requirements. With the plugin only activating if all its bindings are available Liferea uses plugins to automatically enable features where possible.

How Plugins Interact With Liferea

You can develop plugins for your private use or contribute them upstream. In any case it makes sense to start by cloning one of the existing plugins and to think about how to hook into Liferea. There are two common ways:

  • using interfaces,
  • or by listening to events on Liferea objects,
  • or not at all by just controlling Liferea from the outside.

The media player is an example for 1.) while the tray icon is an example for 3.) If you find you need a new plugin interface (called Activatables) in the code feel free to contact us on the mailing list. In general such a tight coupling should be avoided.

About the exposed GIR API: At the moment there is no stable API. Its just some header files fed into g-ir-scanner. Despite this method names of the core functionality in Liferea has proven to be stable during release branches. And if you contribute your plugin upstream it will be updated to match renamed functionality.

Testing Plugins

To test your new plugin you can use ~/.local/share/liferea/plugins. Create the directory and put the plugin script and the .plugin file there and restart Liferea.

Watch out for initialization exceptions on the command line as they will permanently disable the plugin. Each time this happens you need to reenable the plugin from within the plugin tab in the preferences dialog!

How to Help With Testing

Bug Reports

If you want to help with testing grab the latest tarball or follow GIT master and write bug reports for any functional problem you experience. If you have time help with bug triaging. Check if you see any of the open bugs that are not yet confirmed.

Debugging Crashes

In case of crashes create gdb backtraces and post them in the bug tracker. To create a backtrace start Liferea using "gdb liferea". At the gdb prompt type "run" to start the execution and "bt" after the crash. Send us the "bt" output!

Note: Often people confuses assertions with crashes. Assertions do halt the program because of a totally unexpected situation. Creating a backtrace in this situation will only point to the assertion line, which doesn't help much. In case of an assertion simply post a bug report with the assertion message.

Debugging Memory Leaks

If you see memory leakage please take the time to do a run

valgrind --leak-check=full liferea

to identify leaks and send in the output.

How to Get Support

When using distribution packages

Do not post bug reports in the Liferea bug tracker, use the bug reporting system of your distribution instead. We (upstream) cannot fix distribution packages!

Before raising an issue

Install the latest stable release and check if the problem is solved already. Please do not ask for help for older releases!

Issue Tracker

Once you verified the latest stable release still has the problem please raise an issue in the GitHub bug tracker (https://github.com/lwindolf/liferea/issues).

Download Details:

Author: lwindolf
Source Code: https://github.com/lwindolf/liferea 
License: GPL-2.0, LGPL-3.0 licenses found

#atom #gnome #hacktoberfest 

What is GEEK

Buddha Community

Liferea: Liferea (Linux Feed Reader), A News Reader for GTK/GNOME
Hunter  Krajcik

Hunter Krajcik

1672475340

Liferea: Liferea (Linux Feed Reader), A News Reader for GTK/GNOME

Introduction

Liferea is a desktop feed reader/news aggregator that brings together all of the content from your favorite subscriptions into a simple interface that makes it easy to organize and browse feeds. Its GUI is similar to a desktop mail/news client, with an embedded web browser.

screenshot

Installation from Package

For distro specific package installation check out https://lzone.de/liferea/install.htm

Building Liferea Yourself

This section describes how to compile Liferea yourself. If you have any problems compiling the source file an issue at Github and we will help you asap.

Mandatory Dependencies

libxml2-dev libxslt1-dev libsqlite3-dev libwebkit2gtk-4.0-dev libjson-glib-dev libgirepository1.0-dev libpeas-dev libfribidi-dev gsettings-desktop-schemas-dev python3 libtool intltool

Compiling from Tarball

Download a tarball from https://github.com/lwindolf/liferea/releases and extract and compile with

tar jxvf liferea-1.13.3.tar.bz2 
./configure
make
sudo make install

Compiling from Git

Check out the code:

git clone https://github.com/lwindolf/liferea.git

Then build it with:

./autogen.sh
make
sudo make install

If you compile with a --prefix directory which does not match $XDG_DATA_DIRS you will get a runtime error about the schema not being found. To workaround set $XDG_DATA_DIRS before starting Liferea. For example:

my_dir=$HOME/tmp/liferea
./autogen.sh --prefix=$my_dir
make
sudo make install
env XDG_DATA_DIRS="$my_dir/share:$XDG_DATA_DIRS" $my_dir/bin/liferea

Contributing

As the project is hosted at Github pull requests and tickets via Github are the best way to contribute to Liferea.

Translating

Before starting to translate you need a translation editor. We suggest to use poedit or gtranslator. Please edit the translation using such a translation editor and create a Github pull request for the new .po file.

New Translations

To create a new translation you must load the translation template, which you can find in the release tarball as po/liferea.pot, into your translation editor. After editing it save it under a new name (usually your locales name with the extension .po).

Updating Translations

When updating an existing translation please ensure to respect earlier translators work. If the latest translation is only a few months old please contact the latest translator first asking him to review your changes especially if you change already translated literals.

Localizing Feed Lists

When Liferea starts for the first time it installs a localized feed list if available. If this is not the case for your locale you might want to provide one. To check if there is one for your country have a look into the "opml" subdirectory in the latest release tarball or GIT.

If you want to provide/update a localized feed list please follow these rules:

  • Keep the English part of the default feed list
  • Only add neutral content feeds (no sex, no ideologic politics, no illegal stuff)
  • Provide good and short feed titles
  • Provide HTML URLs for each feed.

Creating Plugins

Liferea supports GObject Introspection based plugins using libpeas. The Liferea distribution comes with a set of Python plugin e.g. the media player, libsecret support, a tray icon plugin and maybe others.

Why We Use Plugins?

The idea behind plugins is to extend Liferea without changing compile time requirements. With the plugin only activating if all its bindings are available Liferea uses plugins to automatically enable features where possible.

How Plugins Interact With Liferea

You can develop plugins for your private use or contribute them upstream. In any case it makes sense to start by cloning one of the existing plugins and to think about how to hook into Liferea. There are two common ways:

  • using interfaces,
  • or by listening to events on Liferea objects,
  • or not at all by just controlling Liferea from the outside.

The media player is an example for 1.) while the tray icon is an example for 3.) If you find you need a new plugin interface (called Activatables) in the code feel free to contact us on the mailing list. In general such a tight coupling should be avoided.

About the exposed GIR API: At the moment there is no stable API. Its just some header files fed into g-ir-scanner. Despite this method names of the core functionality in Liferea has proven to be stable during release branches. And if you contribute your plugin upstream it will be updated to match renamed functionality.

Testing Plugins

To test your new plugin you can use ~/.local/share/liferea/plugins. Create the directory and put the plugin script and the .plugin file there and restart Liferea.

Watch out for initialization exceptions on the command line as they will permanently disable the plugin. Each time this happens you need to reenable the plugin from within the plugin tab in the preferences dialog!

How to Help With Testing

Bug Reports

If you want to help with testing grab the latest tarball or follow GIT master and write bug reports for any functional problem you experience. If you have time help with bug triaging. Check if you see any of the open bugs that are not yet confirmed.

Debugging Crashes

In case of crashes create gdb backtraces and post them in the bug tracker. To create a backtrace start Liferea using "gdb liferea". At the gdb prompt type "run" to start the execution and "bt" after the crash. Send us the "bt" output!

Note: Often people confuses assertions with crashes. Assertions do halt the program because of a totally unexpected situation. Creating a backtrace in this situation will only point to the assertion line, which doesn't help much. In case of an assertion simply post a bug report with the assertion message.

Debugging Memory Leaks

If you see memory leakage please take the time to do a run

valgrind --leak-check=full liferea

to identify leaks and send in the output.

How to Get Support

When using distribution packages

Do not post bug reports in the Liferea bug tracker, use the bug reporting system of your distribution instead. We (upstream) cannot fix distribution packages!

Before raising an issue

Install the latest stable release and check if the problem is solved already. Please do not ask for help for older releases!

Issue Tracker

Once you verified the latest stable release still has the problem please raise an issue in the GitHub bug tracker (https://github.com/lwindolf/liferea/issues).

Download Details:

Author: lwindolf
Source Code: https://github.com/lwindolf/liferea 
License: GPL-2.0, LGPL-3.0 licenses found

#atom #gnome #hacktoberfest 

Hire Dedicated Linux Developer

Looking to develop real-time applications?

Hire Dedicated Linux Developer from HourlyDeveloper.io, we have dedicated developers who have vast experience in developing applications for Linux and UNIX operating systems and have in-depth knowledge of their processes, kernel tools, internal architectures, and development packages.

Consult with experts:- https://bit.ly/2ZQ5ySP

#hire linux dedicated developer #linux developer #linux development company #linux development services #linux development #linux developer

How I Switched from Windows 10 to Linux Mint

This article is all about my journey on switching from Windows 10 to Linux Mint 20, how I got easily adapted to the Linux environment, and some resources that helped me to set up a perfect Desktop environment.

Uncertainty

Ok, now I have decided to switch to Linux but here comes the first question. Which distro will satisfy my needs both in terms of GUI and other aspects? Linux is not something new to me since I have been working with RHEL based distros in my work for the past 4 years with the command-line.

I know RHEL based distros are good for enterprises but not for personalized desktop environments, at least that’s what I am thinking till now. So I started my research to find the distro that should be easy for me to use and at the same time should have good community support if in case I ran into some problem. Among many Linux distros, I drilled down my list to 4 flavors.

Related ArticleThe Best Linux Distributions for Beginners

Before deciding the Distro it is necessary you formulate the list of tools/programs or packages needed and check if the distro you choose provides all those features.

For me, I use Linux for two main purposes: one is for my professional development work, writing articles, and second for my personal use like Video editing and Movies. Most of the popular software are created to be compatible with Windows, macOS, and Linux like Sublime TextVSCodeVLC Media PlayerFirefox/Chromium browser. Other than these software, cloud-based services make our life easy Like Microsoft Office 365 or G Suite.

#linux distros #linux mint #linux distros #linux mint tips #linux

Apps For Short News – The Trend Is About To Arrive

Short news apps are the future, and if they will play a defining role in changing the way consumers consume their content and how the news presenters write their report.

If you want to build an app for short news then you can check out some professional app development companies for your app project As we head into the times where mobile applications and smartphones will be used for anything and everything, the short news applications will allow the reader to choose from various options and read what they want to read.

#factors impacting the short news apps #short news applications #personalized news apps #short news mobile apps #short news apps trends #short news apps

I am Developer

1620616862

How to Delete Directories and Files in Linux using Command Line

In this remove or delete directories and files linux tutorial guide, you will learn how to remove empty directory and non empty directory linux using command line. And as well as how to remove/file files linux using command line.

If you work with Linux then you will need the following:

  • how to remove empty directory in linux,
  • how to remove non empty directory,
  • how to remove directory without confirmation linux
  • how to remove files with and without confirmation in linux.

So, this tutorial guide will show you you how to use the rmunlink, and rmdir commands to remove or delete files and directories in Linux with and without confirmation.

https://www.tutsmake.com/how-to-remove-directories-and-files-using-linux-command-line/

#how to delete directory in linux #how to remove non empty directory in linux #remove all files in a directory linux #linux delete all files in current directory #linux delete all files in a directory recursively #delete all files in a directory linux