Giter Site home page Giter Site logo

matray's Introduction

Service shutdown of manjaro.moson.eu is planned for the 23rd of October

Currently there is no alternative available so it is recommended to stop using matray

Also see: moson-mo/mnserver#1







matray

A Manjaro Linux announcements notification app (successor of mntray)


GitHub release build

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.

How to build

  • 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

How to install

For Arch-based distributions there is an AUR package available.
The AUR package got removed. A package is available in the Manjaro repositories.
PKGBUILD for the -git version is available here

Configuration

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"


Dependencies

  • gtk3
  • glib2
  • json-glib
  • libappindicator-gtk3
  • libgee
  • libsoup

Build dependencies

  • meson
  • ninja
  • vala

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

Thanks to

  • The Manjaro community for testing and feedback
  • SGS for providing the app logo
  • The ones I forgot to mention here :)

matray's People

Contributors

cfinnberg avatar galeot avatar hanzelm avatar maronghappy avatar moson-mo avatar oguzkaganeren avatar photon89 avatar prescott66 avatar strit avatar tomektom avatar xratix avatar zorrototo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.