rss-plugin
rss-plugin copied to clipboard
Xfce4-panel RSS Plugin
Xfce4-panel RSS Plugin.
A simple Xfce4-panel plugin for reading RSS, and notifying on new unread content. The plugin is written with Rust, except for the seven or so lines of C necessary in order to make XFCE_PANEL_PLUGIN_REGISTER
work.
Installation:
Prerequisites:
Installing from a fresh Xubuntu in a VirtualBox leads to these prerequisites, before the plugin could be built and installed from source:
- Xfce libraries:
-
apt install libxfce4panel-2.0 libxfce4ui-common libxfce4ui-2-0
- GCC:
-
apt install gcc
-
curl https://sh.rustup.rs -sSf | sh
-
apt install pkg-config libssl-dev
-
apt install libgtk-3-dev
Installing the plugin
Run cargo build --release
to make sure everything is installed properly.
cargo build --release # building the rust parts
./make.sh # creating the plugin librssplugin.so file
sudo ./install.sh # moving the .so, .desktop, and .svg files, clear icon cache.
xfce4-panel -r # restart the panel.
The RSS Plugin should now be available to add.
Known problems:
- A fresh Xubuntu install has no
/usr/lib/xfce4/panel-plugins/
-folder. If this is the case for you, runmkdir -p /usr/lib/xfce4/panel-plugins
. - On the same Xubuntu install as above, the icon cache was not cleared. This resulted in no icon on the add-menu and about dialog, but otherwise has no effect. The icon in the panel is based on svg as a string within the code.
Future:
- Visually pleasing item-view
- Configurable item-view, icons and colors
- Better, more idiomatic, rust.
- Remove last dependency of C
Credit:
Using:
Inspired by:
- The Xfce4 Sample Plugin and the accompanying how-to guide for panel plugins
- gDiceRoller and the accompanying tutorial on GTK with rust
- Shrinkwrapping and Message Passing, as suggested by Best Practices With GTK + Rust
For everything else: