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.
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
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.
- 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.
- Visually pleasing item-view
- Configurable item-view, icons and colors
- Better, more idiomatic, rust.
- Remove last dependency of C
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: