A small tray application showing announcements and news for Manjaro Linux.
It creates a tray icon with a menu showing the latest announcements from the Manjaro Forum RSS feed & "manjarolinux" twitter account.
This project is the successor of mntray and has been re-developed in Vala.
Gtk serves as a basis for the GUI part.
Main reason for the re-development is that qt library binding used by mntray does not seem to be maintained anymore (last commit in Sep. 2020).
Announcements are retrieved from a http server (see mnserver) via post request.
Why is it connecting to a server application rather then parsing the RSS feed directly?
The RSS feed can be quite large (around 300 to 500 KB).
Instead of downloading this file from the Manjaro forums host on a regular basis, it fetches news from mnserver.
There's much less data to be transferred and less burden on the forum host and client since the data is stripped down to the bare minimum.
- Make sure all dependencies are installed
- Download this package with:
git clone https://github.com/moson-mo/matray
- Change to package dir:
cd matray
- Build:
meson build && ninja -C build
- The binary will be in the
build
dir
Binaries are available from the releases page.
Use "install_icons.sh" script in order to install the required icons.
For Arch-based distributions there is an AUR package available.
On the first startup, a config file (~/.config/matray/config.json
) is created with some default settings.
You can either use the GUI to change the configuration (open "Settings" from the menu) or edit the config file.
{
"Version": "1.0.0"
"ServerURL": "http://manjaro.moson.eu:10111/news",
"MaxArticles": 15,
"AvailableCategories" : [
"Testing Updates",
"Stable Updates",
"Stable Staging Updates",
"Unstable Updates",
"Twitter",
"News",
"Announcements",
"Releases",
"ARM News",
"ARM Releases",
"ARM Stable Updates",
"ARM Testing Updates",
"ARM Unstable Updates"
],
"Categories" : [
"Stable Updates",
"News",
"Announcements",
"Releases"
],
"AddCategoriesBranch" : [
"News",
"Announcements",
"Releases"
],
"RefreshInterval": 600,
"HideNoNews": false,
"Autostart": true,
"ErrorNotifications": true,
"DelayAfterStart": 15,
"SetCategoriesFromBranch": true,
"IconTheme" : "Bright"
}
Option | Description |
---|---|
Version | Version number. Do not change! |
URL | WebSocket URL of the mnservice server |
MaxArticles | The maximum number of articles to retrieve / show in the menu |
AvailableCategories | The categories that available for subscription. Do not change! |
Categories | The categories you want to get announcements for Remove unwanted categories if needed *note: Is ignored when SetCategoriesFromBranch is "true" |
AddCategoriesBranch | The categories you want to get announcements for additional to the branch you are using *note: Is ignored when SetCategoriesFromBranch is "false" |
RefreshInterval | The interval (in seconds) in which matray will check for new articles |
Autostart | Places a .desktop file in the users autostart folder when "true" |
HideNoNews | When set to "true", the tray icon is hidden when all news have been read *note: Does not work reliably on GNOME & KDE. See "Known issues" |
ErrorNotifications | Show a notification in case articles can not be retrieved (f.e. network down) |
DelayAfterStart | Delays checking for news articles after startup (in seconds), f.e. wait for network to be up. *note: This setting only takes effect when matray is started with parameter "--delay" |
SetCategoriesFromBranch | If "true", it auto-detects the Manjaro branch and filters categories accordingly (f.e. "Stable Updates" & "Announcements") |
IconTheme | The color of the tray icon. Can be "Bright", "Dark", "Colorful" or "System" |
- gtk3
- glib2
- json-glib
- libappindicator-gtk3
- libgee
- libsoup
- meson
- ninja
- vala
- The Manjaro Team for the great distro
- The Manjaro community for testing and feedback
- SGS for providing the app logo
- The ones I forgot to mention here :)