Moving matray back to Manjaro repos

Hi.

I’m aware that matray became a foreign package now, but I’ve read that @Weidenwiesel will take care maintaining matray, however I tried to install it today, and it doesn’t build. I even went through the dependencies and installed them all one by one, but still failed. I wrote him a message too, but I post it here aswell in the hope if anyone can help making it work somehow.

Yes I’m also aware that, there’s announcement thread which I can sub to, and also RSS (I’m actively using both), but still, I loved this app and it integrated so well in the Plasma ecosystem, so I’d be happy if we could figure out to make it work once again somehow.

This is the makepkg -s output:

==> Making package: matray-git 60.6b35345-1 (2025. dec. 13., szombat, 19:41:02 CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating matray git repo...
==> Validating source files with sha256sums...
    matray ... Skipped
==> Extracting sources...
  -> Creating working copy of matray git repo...
Reset branch 'makepkg'
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
Directory already configured.

Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
Run "meson setup --reconfigure" to force Meson to regenerate.

If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
ninja: Entering directory `build'
[1/2] Compiling C object matray.p/meson-generated_src_ui_TrayIcon.c.o
FAILED: [code=1] matray.p/meson-generated_src_ui_TrayIcon.c.o 
cc -Imatray.p -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/cloudproviders -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glycin-2 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/atk-1.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/fribidi -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gio-unix-2.0 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/usr/include/libappindicator3-0.1 -I/usr/include/libdbusmenu-glib-0.4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g '-DGETTEXT_PACKAGE="matray"' -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto -pthread -MD -MQ matray.p/meson-generated_src_ui_TrayIcon.c.o -MF matray.p/meson-generated_src_ui_TrayIcon.c.o.d -o matray.p/meson-generated_src_ui_TrayIcon.c.o -c matray.p/src/ui/TrayIcon.c
../src/ui/TrayIcon.vala: In function 'manjaro_news_tray_icon_construct':
../src/ui/TrayIcon.vala:59:2: warning: 'G_APPLICATION_FLAGS_NONE' is deprecated: Use 'G_APPLICATION_DEFAULT_FLAGS' instead [-Wdeprecated-declarations]
   59 |             Object(
      |  ^   
In file included from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from /usr/include/gtk-3.0/gtk/gtk.h:30,
                 from matray.p/src/ui/TrayIcon.c:34:
/usr/include/glib-2.0/gio/gioenums.h:1563:3: note: declared here
 1563 |   G_APPLICATION_FLAGS_NONE GIO_DEPRECATED_ENUMERATOR_IN_2_74_FOR(G_APPLICATION_DEFAULT_FLAGS),
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
TrayIcon.c: In function 'manjaro_news_tray_icon_set_icon_names':
TrayIcon.c:864:8: warning: unused variable '_ci_collection_size_' [-Wunused-variable]
TrayIcon.c:926:8: warning: unused variable '_ui_collection_size_' [-Wunused-variable]
TrayIcon.c:988:8: warning: unused variable '_si_collection_size_' [-Wunused-variable]
TrayIcon.c:767:7: warning: variable '_settingsIcons_size_' set but not used [-Wunused-but-set-variable]
TrayIcon.c:760:7: warning: variable '_uncheckIcons_size_' set but not used [-Wunused-but-set-variable]
TrayIcon.c:752:7: warning: variable '_checkIcons_size_' set but not used [-Wunused-but-set-variable]
../src/ui/TrayIcon.vala: In function 'manjaro_news_tray_icon_create_menu':
../src/ui/TrayIcon.vala:295:49: warning: passing argument 2 of 'gtk_menu_shell_append' from incompatible pointer type [-Wincompatible-pointer-types]
  295 |             menu.append (separator);
      |                                                 ^                    
      |                                                 |
      |                                                 GtkMenuItem * {aka struct _GtkMenuItem *}
In file included from /usr/include/gtk-3.0/gtk/gtkmenu.h:33,
                 from /usr/include/gtk-3.0/gtk/gtklabel.h:34,
                 from /usr/include/gtk-3.0/gtk/gtkaccellabel.h:35,
                 from /usr/include/gtk-3.0/gtk/gtk.h:33:
/usr/include/gtk-3.0/gtk/gtkmenushell.h:92:55: note: expected 'GtkWidget *' {aka 'struct _GtkWidget *'} but argument is of type 'GtkMenuItem *' {aka 'struct _GtkMenuItem *'}
   92 |                                         GtkWidget    *child);
      |                                         ~~~~~~~~~~~~~~^~~~~
../src/ui/TrayIcon.vala:341:49: warning: passing argument 2 of 'gtk_menu_shell_append' from incompatible pointer type [-Wincompatible-pointer-types]
  341 |             menu.append (separator_quit);
      |                                                 ^                    
      |                                                 |
      |                                                 GtkMenuItem * {aka struct _GtkMenuItem *}
/usr/include/gtk-3.0/gtk/gtkmenushell.h:92:55: note: expected 'GtkWidget *' {aka 'struct _GtkWidget *'} but argument is of type 'GtkMenuItem *' {aka 'struct _GtkMenuItem *'}
   92 |                                         GtkWidget    *child);
      |                                         ~~~~~~~~~~~~~~^~~~~
TrayIcon.c: In function '__lambda10_':
TrayIcon.c:2453:23: warning: variable 'self' set but not used [-Wunused-but-set-variable]
../src/ui/TrayIcon.vala: In function 'manjaro_news_tray_icon_add_menu_item':
../src/ui/TrayIcon.vala:381:50: warning: passing argument 2 of 'gtk_menu_shell_append' from incompatible pointer type [-Wincompatible-pointer-types]
  381 |             menu.append (menu_item);
      |                                                  ^      
      |                                                  |
      |                                                  GtkMenuItem * {aka struct _GtkMenuItem *}
/usr/include/gtk-3.0/gtk/gtkmenushell.h:92:55: note: expected 'GtkWidget *' {aka 'struct _GtkWidget *'} but argument is of type 'GtkMenuItem *' {aka 'struct _GtkMenuItem *'}
   92 |                                         GtkWidget    *child);
      |                                         ~~~~~~~~~~~~~~^~~~~
../src/ui/TrayIcon.vala: In function 'manjaro_news_tray_icon_add_news_menu_item':
../src/ui/TrayIcon.vala:402:54: error: passing argument 3 of 'g_object_set_data_full' makes pointer from integer without a cast [-Wint-conversion]
  402 |             menu_item.set_data ("sort", item.PublishedDateUnix);
      |                                                      ^~~~~~~
      |                                                      |
      |                                                      gint64 {aka long int}
In file included from /usr/include/glib-2.0/gobject/gbinding.h:31,
                 from /usr/include/glib-2.0/glib-object.h:24,
                 from /usr/include/glib-2.0/gio/gioenums.h:30:
/usr/include/glib-2.0/gobject/gobject.h:603:64: note: expected 'gpointer' {aka 'void *'} but argument is of type 'gint64' {aka 'long int'}
  603 |                                                gpointer        data,
      |                                                ~~~~~~~~~~~~~~~~^~~~
In file included from /usr/include/glib-2.0/glib/gthread.h:34,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /usr/include/glib-2.0/glib.h:34,
                 from /usr/include/gtk-3.0/gdk/gdkconfig.h:8,
                 from /usr/include/gtk-3.0/gdk/gdk.h:30:
TrayIcon.c: In function 'manjaro_news_tray_icon_get_type':
/usr/include/glib-2.0/glib/gatomic.h:131:5: warning: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Wdiscarded-qualifiers]
  131 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
      |     ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:274:7: note: in expansion of macro 'g_atomic_pointer_get'
  274 |     (!g_atomic_pointer_get (location) &&                             \
      |       ^~~~~~~~~~~~~~~~~~~~
TrayIcon.c:3198:6: note: in expansion of macro 'g_once_init_enter'
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

On what branch are you? Best chances of success for AUR packages in unstable branch as this is closest to Archlinux.

1 Like

I’m on Stable branch, but this package is not even in AUR sadly. Matray was in stable branch last week, but now it’s gone, I’m aware of why though.

I guess it’s dead… :face_with_diagonal_mouth:

1 Like

Yeah, I was also thinking the same
Oh well, I’ll just keep using the good old forum subscription + RSS combo then.

Thanks anyways.

Edit: Un-solutioned the thread for now, because of the below reply. Keeping it opened until it successfully gets migrated back into the Manjaro repos. Thank you for the quick fix @Weidenwiesel. I will change category back to Support > Software & Applications after the migration.

It’s not dead, I simply haven’t managed to get it updated to libsoup3 yet due to lack of time and experience with meson/vala as well as a few dozen more important things on my todo list. Also, life happens.

If you know anyone with experience in that field, tell them to PM me.

I’ll offer a 50 bucks bounty for helping me updating it.

Update: Had an enlightenment and found a fix. Will confirm if it works with @magus and ping the manjaro team afterwards to get it back into Manjaro.

6 Likes

matray 1.1.5-1 is now in all branches. :eyes:

[kermit@piggy ~]$ mbn info matray -q
Branch         : unstable
Name           : matray
Version        : 1.1.5-1
Repository     : extra
Build Date     : Sun 14 Dec 2025 10:51:29 
Packager       : Mark Wagie <mark@manjaro.org>
Branch         : testing
Name           : matray
Version        : 1.1.5-1
Repository     : extra
Build Date     : Sun 14 Dec 2025 10:51:29 
Packager       : Mark Wagie <mark@manjaro.org>
Branch         : stable
Name           : matray
Version        : 1.1.5-1
Repository     : extra
Build Date     : Sun 14 Dec 2025 10:51:29 
Packager       : Mark Wagie <mark@manjaro.org>
4 Likes

OOOOhhh thank you so much!

This is excellent news - and I just re-installed it… so beautiful is my little tray notifier.

Brought a tear to my eye.

3 Likes

4 Likes

Sadly I just get notifications saying 'Error occurred fetching news: - Bad Request.

1 Like

Thank you @Weidenwiesel for the quick fix, just installed it and it works! Thank you :heart: And thank you Manjaro team, for moving it back to the branches :slight_smile: :green_heart:

2 Likes

I got that too just a minute ago, might just be a server hiccup.

Update: Works again for me.

@Ben If you see that error, it might be caused by the removal of the “Twitter” category (it hasn’t been working eversince they locked down their API) and the old config file from pre v1.1.5 still has Twitter enabled, thus causing an error.

Can you please:

  • Kill matray
  • rm -r ~/.config/matray/
  • Start matray again

Update: Yeah, confirmed it. If you update from v1.1.4 and you had Twitter enabled, the new version v1.1.5 causes an error because Twitter got removed but the old config still tries to enable it. Sorry, just remove the old config dir like I wrote above.

1 Like

Just to show that @Ben isn’t a special case…

matray started.
Gtk-Message: 22:02:15.147: Failed to load module "appmenu-gtk-module"
Could not connect to manjaro.news: Socket I/O timed out
2 Likes

Can you also try wiping the old config dir first?

i.e. rm -r ~/.config/matray/

Yes, already done prior to that output.

Weird, I’m also suddenly seeing 403 errors on the server-side when the server application tries to get the manjaro rss feed (which is then fed to matray).

I’m guessing this error is not only in the matray client app.

Will investigate….

3 Likes

Idk what I’m doing “wrong”, but it works on my end :smiley: And I also had the older version previously, but the configs didn’t collide.

I even went further a bit, and deleted the config folder, and relaunched the program, just to be sure, I’m synced with you guys, and it still didn’t drop me any errors. :person_shrugging:

For the record here’s the config:

{
  "Version" : "1.1.5",
  "ServerURL" : "https://manjaro.news/",
  "MaxArticles" : 15,
  "AvailableCategories" : [
    "Testing Updates",
    "Stable Updates",
    "Stable Staging Updates",
    "Unstable Updates",
    "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,
  "Autostart" : true,
  "DelayAfterStart" : 10,
  "SetCategoriesFromBranch" : true,
  "IconTheme" : "Bright"
}

Vid:

Not sure if it relates, but what happens if you install appmenu-gtk-module ? (I don’t have it installed, but I’m using Plasma, not sure about the DE of yours though, or if they relate in any way, but worths a try imho)

I’m using Plasma and I do have that installed.

➤ matray

matray started.
Error occurred fetching news:
Bad Request

So let’s mess things up…

➤ rmz ~/.config/matray
➤ matray
Error reading config file: 
Failed to open file “/home/ben/.config/matray/config.json”: No such file or directory
Creating new default config file...
Error reading items file: 
Failed to open file “/home/ben/.config/matray/news_items.json”: No such file or directory

matray started.
^C⏎                                                                                          ➤ matray

matray started.

Hmmm new config, hit Settings and set to 9 seconds refresh. I also unchecked ‘Set categories based on branch’… now I don’t see any warnings.

So right now it looks good (except no autohide with all messages read)… so I set it back to 1201 seconds refresh time.

1 Like

It shouldn’t be related, no.

As it happens, I had no use for appmenu-gtk-module before this, and I’m not sure it’s needed now, apart for satisfying the warning.

Nonetheless, I’ve installed it in any case, and the cascade continues. :grin:

matray started.
Could not connect to manjaro.news: Socket I/O timed out
** (matray:41743): CRITICAL **: 22:46:14.379: gtk_wayland_window_get_window_data: assertion 'GTK_IS_APPLICATION(application)' failed

My initial guess was that the server/feed had been disabled (while matray was no longer in the repository). That might have explained the 404s mentioned, but then this seems to rule that out:

Ah, I see.

Now that’s really odd, because I’ve just did that and they got hidden (on my end).
I know this might sound as a typical helpdesk guy, but can you guys confirm that the version you’re using is 1.1.5 ? :smiley:

If it is, then my last bet would be that it only works on my end because of my country, and somehow I reach the news servers, idk but it’s very odd now. :person_shrugging: Not if I’m not happy for that it works for me, but it still bugs my mind of why it doesn’t work for you, but I’m gonna brainstorm in the meantime, and if something comes to my mind I’ll share.

Also just a last thought of what I’d do in such case and worths a try is to: remove this package, then clean up any orphans (pamac remove -o), then force a db update pacman -Syyu, and finally reinstall it.

Edit: oh, didn’t notice you guys wrote while I was typing, maybe my answer is no longer relevant then.

1 Like