Releases: kalaylienes/fluxdock
Release list
FluxDock 1.1.1
A Linux fix release, from a field report that arrived with its log and its crash
file. Windows is unaffected by the two crashes but gets the menu change behind
them.
The widget could crash, and then never start again
Two aborts, and the first caused the second.
Opening the widget's right-click menu could kill the process. The menu shown on
the widget and the menu on the tray icon were the same object, showing one takes
a mutable borrow of it and swapping the other takes a second, and on Linux a
popup returns while it is still on screen, so a background refresh landing in
that gap aborted. On Windows the popup blocks and the guard around it held, which
is why this only ever happened on Linux. A popup now builds a menu of its own.
If Click-through was what you reached for when it died, the setting was
saved before the process went, and FluxDock would not start again at all: asking
a window that has never been shown to ignore the cursor aborts on Linux, and that
happens on every launch. Anyone stuck there can simply install this build. The
setting is applied once the widget is on screen now, and nothing has to be
edited by hand.
Antigravity named two limits the same
An account with a five hour and a weekly Gemini limit drew two rows both reading
Gem, so the widget claimed the same limit twice and told you nothing about
either. Rows are named against each other now rather than one at a time: two
families read Gem and 3P, one family with two windows reads 5h and 7d,
a mixture reads G5h, G7d, P7d.
A third limit still has nowhere to be drawn, but it is no longer silent. It
counts towards the tray badge and the notifications like any other, and the
tooltip names it.
The window stood taller than its rows
Two rows floated in the middle of a box built for four. GTK pins a window the
user cannot resize to the size it started at and ignores every later resize, so
the height the interface measured never took.
Smaller things
- The log now ends where the process does. It was written through a buffer that
only flushed on a clean exit, so the lines just before a crash, the ones worth
having, were the ones being dropped. last-crash.txtnames the build, the desktop session and how long the process
had been up.- Placement listed one entry on Linux and no reason for it. It lists the
other greyed out now. The Windows taskbar is an ordinary window with room
inside it; GNOME's top bar is drawn by the desktop itself and there is nowhere
for another program to put a window, so this is a missing place rather than a
missing port.
Installing
Windows installs the update itself if it is running. Otherwise take
FluxDock_1.1.1_x64-setup.exe, or the portable zip.
Linux: FluxDock_1.1.1_amd64.AppImage or FluxDock_1.1.1_amd64.deb. GNOME needs
an AppIndicator extension for the tray icon.
FluxDock 1.1.0
Antigravity is a third source, and the widget runs on Linux.
Antigravity. docs/providers.md used to list it as unreadable: the numbers
could only be reached by scraping a token out of a command line or lifting a
secret out of a binary, and this project was not going to do either. That
verdict was written against the editor. The Antigravity CLI runs a language
server on loopback that answers a quota call with no credential at all, and
writes the port it listens on into its own log, so the file this reads is one
the tool already writes.
The account has no five hour window. It has one weekly limit per model family,
so the rows are named after the family rather than after the length: Gem for
the Gemini models, 3P for the Claude and GPT ones. Both reset times are shown
the same way as everything else.
Because the server is the CLI, closing the CLI stops the numbers. The last
reading is kept and greys out after six hours rather than being dropped, since
local usage has stopped by then but the same account can still be spent from
the IDE or another machine. A future build that starts demanding a token gets
no answer and says the CLI is not running, rather than guessing.
Linux. Placement, monitor identity, the tray, the theme, starting at login
and hiding for a fullscreen game all work. Display identity comes from the EDID
the kernel exposes, keyed by connector, so a replug into a different socket
keeps the widget where it was. Fullscreen detection speaks X11 directly, which
also covers games under Proton and Wine inside a Wayland session, since those
are X11 clients.
What does not work is written down rather than implied. Wayland has no way for
an application to place its own window or to ask what another one is doing,
both by design, so on a plain Wayland session the widget appears where the
compositor puts it and stays there during a game. Pinning into a panel is a
Windows only feature and the menu does not offer it elsewhere. GNOME needs an
AppIndicator extension for any tray icon at all. The README carries the full
table.
One fix that mattered. The taskbar strip was sized from a hardcoded pair of
providers, so a third one would have been drawn outside the window. The count
now lives in one place.
Install
Windows. FluxDock_1.1.0_x64-setup.exe for the installer, or
FluxDock-1.1.0-portable-x64.zip to keep it in a folder of your own. If you are
on 1.0.3 or 1.0.4 the tray menu will offer this one and install it for you.
With Scoop:
scoop bucket add fluxdock https://github.com/kalaylienes/fluxdock
scoop install fluxdockLinux. FluxDock_1.1.0_amd64.AppImage, or the .deb for Debian and Ubuntu:
chmod +x FluxDock_1.1.0_amd64.AppImage
./FluxDock_1.1.0_amd64.AppImagesudo apt install ./FluxDock_1.1.0_amd64.debAn AppImage replaces itself when a new version appears. A .deb is owned by the
package manager, so it never offers to, and the menu says nothing about updates
there.
The binary is not code signed, so SmartScreen warns on first run on Windows.
Choose More info, then Run anyway, or build it yourself from source.
FluxDock 1.0.4
On more than one monitor, the widget stays put for a game on another screen.
Fullscreen detection used to ask only whether a fullscreen application was in
front, never which display it was filling. With one monitor those are the same
question. With two they are not, and a widget on a side screen disappeared for a
game that was nowhere near it, which is the one moment a usage readout is worth
having in view.
Same screen still hides, exactly as before, and so does an answer that cannot be
worked out. Two things deliberately keep the old meaning: no process is started
while a game is in front whichever monitor it is on, because that can flash a
console over it, and animation stops for the same reason.
If you are on 1.0.3, the tray menu will offer this one and install it for you. If
you are on 1.0.2 or earlier there is no update check to offer it, so it has to be
installed by hand this once.
Install
Download FluxDock_1.0.4_x64-setup.exe for the installer, or
FluxDock-1.0.4-portable-x64.zip if you would rather keep it in a folder of your
own.
With Scoop:
scoop bucket add fluxdock https://github.com/kalaylienes/fluxdock
scoop install fluxdockThe binary is not code signed, so SmartScreen warns on first run. Choose More
info, then Run anyway, or build it yourself from source.
FluxDock 1.0.3
From this version on, FluxDock tells you when there is a newer one. It asks
GitHub every six hours, and when an update exists a line appears at the top of
the tray menu and waits there until you click it. Nothing downloads or installs
on its own. Clicking it checks the installer against a key built into the copy
you are running before anything executes, then replaces itself and comes back on
the new version. Diagnostics has a manual check and a switch to turn the
automatic one off.
Anyone on 1.0.2 or earlier has to update by hand this once: those versions have
no update check in them at all.
A Codex limit window is now named by how long it runs. The widget used to
call rate_limits.primary the five hour window and secondary the weekly one.
Codex never promised that. OpenAI removed the five hour window for Plus, Pro
and Business in July 2026, so a single weekly window arrived in the first slot,
and by August it was back for Business accounts. The widget names a window from
its stated length either way, so neither change needed a release of its own. An account in that state was shown its weekly percentage under a heading
reading 5h, beside a 7d row stuck at 0% est. for a limit it does not have.
Both rows were wrong at once. The length the server reports now decides the name,
and only the windows an account actually has get a row.
Alongside those: the Codex app server fallback works at all for the first time
(it speaks camelCase, and the parser had only ever looked for the other
spelling), and the diagnostic report now includes the raw usage payload, so a bug
report can show which windows an account was given.
Install
Download FluxDock_1.0.3_x64-setup.exe for the installer, or
FluxDock-1.0.3-portable-x64.zip if you would rather keep it in a folder of your
own.
With Scoop:
scoop bucket add fluxdock https://github.com/kalaylienes/fluxdock
scoop install fluxdockThe binary is not code signed, so SmartScreen warns on first run. Choose More
info, then Run anyway, or build it yourself from source.
FluxDock 1.0.2
Update to 1.0.3. This version has no update check in it, so it will never tell you that a newer one exists. It also names a Codex limit window by which slot it arrived in, which since July labels a weekly limit
5hand shows a7drow for a limit the account does not have.
A maintenance release that fixes four faults, three of which could interrupt whatever you were doing.
Fixed
The watchdog flashed a console window every minute. The scheduled task ran powershell.exe. Its script asked for a hidden window, but where Windows Terminal is the default console host the console appears anyway, so a window came up in front of everything once a minute and took the foreground with it. That is enough to drop a fullscreen game to the desktop. The task now runs fluxdock.exe --watchdog, a GUI binary with no console to show. If you installed the watchdog on an earlier version, run scripts/install-watchdog.ps1 again to pick up the new task.
The widget could stay hidden with no way to bring it back. Fullscreen detection trusted the shell's "busy" state, which Windows also reports for do not disturb, and Windows turns that on by itself while gaming and leaves it on afterwards. The widget then hid with nothing on screen explaining it, and showing it from the tray was undone within a third of a second. Only exclusive Direct3D is trusted now, showing the widget outranks hiding it, and the log records what the widget is hiding behind.
A crash report was filed for an orderly shutdown. Preventing exit while Windows signed the user out kept the event loop running against a window the shell had already destroyed, which aborted inside the toolkit and wrote last-crash.txt every time the machine restarted.
The floating window was taller than its content. Its height was fixed at what two providers need, so running one left dead space above and below the rows. The window is now sized to what is actually on screen.
Alongside those: nothing starts a process while a game is in front, path lookups are cached instead of running where on every poll, and the restart item and folder shortcuts no longer go through a console program.
Install
Download FluxDock_1.0.2_x64-setup.exe for the installer, or FluxDock-1.0.2-portable-x64.zip if you would rather keep it in a folder of your own.
With Scoop:
scoop bucket add fluxdock https://github.com/kalaylienes/fluxdock
scoop install fluxdockThe binary is not code signed, so SmartScreen warns on first run. Choose More info, then Run anyway, or build it yourself from source.
FluxDock 1.0.1
Update to 1.0.3. The watchdog in this version runs a console program every minute, which flashes a window in front of whatever is on screen and can drop a fullscreen game to the desktop. Fullscreen detection here can also leave the widget hidden with no way to bring it back.
Stability release. Fixes a crash that could take the widget down without warning. Showing the context menu holds the menu open for the duration, and a rebuild arriving in the middle aborted the process. Rebuilds now wait, and only happen when the menu contents actually changed. Taskbar placement now holds its position above the strip. The always on top call was a no-op, so clicking the taskbar left the widget underneath it with no way back. Quitting works. An unconditional exit guard meant the Exit item did nothing, and Force restart shut the app down without starting it again. The lock screen and other full screen system surfaces are no longer mistaken for games, so the widget is still there after unlocking. New: an optional watchdog (scripts/install-watchdog.ps1) restarts FluxDock if it ever stops unexpectedly, and crash locations are written to %APPDATA%\FluxDock\last-crash.txt.
FluxDock 1.0.0
Update to 1.0.3. The watchdog in this version runs a console program every minute, which flashes a window in front of whatever is on screen and can drop a fullscreen game to the desktop. Fullscreen detection here can also leave the widget hidden with no way to bring it back.
First release. Shows Claude Code and Codex CLI usage for the five hour and weekly limit windows. - Floating placement above the taskbar, or pinned into the strip next to the notification area - Official server percentages for both tools, with locally derived values labelled as estimates - Burn rate and time to exhaustion in the tooltip - Threshold notifications at 70 and 90 percent - Hides while a fullscreen application is in front - Follows the Windows theme, honours reduced motion Per user install, no administrator prompt. The installer fetches the WebView2 runtime when it is missing. The binary is not code signed yet, so SmartScreen will warn on first run. Choose More info, then Run anyway, or build from source.