Thunderbird calendar notification on wrong virtual desktop

I’m doing my best to make use of Wayland as opposed to X11.

Under X11, I have Thunderbird forced to open under Virtual Desktop 2, but I have the calendar notification pop up window set to open on all Virtual Desktops - So no matter what Virtual Desktop I’m on I can see the important calendar notification, while limiting Thunderbird to Virtual Desktop 2.

Under Wayland, both the Thunderbird window as well as the calendar notification pop up window are both the same window class ‘org.mozilla.Thunderbird’, as a result I can’t apply separate properties to each window - Thereby limiting Thunderbird to Virtual Desktop 2, with the notification pop up window opening on all Virtual Desktops.

Does anyone know of a way I can achieve the same result I get under X11 under Wayland?

Notification pop up window example below:

Not directly what you are asking for but I wonder if it would be possible to configure Thunderbird to use standard system notifications instead of opening its own window.

Standard notifications wouldn’t need any special window rules, they would always show up in the same place across virtual desktops

The problem with incorporating Thunderbird with system notification pop up’s is the fact that the notification wouldn’t stay in place and would disappear in a matter of seconds.

That sounds as if Thunderbirds usage of the notification APIs is incorrect or limited.

My calendar app is KOrganizer and I get system notifications for upcoming events.
These do not expire and need to be explicitly reacted to, e.g. dismissed, “remind later”, etc.

1 Like

Thunderbird simply has it’s own notification implementation that I actually prefer. Does KOrganizer actually work with Google Calendar?

EDIT: Of course it doesn’t. The calendar will sync, but as soon as you try to add an entry it just crashes.

Surely there’s a way that I can create a separate property for the Calendar Notification under Wayland?

That’s fine of course.
I was just thinking that most (if not all) platforms Thunderbird runs on have native notification systems and it might be able to use those instead of creating its own windows.

I don’t use Thunderbird myself but I have seen Firefox use native notifications so it seemed likely that Thunderbird could do this as well.

Apparently others have also looked into this.

I am using this to share a calendar between my PC and my phone.
Quite handy when I get a booking confirmation email and can just click a button in KMail to add data as event(s) into the shared calendar.

Currently not in a Wayland session but there might be other properties that can be matched against.

The reminder window is likely a dialog and there could be a property marking it as such.

But is it a Google calendar, I can’t get Korganizer to work with Google calendar as the second I rey to make an entry it crashes.

Yes, the calendar of the Google account my phone is registered with.

Just tried this my self and the new event showed up on my phone almost immediately.

Current system is

KOrganizer: 6.3.1 (24.12.1)
KDE Frameworks: 6.10.0
Qt: Using 6.8.1 and built against 6.8.1
KDE neon 6.2 (Xcb)

but I been using this for 6 or seven years now.

You must be running an app password, as it seems that Korganizer can’t handle Oauth2 modern authentication.

I’ll just keep using Thunderbird calendar. It handles modern Oauth2 authentication and looks far better than Korganizer.

I am using an app password to access GMail via IMAP but not for the calendar.

In any case you should obviously use an app that works for you.
KOrganizer was just an example of an app that displays event reminders via native notifications.

Well every time I add my Google Workspace account, it’s stated I’m using an incorrect password under Korganizer settings, even though the usual web based Oauth2 prompt appeared as it should and I made sure I ticked the checkboxes giving permission to access my account. Furthermore, I can read the calendar from the cloud under Korganizer just fine.

Every time I try to add an entry, this is the result: