🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

github.com/cookiesource/rbtray

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/cookiesource/rbtray

v1.1.3
Source
Go
Version published
Created
Source

rbtray

A RebornOS announcements notification app


Build Status Go Report Card GitHub release

A small app which informs about announcements from manjaro.
It creates a tray icon with a menu showing the latest announcements from the Manjaro forum RSS feed.

Announcements are retrieved from a http server (see rbserver) via post request.

This project is based on Qt and the Qt binding package for golang.
In order to run this app the qt5-base package needs to be installed on your system.

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 RebornOS forums host on a regular basis, it fetches news from rbserver.
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.

How to install

Binaries are available from the releases page.

How to build

  • Install go from your package manager or download it from the Golang site.
  • Install Qt bindings for Golang: go get -u -v github.com/therecipe/qt/cmd/...
  • Download this package with: go get -d github.com/cookiesource/rbtray
  • Change to package dir: cd $(go env GOPATH)/src/github.com/cookiesource/rbtray/
  • Set environment variable QT_PKG_CONFIG: export QT_PKG_CONFIG=true
  • Run: $(go env GOPATH)/bin/qtdeploy build desktop from the rbtray directory
  • The binary will be in the deploy/linux/ dir

For further information & cross compilation options please have a look at this wiki

Build with docker image

  • Install docker with your package manager
  • Add your user account to the docker group or run the following commands as root
  • Download docker image docker pull therecipe/qt:linux / sudo docker pull therecipe/qt:linux
  • Build with $(go env GOPATH)/bin/qtdeploy -docker build linux / sudo -E $(go env GOPATH)/bin/qtdeploy -docker build linux

Configuration

On the first startup a config file (~/.config/rbtray/settings.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": "0.2.0"
	"ServerURL": "http://manjaro.moson.eu:10111/news",
	"MaxArticles": 10,
	"AvailableCategories": [
		"Testing Updates",
		"Stable Updates",
		"Unstable Updates",
		"Announcements",
		"manjaro32",
		"Twitter"
	],
	"Categories": [
		"Testing Updates",
		"Stable Updates",
		"Unstable Updates",
		"Announcements",
		"manjaro32"
	],
	"AddCategoriesBranch": [
		"Announcements",
		"Twitter"
	],
	"RefreshInterval": 600,
	"HideNoNews": false,
	"Autostart": true,
	"ErrorNotifications": true,
	"DelayAfterStart": 60,
	"SetCategoriesFromBranch": true
}
OptionDescription
VersionVersion number. Do not change!
URLWebSocket URL of the mnservice server
MaxArticlesThe maximum number of articles to retrieve / show in the menu
AvailableCategoriesThe categories that available for subscription. Do not change!
CategoriesThe categories you want to get announcements for
Remove unwanted categories if needed

*note: Is ignored when SetCategoriesFromBranch is "true"
AddCategoriesBranchThe categories you want to get announcements for
additional to the branch you are using

*note: Is ignored when SetCategoriesFromBranch is "false"
RefreshIntervalThe interval (in seconds) in which rbtray will check for new articles
AutostartPlaces a .desktop file in the users autostart folder when "true"
HideNoNewsWhen 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"
ErrorNotificationsShow a notification in case articles can not be retrieved (f.e. network down)
DelayAfterStartDelays checking for news articles after startup (in seconds), f.e. wait for network to be up.

*note: This setting only takes effect when rbtray is started with parameter "--delay"
SetCategoriesFromBranchIf "true", it auto-detects the Manjaro branch and filters categories accordingly (f.e. "Stable Updates" & "Announcements")


Dependencies

  • qt - Qt binding for Go

Screenshots

Tray icon / menu

xfce menu kde menu gnome menu

Notifications

xfce notification kde notification gnome notification

Settings dialog

xfce settings kde settings gnome settings

Known issues

  • "HideNoNews" not working correctly

    There seems to be a problem with the Hide() method of QSystemTrayIcon (Qt).
    Due to that this function does not work reliably on GNOME and KDE environments atm.

FAQs

Package last updated on 21 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts