Skip to content

Releases: marcimastro98/Xenon

Xenon v4.11.5: you choose the AI model, and a Windows install that fails finally leaves a trace

Choose a tag to compare

@github-actions github-actions released this 22 Aug 10:08

Two things in this release. Which AI model Xenon uses stops being a decision someone else made when the app was built — every provider now shows the models your own key can reach, with an "Auto" that follows the newest one without an update to install. And on Windows, a setup that goes wrong finally leaves something to read: until now the only place it ever spoke was a console window that closed over its own error message.

Beside those, a screen mounted vertically gets a layout that fits it, your supporter code is asked for once instead of once per drop, and the native shell stops closing itself without a word.

Added

You can choose which AI model Xenon uses, and it keeps itself current. Every provider now has a model list in Settings under Xenon AI, filled from your own account, so it shows what that provider offers today rather than a list written when Xenon was released. Gemini had no picker at all until now, and its four models — chat, advanced reasoning, voice, Live Voice — were fixed in the code.

Each list starts with "Auto". That is not a model, it is an instruction: use the newest model of that family your key can reach. Pick "Auto" and a model released next month is in use next month, with nothing to install. Pick a family, like Flash or Sonnet, and Auto stays inside it, so it never moves you to a more expensive tier on its own. Pick a model by name and it stays that model until you change it. When Auto is selected, the line under the list tells you which model it currently resolves to, so you can always see what is actually running.

Your existing choices are untouched. If you had picked a ChatGPT or Claude model it stays picked.

The voice models are selectable too, and the voice no longer depends on one of them surviving. Gemini's speech and Live Voice models, and OpenAI's transcription and speech models, each have their own entry under "Voice models". Gemini's speech model is a preview model, which is the kind that gets retired, and until now that would have taken the assistant's voice with it. If it ever fails, Xenon now falls back to the local Edge voice that is already installed and needs no key. The voice changes, the feature keeps working.

A screen mounted vertically gets a layout that fits it. Until now, turning a display to portrait left the dashboard on its 24 column grid, so the layout you built on a wide screen was drawn as a miniature of itself in a narrow strip. A tall screen now stacks the tiles into one full width column, one under the other, in the same order you read them on the grid. Nothing about your layout is changed or saved over: this is only how it is drawn on that screen, and the dashboard on your other screens is untouched.

There is a switch for it in Settings under General, called "Tile layout", with Automatic, Single column and Grid. It stays on the device you set it on and is not synced to the others, because the same dashboard is open on screens that want different answers. A tall screen that is still wide enough for the grid, above about 1120 pixels, keeps the grid.

Your supporter code is asked for once, not for every drop. A supporter code opens every supporter creation, but until now it had to be pasted again for each one, from the email or wherever you had kept it. There is now a place for it in Settings, under Widgets and sharing: paste it once and every supporter drop from then on unlocks with a single tap. If you have never been there, the first drop you unlock saves it on its own. Typing a different code still wins, which is what limited and purchased drops need, since those have a code of their own.

The code stays on that PC. It is never sent back to the dashboard, so it does not travel to a paired phone or to another browser, and the same Settings block says whether this machine holds one and has a button to remove it. If your code is ever replaced, Xenon notices the first time it stops working, forgets it, and asks for the new one instead of failing over and over. Nothing changes about how the code itself works: still yours, still good for up to 3 of your devices, still valid while your supporter period is active, and what you have unlocked stays unlocked for good.

The list of local models to download comes from the website. Xenon's local AI offered four models chosen when the feature was written. That list now comes from a file on xenon-app.com, so new models can be added without an app update, and it carries the real download size and hardware requirement of each one. Your machine still decides what it can run: the hardware check is local and the built-in limits always win, so nothing on the internet can talk your PC into loading a model it cannot hold. And a model you have already installed is now asked directly what it can do, instead of being guessed at by its name, so a newer model that can read images is no longer treated as text-only.

Fixed

A Windows install that goes wrong now leaves something to read. The app you download on Windows is only the screen. The dashboard engine behind it is installed by the Complete setup button on the first-run panel, in a console window that opens for it — and that window was the only place the setup ever said anything. So when it failed, or was closed, or PowerShell hit an error that ended the script and took the window down with its own explanation, nothing was left anywhere on the PC to say what had happened. What you are left looking at is an install folder holding three things — xenon-native.exe, the uninstaller and a windows folder — with no server folder, no Node.js, and no way to tell which step never ran. Reported on Discord more than once, and every time the only way forward was to ask the person to do the whole thing again and watch it happen.

Every run of the setup is now written to %LOCALAPPDATA%\Xenon\setup.log as it goes, and the run before it is kept beside it as setup.log.1 — the interesting one is often the attempt before the retry that finally gets reported. The elevated half of the install, which runs in a second window that closes the instant it ends, appends to that same file, so one file holds the whole story from the download to the last component. INSTALL.bat writes it too. Every run ends by printing where the file is, whether it worked or not, and the first-run panel names it as well when the setup did not take. The uninstaller removes it with everything else. And an unexpected error no longer closes the window over its own message: anything that stops either script the hard way is caught, named along with the line that raised it, written to the log, and left on screen with the window waiting for you.

The app no longer closes itself without a word — and when something else closes it, there is finally a record of that. The native shell was built so that a failure anywhere inside it ended the process on the spot: no window, no message, nothing written anywhere, since the app runs with no console to print to. Three of its parts poll Windows for as long as it is open — the watchdog that keeps the dashboard on the screen you chose, and the two guards that look after the mouse and the focus of a running game — and one bad answer from the operating system in any of them was enough to take the whole window down mid-session.

A failure in one of those watchers is now written down and the watcher started again, with the window left exactly where it was. And whatever happens, the shell keeps a small diary beside its settings: one line when it starts, one when it stops, one when something fails, with the tray menu's Open crash log to open it. That is what separates the two situations that look identical from the outside. A start followed by a failure line is Xenon's own fault, and the line names the exact place it failed, so pasting it into Discord or a bug report is usually all a fix takes. A start with nothing after it means nothing inside the app decided to stop — the process was ended from outside it, which on Windows is nearly always the antivirus quarantining Xenon while it is running, hours after it let the installer through. The README now covers that case as well, including the second folder the exclusion has to name: Xenon lives in both %LOCALAPPDATA%\Xenon and %LOCALAPPDATA%\Programs\Xenon, and excluding only the first leaves the half that runs all day exposed.

Xenon starts on a laptop running on battery, and no longer stops when you unplug. The task that starts the dashboard when you sign in was registered with the two conditions Windows applies when nobody says otherwise: do not start on battery, and stop if the charger comes out. On a desktop that never showed. On a laptop it meant the dashboard was missing whenever you were unplugged, and vanished mid-use the moment you pulled the cable, which reads exactly like a crash. New installs no longer carry those conditions. An install you already have keeps them until the app repairs it, which it now offers to do, or you can clear them yourself in Task Scheduler under Xenon Edge Widget, Properties, Conditions.

When Xenon's startup has been switched off, the app says so instead of spinning. Windows lists Xenon's startup in Task Manager under "Startup apps", and cleanup tools reach the same switch, so it can end up turned off without anything having gone wrong: the dashboard engine is still installed and still works, nothing simply starts it any more. The app could not tell that apart from a missing install, so it waited, then offered to install an engine that was already there, and the setup window answered "already installed, nothing to do" — a loop with no way out of it. The startup screen now recognises the case, explains it in one line, and offers a button that switches the startup back on and starts Xenon straight away. It clears the battery conditions above while it is in there, so a laptop that was affected gets both fixed at once. Reinstalling now nam...

Read more

Xenon v4.11.4: the top bar is yours to arrange, and the weather stops going blank

Choose a tag to compare

@github-actions github-actions released this 10 Aug 19:07

Two things in this release. The top bar stops being fixed furniture — every button in it can be hidden, reordered, or moved to the other side, and your dashboard pages can carry names instead of identical dots. And the weather tile stops going blank on you.

Everything below works the same in the full top bar and in the Dynamic Island, so none of it depends on which of the two you use.

Added

The buttons in the top bar are yours to arrange. Lock, Ambient, Xenon, Search, Layout, Apps and your favourite apps can each be hidden, dragged into the order you want, and moved to the left or the right side. The list is in Settings, under Dynamic Island, below the island elements.

Until now the only way to get rid of a button you never press was to close a whole rail, which took the others with it, or to switch the bar off entirely — which did not remove the buttons at all, it just moved them.

Two buttons always stay: Settings and Layout. They are the way back in rather than features — one undoes anything, the other lets you rearrange the dashboard again — and on a touchscreen with no keyboard, hiding either would leave no way to open it. In exchange they now sit back visually: no plate, no outline, dimmed until you touch them, so the buttons you actually chose to keep are the ones that stand out.

Your dashboard pages can have names, and the dots at the top can show them. The pages used to be a row of identical dots: nothing told you which one held your music and which one held your PC stats, and you found out by swiping. In Layout mode there is now a pencil button next to the page controls that names the page you are on, and a switch in Settings turns those dots into buttons carrying the names. It is off to begin with, so nothing changes for a dashboard you have already arranged.

The space you free can hold something. A widget can now draw a small readout among the buttons — a temperature, a count, a meter, with one button you can press — in the position you put it. It is drawn by Xenon rather than by the widget, like the island and the badges, so nothing about how widgets are sandboxed changes. Badges next to the clock can now be tapped too, and that is a permission you grant separately from the badge itself: a widget that could only show you a number cannot quietly become one you can press after an update.

Everything a widget puts in the bar is listed in one place, with a switch each. Island line, chip next to the clock, mini widget among the buttons — each extension shows up in Settings with what it adds and a switch to turn it off, without uninstalling it. That list existed but only ever said "island".

One button puts the whole bar back. Style, island elements, button layout, side rails, clock format, and every extension switched back on. It asks first: it undoes an arrangement you may have spent time on.

An empty side rail no longer leaves its arrow behind, and the clock is centred again when you strip the bar down — with the date, weather and music hidden it sat 5.5px above the middle and read as crooked.

Fixed

The weather tile no longer empties for good until you reload the dashboard. After a while it went blank and stayed blank, however long you left it, while the weather itself was perfectly available — opening the same address in a browser at that exact moment returned the forecast.

A request to fetch the weather had no time limit. Almost always it answers in a moment, but if one ever hangs — a sleep and resume, a hiccup in the network stack — it never finishes and never fails either, and Xenon skips a refresh while the previous one is still going. So one stuck request means every later refresh is skipped too, for as long as the page stays open. On a dashboard left running for days, it only has to happen once. Requests now have a deadline. The same gap existed in the readings for system, network and audio and is closed there too, and a failed refresh now keeps the last forecast and marks it as not current instead of throwing it away. Reported on Discord.

The weather no longer depends on one single service being reachable. To ask for a forecast Xenon first has to know where you are, and in automatic mode it got that from one address on the internet. A DNS blocker, a router filter, an antivirus web filter or a company network is enough to make that address unreachable — and then the two good forecast services, which need coordinates, were skipped without a word and the feature quietly fell back to the third and least reliable one. It kept working, with coarser data, until the day that last service was busy too and the tile went blank. Xenon now asks a second and a third source when the first does not answer.

A weather tile that cannot show anything now says why. "Weather unavailable" was the same sentence for three different problems — your position could not be determined, the city you typed does not exist, or the services did not answer — and only one of them is fixable by you. The tile now names the cause and suggests what to do about it, in all eleven languages.

The YouTube and Twitch widgets now tell you they need an account, instead of sitting there empty. With no account connected, both tiles took all their contents off screen and left the logo on an empty background — identical to a tile that had broken. Each now shows one line saying the account has to be connected, and tapping it opens the page where you connect it. They also stop saying "Loading…" over an answer they already have: a definite "no account" used to sit on the loading line indefinitely. Five languages showed one of these messages in English; all of the new text is available in all 11.

Xenon no longer opens in the shape of a screen you may not own. On a PC with no CORSAIR Xeneon Edge attached, the app opened with that 14.5" panel's own 3.556:1 proportions — a wide slot across the middle of your monitor with desktop showing above and below it, and it was the first thing you saw after installing. The window now opens at the size of the screen hosting it, at 88% of it, centred. Where an Edge is attached nothing changes: that panel is still taken over whole. It is also no longer created full-screen and then immediately shrunk, so opening Xenon does not cover your desktop for a moment first.

The first question Xenon asks now has your screens in it. On first run it asks whether the dashboard should live on this PC or on your phone or tablet, and the "on this PC" side lists your monitors — except that list arrived only with the first update sent after the dashboard had loaded, so the question could open with no screens on it, and stay that way.

And a screen can now be picked whatever your system calls it. On Linux an output the system has no model string for had no identity to save, so it was left out of the tray's "Show on" entirely and the picker drew it as a button that refused to be pressed. On macOS the opposite: every screen is named, but the name is the display's model number, so two identical monitors — the ordinary way to own two — were the same screen as far as Xenon was concerned. Both showed as the primary one, and choosing the second moved the window to the first, quietly and for good. A screen is now identified by where it is when its name cannot tell it apart from another.

One limit worth knowing on Linux: under Wayland a window is not allowed to place itself, so which screen it opens on is the compositor's decision. The choice is saved either way and is honoured on Windows, macOS and X11.

The full changelog is in CHANGELOG.md.

Xenon v4.11.3: macOS stops forgetting Xenon’s permissions

Choose a tag to compare

@github-actions github-actions released this 06 Aug 12:40

A Mac release. Installing Xenon on a Mac did not finish, uninstalling it did not finish, and once it was running macOS kept asking for permission to read folders you never pointed it at. All of it came from two causes, and both are fixed here.

Windows and Linux are untouched by everything below; the update is small and you can take it whenever.

Added

macOS stops forgetting Xenon's permissions every time it updates. macOS ties a permission — Full Disk Access above all — to the app's code signature, and Xenon's signature was generated fresh at every build. So every release looked to macOS like a completely different app, and everything you had allowed silently stopped applying. The switch in System Settings still showed as on, and did nothing: that list shows a name, while macOS compares a signature.

Xenon now carries its own certificate, which stays the same from one release to the next, so a permission granted once keeps working. This update resets it one last time, because this is the release where the identity changes — grant it again here and you should not have to think about it afterwards.

Two honest notes. This does not remove the warning macOS shows the first time you open Xenon: that needs Apple's paid notarization, which this project still does not have. And the certificate is Xenon's own rather than Apple-issued, which is exactly why it is free and why it is enough for this particular problem.

Fixed

No more storm of permission requests. With that permission lapsed, Xenon's file index kept trying to read your home folder anyway, so macOS asked for the Desktop, then Documents, then Downloads, then Photos, then Music — and asked again on the next pass, and the next. It made the machine genuinely hard to use, and nothing on screen connected it to Xenon having lost a permission after an update.

Xenon now checks whether the permission is really in force, and while it is not it stays out of your home folder rather than knocking on every protected door in it. Instead you get one notice that says what happened, with a button that opens the right settings pane — it is four levels deep and named differently on each macOS version. A folder you picked yourself is still indexed: you chose that one. When you grant the permission, search and the disk map come back on their own within a minute, with nothing to restart.

Installing Xenon from the .dmg now finishes. The setup window found the release, downloaded it, verified its signature, and then stopped on the line right before it copied anything, with INSTALL_ROOT: unbound variable. macOS still ships bash 3.2, from 2007, and that version reads the bytes of the ellipsis glued to the end of a variable name as part of the name — so a message meant to say "Installing to <folder>…" asked for a variable that does not exist. Every other shell handles it, which is why it only ever happened on a Mac. The same line was in the uninstaller, where it quit before removing anything: if you ran it and Xenon was still there afterwards, that is why.

And the install now ends with the dashboard on screen. Even once it ran to the end, nothing started the dashboard: the piece that starts it is Xenon itself, and Xenon was already open — it is what opened the setup window. It looks for a dashboard once, at launch, and at that moment there was nothing installed yet to find. The installer now reopens the app itself once the install is done.

Buttons on notifications did nothing. Any notification offering a choice swallowed the tap: the card's swipe-to-dismiss gesture captured it before the button saw it. Worse on the update notice, where the tap fell through to the card's own action, so declining a version installed it instead.

The full changelog is in CHANGELOG.md.

Xenon v4.11.2: installing and uninstalling on a Mac both finish

Choose a tag to compare

@github-actions github-actions released this 06 Aug 10:30

A patch release for the Mac. Nothing in the dashboard changed: this fixes two scripts that ran on macOS and stopped halfway through, one when installing Xenon and one when removing it.

If you are on Windows or Linux, nothing here affects you and Xenon will update itself whenever it likes. If you are on a Mac, 4.11.1 could neither install nor uninstall itself, and this is the build to have.

Fixed

Installing Xenon from the .dmg now finishes. The app opened, the setup window appeared, it found the release, downloaded it and verified its signature, and then stopped on the line right before it started copying anything, with INSTALL_ROOT: unbound variable. The window closed itself, nothing was installed, and the app sat on "Waiting for the Xenon service" forever. Nothing about it was visible from the outside.

The cause was one missing pair of braces. macOS still ships bash 3.2, released in 2007, and that version reads the bytes of the ellipsis glued to the end of a variable name as part of the name, so a message meant to say "Installing to ..." asked for a variable that does not exist, and the script is set to stop dead rather than carry on with an empty path. Every other shell handles it, including the one on Linux and the one your Terminal opens by default, which is why it only ever happened on a Mac.

Uninstalling on a Mac now works too. The same line was in the uninstaller, at the point where it stops the running dashboard, so it quit right there: no app removed, no login item removed, nothing. If you ran it in 4.11.1 and Xenon was still on your machine afterwards, that is why. Run it again from this version and it will finish the job.

Every script that ships with Xenon has been re-checked against the shell macOS actually runs them with, and a test now refuses to let that shape of line back into the project.

The full changelog is in CHANGELOG.md.

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

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.

Xenon v4.11.0: Xenon runs on Mac and Linux, and your phone or tablet can be the screen

Choose a tag to compare

@github-actions github-actions released this 05 Aug 20:16

Xenon started as a dashboard for one screen. This release is about it stopping being that. Xenon now runs on macOS and Linux as well as Windows, and the phone or tablet already in your hand can be one of its screens. Both of those are beta, and the app says so where you meet them.

There is a lot else here: a Store you can browse without installing anything, widgets that do not have to be rectangles, real controls on the Claude Code tile, and a long list of fixes, several of which were reported by people here and on Discord.

New

Xenon runs on macOS, and Linux catches up. Both are beta. On a Mac you get the dashboard, the sensors, the media tile that knows what is playing, an app switcher that needs no permission prompt, search and the Disk widget, and an installer and updater that work like the Windows ones. On Linux you get in-game FPS, game mode, the global search shortcut, a now-playing tile that needs nothing installed, an app switcher that no longer asks you to install anything, and an AppImage, a .deb and a .rpm. Settings stops offering features that cannot exist on your system, instead of offering them and failing.

Your phone or tablet can be the second screen. Pair a device from Settings and the dashboard opens on it over your home network, laid out for a phone rather than shrunk to fit one. A paired device is treated as your dashboard, not as a guest: the controls work. It can also be a proper encrypted connection that works away from home, and it can tell you something happened while the app is closed. Every part of this is beta and labelled.

You can send photos and files straight from your phone to this PC, and back. It runs over that same paired connection. Nothing goes through anyone's cloud.

You can try Xenon in your browser, without installing anything. Every theme, background and page in the catalog has a "Try in your browser" button, so you can see a creation running before you decide.

Your phone's contacts, call history and keypad are on the dashboard, and when someone calls you, the dashboard rings.

The Claude Code widget does something real now. When Claude asks you to choose between options, you tap an option and answer, and the session carries on with your choice. Before, the card showed the question and the one button on it just made the card go away.

A widget does not have to be a rectangle. Tiles can be given a shape, and a widget you install can arrive with its own. Three of the per-tile effects turned out to be doing nothing at all, and now do what they say; a tile can also be completely transparent.

Wave Link works again, and the mixer tile is a real one. "Could not reach Wave Link, is the app running?" had become the answer to four different problems, and one of them was Xenon's own.

Watching and streaming are separate now. The YouTube widget plays YouTube, streaming to YouTube is its own widget that can actually start a stream, and Twitch has a watching widget of its own. Community widgets can use both.

Widget creators: widgets can show which apps are using your CPU, memory and GPU, fill the screen when tapped, seek through the track they are showing, turn one person in a Discord call up or down, follow the Pixel Retro skin, and arrive with their own tile shape. Three gaps in the SDK are closed and the store's write limit is written down.

The Store's front page can be arranged, and it has an Archive that, unlike before, shows things. The Supporters and Limited sections are real carousels. What supporting actually gets you is now the first thing on the catalog page.

Changed

The website has been rebuilt, hands you the right download for your system instead of assuming a PC, and has an FAQ that starts with the thing that stops people, which is Windows calling Xenon a virus.

Xenon stops describing itself as a Xeneon Edge accessory. It is a dashboard for any screen you can spare, and the Edge is one of them.

Everything your phone does with Xenon is in its own Settings section, and setting it up is a guide inside Xenon rather than a link to a website.

Your Gemini key stops leaving your PC. It was being sent to the browser and handed straight back, which since paired devices exist meant crossing your network. Nothing you do changes.

Fixed

The file index no longer rebuilds itself over and over, eating a processor core for as long as the PC is on. Measured on a real install, it was re-reading the whole of C: about every twenty seconds, for hours, and each pass threw away what it had. The cause was the recovery, not the fault.

Installing from inside the zip window no longer produces an install that breaks weeks later. Double-clicking the zip in Explorer does not unpack it, so the install went into a temporary folder and worked until Windows cleared it, taking your settings, notes and layout with it. The installer now recognises this before installing anything.

A failed update can no longer delete files from the working install while rolling back.

Your settings could be silently replaced by the defaults on load if you had a community widget on a tile. They are not any more.

A dashboard from an installation you replaced can no longer come back over the new one. A phone paired before you wiped the PC could republish its old layout over your fresh one.

Every Store widget was unreadable on an iPhone or iPad, and widgets came up as white boxes on a paired phone, with reloading making it worse. Both are fixed.

Uninstalling now also undoes what Xenon set up inside other programs, and everything it had left starting at sign-in.

Ambient Mode stays on when you turn it on during a game.

Plus around seventy more, including a Deck key made by pasting a path copied from Explorer, a round widget being squashed into an oval, "show in folder" opening the wrong folder, a Performance Mode session you started by hand never ending, searching for a short common word finding nothing, the Browser tile leaving the page filling only part of it, two screens showing two different forecasts for the same city, and a screen that keeps disconnecting no longer having Xenon fight it every three seconds.

Full details for every change are in CHANGELOG.md.

Installing

New install on Windows: download Xenon-Setup-x64.exe below. On macOS: Xenon-macOS-universal.dmg. On Linux: Xenon-Linux-x86_64.AppImage, .deb or .rpm. Existing install: Xenon updates itself, or use Settings, Updates.

Some antivirus software flags the setup, because it downloads what it installs and sets Xenon to start with your session, and nothing here is code signed yet. The hashes above are signed, so you can check your download against SHA256SUMS. If Windows blocks it, this section of the README explains how to tell which kind of detection you are looking at, how to verify the file, and how to restore it.

Xenon v4.10.1: every supporter drop visible in the Store, and a Search tile you can type in

Choose a tag to compare

@github-actions github-actions released this 23 Jul 23:02

Two things that were getting in the way: the Store squeezed supporter and limited creations as soon as there was more than one of each, and the Search tile could not actually be typed into.

Fixes

The Store and the catalog present supporter and limited creations properly, however many there are. The spotlight adapts to how many are featured: one keeps the full-width card, exactly two stand side by side as equal cards with the image on top and the pitch underneath, three or more keep the main card with a column beside it. This holds in the Store, on the website catalog and on the home page. The Limited and Supporters shelves now carry their whole tier, spotlight included, and when the cards no longer fit the width you swipe them sideways with a finger instead of losing the rest.

Supporter cards lead with the right button. Become a supporter comes first for anyone who is not one yet, Unlock with a code stays beside it for people who already have their code, and once a creation is installed the pitch steps back behind the Installed state. A creation with an end date now shows Available until (date) on its card and detail view, in the app and on the website catalog. The date was always enforced, an expired entry disappears from every storefront on its own; now it is also visible before it happens.

New content is easier to notice. The Settings gear on the dashboard and the Store buttons in Settings carry a count of the creations this device has not seen yet, the Store opens with a Novità shelf gathering all of them in one place, and everything clears on its own the moment you browse the Store. The count is tracked per creation rather than by date, so something published in the afternoon still lights up even if you had opened the Store that same morning. When several supporter or limited drops land together, the daily notice is one card listing them briefly, each row opening that creation in the Store, instead of a separate pop-up per drop.

The Search tile is a search surface of its own. Everything you did in the tile used to open the full-screen search instead, so you could not type in the tile at all. Now you type in the tile, the interpretation chips and the results appear in the tile, and the smart AI search works there too, exactly as in the search bar. Past searches are no longer listed there: the tile sits on a dashboard other people can see, and what you searched for is nobody else's business.


Xenon is free and open source, and everything runs on your own PC. Windows 10/11.

Xenon v4.10.0: a living index of your files, search your PC in plain words, and see what is eating your disk

Choose a tag to compare

@github-actions github-actions released this 23 Jul 20:36

This release is about finding and managing what is on your PC. With the Xenon Helper installed, Xenon keeps a living index of your files, and that index makes two new things instant: searching your whole PC from the dashboard in plain words, and seeing what is eating your disk, live, with no scan button.

New

A living index of your files, always current. With the Xenon Helper installed, the companion indexes every file under the drives and folders you choose (the whole C: by default). It builds in seconds and then keeps itself current by watching the filesystem: save a file and it is findable a moment later, delete one and it is gone from the results. It lives in the companion's memory, uses a bounded amount of RAM the widget shows you honestly, and never sends anything anywhere. It is the engine that makes the two features below instant.

Search your PC from the dashboard, in your own words. Pull the top bar down with your finger and type the way you would say it. Xenon understands the phrase itself, on your PC, with no AI and no internet: "foto di dicembre" means images and which December, "pdf grandi" means the format and the size, "contratto affitto" just finds the contract. Each interpretation is a small chip you can remove, so a wrong guess is one tap to fix. Results come from the living index instantly, with Windows' own index adding the text inside documents. A file that could run code does not open from a result, on purpose, and offers "show in folder" instead. There is an optional global shortcut (Alt+Space by default) that opens a search pill in your theme on your main monitor.

Search has an optional AI mode, one key away. A sparkle button (or Ctrl+I) gives the bar the Xenon AI look. You write in full sentences and, on Enter, the provider you configured turns the phrase into the same structured filter the offline understanding produces. The search itself still runs entirely on your PC, and the AI is given only your words and today's date, never a file name or a path, and only when you press Enter. It works with Gemini, Claude, OpenAI or local Ollama, and falls back to the offline understanding, and says so, if there is no provider.

See what is eating your disk, live, with no scan button. The Disk space widget shows your drives and folders as chips: tap one and the map of where the space went is simply there, with folders to drill into, the biggest files, and duplicates verified byte for byte. It stays current because it reads the living index instead of scanning. What can be deleted is a deliberately closed list Xenon classifies itself (temporary files, browser and package-manager caches, old installers, build folders inside projects you name), and everything else has no delete button on purpose. Every cleanup goes to the Recycle Bin, so the undo is the one Windows already gives you, and cleanup runs as a real background job you can leave, reload into, or stop. Xenon AI can read the live numbers and explain them, with a properly formatted report, but it cannot delete anything: only your finger on the confirm button starts a deletion.

What you are listening to, and its controls, now live in the top bar. While something is playing, the bar shows the cover, the track, the artist and previous / play / next, in both Completa and Minimal, without needing a music tile on your dashboard. When nothing is playing it is simply not there.

Dynamic Island is now one place you control. A dedicated Settings section gathers Full / Minimal / None, 12 or 24 hour time, the clock, date, weather, music, Vitals, page, Claude and badge elements, the Minimal order and position, and every island activity a theme or widget contributes, each hideable by name.

Plus: widget creators can build real Live Activities in the island (a separately approved capability), the Store and the website can spotlight up to four creations at once, you can skip a single release and the next one still asks, a widget can tint the dashboard accent with the colour of what it is playing (with your approval, and governed by your existing album-theme switch), and a new Do not disturb holds routine pop-ups back while you are in a full-screen scene or a game.

Fixed

The Disk space widget opens, changes drive and cleans reliably even on multi-million-file PCs. The overview is now one bounded pass shared by concurrent requests, the selected drive loads as soon as the index is ready, and failures are visible and retryable instead of looking like an empty disk.

You can always reach another page, even when a widget fills the whole screen. A small floating row of page dots appears at the bottom of the screen in exactly that situation, and only then, so it never doubles the dots you already have.

Xenon no longer mistakes itself for a game after an update. The renamed copy that keeps running after an update is recognised as its own window again, so it does not turn game mode on and pin itself to the Game Companion pill.

Updates are about a fifth smaller, because unit tests, the desktop shell and helper sources, the CI workflows and retired service leftovers are no longer shipped to every machine. Nothing that runs was touched, and an existing install cleans the old files off itself on the next update.

Custom-styled tiles follow the album accent again, instead of keeping a private copy of the palette from when they were last drawn, and their images and effects are left alone while the colour changes.

Windows you move onto the Xeneon Edge stay in front of the dashboard. Xenon now takes the focus only if it already had it, so re-checking its position no longer pulls it over what you just dragged there.

Plus: the music tile fits whatever size you give it, turning the top bar off keeps the side rails, volume polling stops when nothing needs it, a rescan deadlock that could freeze the whole dashboard is gone, the FPS reader runs under its own tracing session so it cannot disturb other frame counters, Discord tells you when it will not connect because it is running as administrator, and the sensor history tab now appears on every screen at once.

Security and compatibility

Rating a creation and redeeming a supporter code no longer share an identifier. The random id never leaves your PC now: a one-way hash is sent instead, and voting and redeeming use two different hashes, so there is nothing left to link them on. Everything you already did keeps working, including votes cast and devices a code has already unlocked.

Full island access is a separate question. Taking the whole top bar, and host-rendered Live Activities, are each their own SDK permission on top of the plain text line, so an approval you already gave cannot grow into more after an update. A widget that asks for the full bar without the permission is shown in the capsule, not silenced.

Full details for every change are in CHANGELOG.md.

Installing

New install: download Xenon-Setup-x64.exe below. Existing install: Xenon updates itself, or use Settings, Updates.

Some antivirus software flags the setup because it downloads files and sets Xenon to start with Windows, and the installer is not code signed yet. The hashes above are signed, so you can verify your download against SHA256SUMS.

Xenon v4.9.0: announcements you control, widgets that can hear your audio, and a much calmer screen

Choose a tag to compare

@github-actions github-actions released this 20 Jul 19:39

Xenon can now tell you when something happens without ever counting you, widgets can hear how loud your apps actually are and move your sound to other speakers, and a lot of graphics work that was happening around the clock for nobody has been stopped.

New

Announcements, and the switches that control them. Two toggles in Settings, Updates. Announcements and news is a short note when a version ships or something lands in the Store, at most once a day. The other is the existing card for limited editions and supporter packs, and it can finally be switched back on: before, dismissing it lived only in the browser you pressed it in. Some announcements only apply to some people, and that filtering happens on your PC, because your dashboard downloads the same list everyone gets and decides for itself. Nothing about what you have installed is sent anywhere to work that out.

Announcements can ask you a question. Two to five answers, one tap. What gets sent is the option you chose and nothing else, not even a time, so there is no way to ask what any particular PC answered. Closing the card sends nothing.

Install counts for community creations, without anyone being counted. Opt-in in Settings, Updates. Installing from the Store adds 1 to that creation's counter and nothing else is sent. Your own dashboard remembers what it already counted, which is exactly why nothing identifying has to be sent to avoid double counting. Off for existing installs.

Widgets can hear your audio. Xenon Helper now measures how loud each app actually is, the same reading the Windows volume mixer draws, about twelve times a second. A widget can finally show a meter that follows the music instead of an animation that looks like one. The permission you approve is what starts the measurement, and it stops when no widget wants it.

Widgets can move your sound to another output. A separate permission from volume control on purpose, because approving one is not approving the other. Outputs only, chosen from what Windows already shows you. There is no way for a widget to change which microphone is listening.

Fixed

The switches that pause animations now pause everything they promise. The Deck key glow, the clock colon, the Xenon button shimmer, the Claude dot and the System graphs all escaped all four quiet states, which is why turning the power options on could show no improvement at all.

The System graphs were costing more than the rest of the dashboard combined. Eight graphs, each with a glow drawn as a real blur recomputed every frame, moving most of the time because a new reading arrives every second. The glow is now a wider, fainter copy of the line and looks the same.

A widget you cannot see stops working as if you were watching it, and widgets are now told when they go off screen so they can stop their own timers.

An animated background no longer draws more pixels than any screen needs.

A tab group holding a Store widget no longer disappears after a restart. Every startup briefly stripped it, and when the dashboard happened to save itself in that moment the loss became permanent.

The Agenda tabs no longer stop responding. They were acting on a different Agenda tile than the one you were looking at.

A question from Claude no longer asks your permission to be asked. Questions go straight to the terminal where they can actually be answered, and the tile shows them as a notice. Permission requests for things that really run on your PC are unchanged, and a long one no longer gets clipped at the bottom where the buttons are.

The greeting waits until you are actually there instead of playing to an empty room at five in the morning and marking itself done for the day.

Plus: the Claude Code widget's two on-screen surfaces are now switchable, the Store button in Settings is readable on a pale accent, widgets can keep an API key out of the package when a service wants it in the address, and adding a custom widget to a tab asks you which one.

Full details for every change are in CHANGELOG.md.

Installing

New install: download Xenon-Setup-x64.exe below. Existing install: Xenon updates itself, or use Settings, Updates.

Some antivirus software flags the setup script because it downloads files and sets Xenon to start with Windows, and the installer is not code signed yet. The hashes above are signed, so you can verify your download against SHA256SUMS.

Xenon v4.8.0 — Claude Code you can drive from the Edge, a folder-fed Slideshow, and a much quieter GPU

Choose a tag to compare

@github-actions github-actions released this 19 Jul 12:10

The Claude Code widget becomes something you can actually work from: it reads your real plan usage, shows what each session is doing, lets you approve a tool call by tapping the Edge, and now lets you start a session from the touchscreen. Alongside it, a Slideshow that reads a folder on your PC, a safe mode for tracking down a misbehaving install, and a lot of work on how much the dashboard costs your GPU when you are not looking at it.

✨ New

  • The Claude Code widget now shows how much of your plan is actually left. It used to read your local session transcripts, which say how many tokens you spent but nothing about your subscription, so the gauge measured you against a weekly ceiling you typed in yourself and then trusted. Claude Code does report the real figures through its status line, and Xenon now reads them: the 5-hour window and the 7-day window, each as the percentage left and a countdown to the reset. Press Collega Claude Code on the widget. It backs your Claude Code settings up first, and if you already had a status line of your own it keeps running yours as well. Scollega puts everything back.
  • You can approve what Claude Code is about to do by tapping the Xeneon Edge. When Claude Code asks permission to run a command or write a file, the request appears on your dashboard with the exact command, and Consenti or Nega decides it. You can leave a session running, walk away from the keyboard and keep working from the touchscreen. Anything with a wide blast radius takes over the whole screen immediately. Nothing is ever approved for you: no answer, or Xenon closed, and the question simply goes back to the terminal.
  • You can now start Claude Code from the touchscreen, not just watch it. The new Chiedi button: pick a project, type what you want done, and Claude Code starts working in that folder. Progress and the answer come back to the tile. Tapping an existing session sends it a follow-up instead. Every command and file write still comes back to the Edge as a card you have to approve.
  • The widget knows what your sessions are really doing, instead of guessing. Each row says whether a session is working, waiting for you, or idle, shows the tool running right now, and appears and disappears the moment it starts and ends.
  • The Slideshow widget can show a folder on your PC, with no limit on how many images. Point it at a folder and Xenon shows what is inside without copying anything: add a GIF and it turns up on its own, delete one and it goes away. The request came from someone running an 844-GIF folder who had been keeping a second app open just for this. There is also a new random-order switch.
  • Safe mode: one switch that answers "is an installed item causing this?" It temporarily pauses every third-party widget, your custom theme and skin, and any imported background, returning the dashboard to its factory look. Nothing is uninstalled and nothing you configured is touched. It came out of a real report: a user chased abnormal GPU usage for days and had to uninstall everything to find the cause.
  • You can pause a single widget without uninstalling it, and Xenon now tells you when a widget is slowing things down, and which one.
  • A widget can put a web page on the Xeneon Edge, instead of on your other monitor, through the Browser tile, with touch working properly. It is a new permission you approve at install time.
  • The publish portal checks your submission while you type, and shows you exactly what a reviewer will see.

✨ Improvements

  • The dashboard stops animating behind full-screen windows, and the GPU with it. Measured on a real report: Settings open went from ~10% GPU to near the dashboard's idle level.
  • Dashboard pages you are not looking at stop being drawn. Parked pages no longer render between swipes, so a widget on page 2 costs nothing while you look at page 1.
  • CORSAIR RGB control now sets itself up, instead of depending on a file iCUE no longer installs. The component is fetched from CORSAIR's official release and checked against a known fingerprint. If you updated rather than installed fresh, the lighting page offers it as a button.
  • RGB devices that appear after Xenon starts are no longer invisible until you restart the server, and a lighting effect that fails now says so instead of reporting success.

🐞 Fixes

  • The Settings → Display section has been removed, as a precaution. Since v4.1.0 it let you adjust a monitor's brightness, contrast and colours directly, and included a button that restored the monitor's factory values. Some Xeneon Edge panels that were used with that section later stopped being configurable in iCUE. We cannot yet prove the two are connected, and we have asked CORSAIR to check what that reset command does on the Edge, but rather than wait for the answer with any risk open, the whole section is gone. Nothing about your Xenon settings is affected.
  • Uninstalling Xenon now removes the second screen's virtual display too, instead of leaving it registered in Windows forever, and setting the second screen up no longer reports success when it actually failed.
  • The kiosk app can no longer open full-screen on a display you cannot see.
  • Menus and colour pickers no longer open off the edge of the screen, on the per-widget style editor, the Deck, the lighting widget and the AI model pickers.
  • Widgets that come inside a package now ask for their permissions, instead of installing and staying dead, and you can approve them straight from Installed.

The full list, including everything not repeated here, is in CHANGELOG.md.