Skip to content

Xenon v4.11.1: uninstalling on Mac and Linux actually uninstalls, and the Mac installer works

Choose a tag to compare

@github-actions github-actions released this 06 Aug 09:49
· 50 commits to main since this release

A patch release. Most of it is in the parts of Xenon you meet before the dashboard: installing it on a Mac, and removing it on a Mac or on Linux.

If you are already running 4.11.0 on Windows, there is one fix here for you and Xenon will update itself. If you are on a Mac or on Linux, this is the build worth having.

Fixed

Uninstalling on macOS and Linux now actually uninstalls Xenon. It stopped the backend and removed the startup entry, then printed a list of the things it had deliberately left behind: the app, the folder, your data. What you saw was an uninstaller that finished, a Xenon icon still sitting in Applications, and Xenon still coming up when you searched for it, so the reasonable conclusion was that it had not worked. Worse, opening that leftover app re-registered its own start-at-login entry, so a machine you thought was clean started Xenon again at the next sign-in.

It now removes Xenon. On macOS every copy of Xenon.app is found by its identity rather than by its name and unregistered from the system's app database first, which is what Spotlight, Launchpad and "Open with" actually read. On Linux the package, any AppImage in the folders people keep them in, and the launcher entries that put the icon in the app menu. Then the login items, the local server, your data and the install folder, matching what the Windows uninstaller has done since 4.4.0.

Because it now deletes rather than keeps, it asks first: it lists exactly what is about to go and waits for you to type REMOVE. --keep-data keeps your settings, layouts and notes, --keep-files keeps just the folder, --dry-run shows you the whole list and changes nothing, and --yes skips the question in a script. All three uninstallers, Windows included, now leave a folder alone when it is a git checkout rather than an install.

The macOS installer window now shows you what to do with it. Opening the .dmg gave you a plain window with the Xenon app sitting to the right of the Applications folder, so the drag everyone knows read backwards, at whatever size and spacing Finder felt like. The layout is now decided once and carried inside the image itself. App on the left, Applications on the right.

Opening Xenon for the first time on a Mac could install nothing at all, in silence. A .dmg cannot run an installer, so the first launch opens a Terminal window that sets the backend up. macOS has no way to hand a command to Terminal: it starts a window, starts a shell in it, and types the command at that shell, and if the shell is still starting, what arrives is garbled. Seen in the wild as command not found: o. The window opened, did nothing, and Xenon sat on "Waiting for the Xenon service" forever with nothing anywhere to say why. The app now waits for the setup to confirm it really started, and opens the window once more if it did not.

The YouTube widget now tells you when a video will not play, instead of leaving YouTube's own error on screen. Some videos cannot be played outside YouTube itself, which is a decision of whoever owns the video or the music in it. Xenon already offered to open the video in your browser, but the offer was a line of text below the controls while YouTube's "Video unavailable" rectangle stayed over the whole picture, so the only thing you saw was the error and it looked like the widget was broken. The explanation and the Open in the browser button are now drawn over the picture. There was also a case where nothing was said at all, because a refused video puts a plain error page in the frame and that page cannot talk to Xenon; that wait now has a deadline.

The list also says which videos those are before you tap them. YouTube reports it in the same request that already fetches how long each video is, so it costs nothing extra: those videos carry a small "YouTube only" tag, and tapping one goes straight to your browser. It fixes playing a whole list too, since one video that would not play used to stop the queue dead.

The YouTube widget was still entirely in English for five languages. Spanish, French, German, Portuguese and Russian never had translations: the tabs, the player controls, the live broadcasting panel and every message it can show. All of it is translated now.

The full changelog is in CHANGELOG.md.