Skip to content

Releases: Archangel-77/hutsix-public

Hutsix v3.9.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 29 Oct 22:35

Hutsix v3.9.0(released)

Profile Manager

  • Fixed: a profile could not be created from an executable chosen with Browse…. The choice vanished the next time the running-app list refreshed (about once a second), so Create reported "Choose the app first" even though you had just picked one. The browsed app now stays in the list and is used for the profile.
  • Fixed: clicking a binding no longer traps the form in editing. Selecting a binding only arms Delete; to edit one, double-click it. The form returns to "Add Binding" after you save an edit, so you can keep adding bindings instead of being stuck on the last one.
  • Fixed: the binding list now refreshes when you switch to a different profile. It kept showing the previous profile's bindings until something else happened to reload it.

Triggers

  • Fixed: calibrating a text trigger from a captured area now keeps the area you drew. It used to shrink the saved area to where the template was found, so the trigger watched a tiny box instead of the region you selected. The template still pins which text to watch; it just no longer overrides your chosen area.
  • Fixed: the "Choose Image" button now enables reliably when you switch to calibrating from an image file.
  • A text trigger can now track a moving element. Tick "The element can move — track it" during calibration and Hutsix re-finds the element as it runs (on a throttled cadence) instead of watching one fixed spot — useful when the thing you're reading drifts around a region of the screen.

Hutsix v3.8.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 29 Oct 17:12

Hutsix v3.8.0(released)

⚠� Action needed: re-save your pause bindings

A binding with “Also pause everything while this matches� ticked now also runs its own action — it pauses the other bindings after it acts.

Bindings saved before this release keep the old behaviour: they pause, and their action is never run. Nothing breaks, but the action you attached to them stays unused, and the Profile Manager shows a warning on each one.

Fix: open the profile, select the pause binding, and press Save changes once. No other edit is needed. Do this for every profile that has a pause binding.

Bindings

  • The binding form now shows only what applies to your choice, and says why. The window offered three look-alike buttons — Hotkey, Pause, Watchdog — with greyed states that depended on a rule you could not see, plus timing options that could be set on a binding that would never use them. The options are now grouped under the mode they belong to: Shortcut options (block the original key, repeat while held, debounce) appear only for a shortcut, Watching options (also pause other bindings, how often to check, skip the second check) only while watching the screen, and the few that apply to both — run when unfocused, priority, how long before it can run again — sit in their own group. With nothing selected every group is inert, and one line says what to choose first.
  • The mode is no longer a guess. Whether a trigger can be a shortcut or has to watch the screen depends on its type; the option you cannot use is now greyed with the reason beside it, and the one you can use is selected for you.
  • A sentence under the form says what the binding will do — "Press or hold "left_click" to run "q_butt". The game does not also receive the trigger. It repeats every 120 ms after 0 ms. It can run at most once every 6000 ms." — and it follows the options as you change them.
  • The bindings list shows the profile you are editing instead of every profile on the machine.
  • Create Profile stays disabled until the profile has a name and an app, and the missing piece is named beside the button instead of appearing as a warning after the click.
  • You can now change a binding after creating it. Selecting a binding in the list loads its settings into the form, exactly as they are stored, and an Editing "‹name›" banner appears above it with a rename field and a Cancel button. Change whatever you need and press Save changes; the binding keeps its place in the list. Clearing a field that was overriding the profile default restores the default instead of freezing the old number, and renaming is checked the same way as when creating.
  • The tooltips now say what the option does to your game, not what the field is called: what gets paused, what "skip verification" verifies, that a shortcut is only possible with a keyboard or mouse trigger, and what leaving a wait field blank means (it uses the global value). The four groups explain themselves too, and every tooltip in the window is checked for internal jargon.
  • Saving an edit to the profile that is currently running offers to restart it, since a running profile only reads its bindings at startup. The prompt appears only for that profile — editing a different one changes the file and nothing else.
  • The profile window is one page now instead of two tabs. The app picker, the profile name, the trigger, the action, how the binding runs and the list of your bindings are all on the same page, so nothing is hidden behind a step you have to remember to click. The profile half folds down to a single line once you have one — it opens by itself on a fresh install, where creating a profile is the only thing to do.
  • Timing values have one box each. The poll interval and the wait between runs used to be a slider and a box showing the same number; the slider is gone and the box is the value.
  • Controls no longer disappear when they do not apply. They are greyed, with the reason, instead of the window rearranging itself while you work.
  • Nothing is out of reach on a small window. The bindings half was wider and taller than the window and there was no way to scroll to the rest of it; the whole page now scrolls, and the text that made it too wide — a folder path under an empty list — moved into the tooltip.
  • One action is highlighted at a time. The window used to paint several buttons as equally important. Now the Save button is highlighted while the binding form can be saved, and Create Profile only when it cannot — the buttons stay where they are, only the highlight moves, and it follows your theme's accent colour instead of a fixed blue.
  • One way to delete a profile, not two. The profile is deleted from the bar at the bottom of the window, acting on the profile you picked in the list — the second "Delete Existing Profile" dropdown that duplicated it is gone.
  • The trigger and action lists no longer have their own Refresh buttons. They already reload when the files on disk change; the app list keeps its refresh shortcut.
  • One list for triggers and one for actions, instead of a type followed by a file. You used to answer "which type?" and then "which file?", with the type read back from a separate box. Now each list holds everything you have, grouped by type — Mouse · left click, Pixel · hp_bar — so the type always matches the file you picked. If a trigger a binding used has been deleted, nothing is preselected instead of the wrong one silently being kept.
  • The profile half is four short rows instead of two columns. App (filter, list, Refresh, Browse…), the app's full path, Name, and the two auto-start options — which were spread over two panes under four separate headings. Browsing for an .exe now puts it in the same list the windows live in, so there is one answer to "which app?" rather than a list and a separate field that could both be set. The rows sit under one header that folds away once you have a profile, and the column no longer leaves a gap between the trigger and the action.
  • The binding button says what it does: Add Binding for a new one, Save changes while editing.
  • An empty trigger or action list now says why it is empty. With nothing to choose the box used to look broken — no entries, nothing to open. It reads No triggers yet with the line under it telling you where they come from (and the folder in the tooltip).
  • A pause binding now runs its own action, then pauses everything else. It used to be a guard and nothing more: the action you attached to it was never run, and the summary said otherwise. Now the binding acts first and pauses the other bindings after it, which is what makes "when the menu appears, press Escape and hold everything" possible. Only a pixel, AI image or template trigger can pause — a text trigger never gets the option, because the check cannot read text. Bindings saved before this change still pause without acting; see the note at the top of these notes.
  • An impossible binding is refused when you save it, with a sentence instead of a code. A binding whose mode does not fit its trigger (a pixel trigger declared as a shortcut, or nothing declared at all) is rejected by the backend now, and a profile that already contains one is flagged in its warnings rather than quietly never firing. Save errors also read as sentences — "That trigger cannot run in that mode…" instead of mode_mismatch.
  • Pausing yourself and a pause binding no longer fight each other. Every pause now belongs to whoever asked for it: your global Pause hotkey, a pause binding, a focus pause and an open Hutsix window each hold their own. A pause binding clearing cannot resume input you paused to type, and unpausing cannot resume a profile whose pause binding is still matched — the status line names the reason that is left, and the profile is not labelled active while anything is still paused. A pause binding also cannot act on your game while you are paused, because a paused profile drops every action.
  • Re-calibrating a trigger that is already in a binding now actually reaches that binding. A profile keeps its own copy of each image/AI trigger and of the template it matches, so the copy is what runs — and until now the copy was only ever written when you first added the binding. Re-calibrating the trigger afterwards rewrote the original file, which the binding went on ignoring, so the trigger kept matching the old picture. Saving the binding again now refreshes the profile's copy and brings its templates with it. If the refresh cannot find something it says so in the profile's warnings instead of failing the save.

Triggers

  • Auto-calibrating an image trigger can now measure what the watcher will actually see. A folder of screenshots can only show what your game looked like when you took them; the calibration now offers to sample the trigger's own area on the live screen instead — same capture path, same HDR tone-mapping, same scaling as when the profile runs. It samples ten frames (adjustable), reports how many the model detected and at what confidence, and recommends the score threshold from that distribution rather than from a single screenshot.
  • The suggested threshold comes with its evidence. The window shows "6/10 frames detected", the weakest detection, the highest score seen on a frame with nothing in it, and the gap between them — and says so in one sentence ("Separates: lowest detection 0.62, highest empty frame 0.18 — 0.40 leaves 0.22 on one side and 0.22 on the other"). When the two overlap, or nothing was detected at all, it says that instead of inventing a number and keeps your current threshold.
  • An image (AI) trigger is judged by its model alone, with no hidden second check. There used ...
Read more

Hutsix v3.7.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 28 Oct 23:39

Hutsix v3.7.0(released)

Running Profiles

  • Fixed: closing a Hutsix window restarted a profile you had paused. If you pressed the global Pause hotkey and then opened and closed any Hutsix window, the profile went back to watching the screen even though input was still paused. The status line showed the profile as active and the triggers kept matching, but every action was silently dropped, so nothing happened in the game. A pause now belongs to whoever asked for it: the profile only starts acting again when every pause has been lifted.

Hutsix v3.6.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 28 Oct 14:22

Hutsix v3.6.0(released)

Triggers

  • Fixed: screen-based triggers never used the shared screenshot, so each one captured the whole desktop itself. A monitor has two names — the one the calibrator stores (dxgi-0-0) and the Windows device name (\\.\DISPLAY1) — and the capture service only recognised the second, so every screen, pixel, OCR and AI trigger asked for a monitor it could not find and fell back to its own full-screen capture. A trigger set to check ten times a second was really checking about twice, and the extra captures cost a visible slice of a CPU core.
  • Those triggers now read one shared capture per tick, sized to the areas the bindings watch instead of the whole desktop: reading an area from it costs about 0.01 ms instead of 1.7 ms, and a fast binding runs at roughly 33 checks per second instead of 5.
  • The debug log now records when the shared capture has no frame for a monitor, so a fallback like this cannot stay invisible.

Hutsix v3.5.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 27 Oct 12:03

Hutsix v3.5.0(released)

Updates

  • Fixed: an update could download successfully and then never install. The update listed every file in the app, so on the next start it tried to replace program files the running app was already using. Windows refuses that, the whole update was rolled back, and the version stayed the same no matter how many times it was downloaded. Files that are already up to date are now left alone, and a file that cannot be replaced stops the update cleanly instead of half-applying it.
  • If the fast update path fails twice for one version, Hutsix switches to the normal installer download for that version instead of repeating the same failure.
  • A failed update no longer leaves several gigabytes of staged files behind.
  • The download window now shows the files that are actually transferring. A fast update transfers archive parts, but the window used to list the installer files, so every row sat on "pending" and a working download looked frozen.
  • "What's new" is formatted now: headings, bold text and bullets instead of raw ##, ### and ** markers.
  • A paragraph that began with bold text was drawn as a bullet with its first asterisk eaten; fixed in the Help and Tips & Tricks windows too.

Running Profiles

  • The Run Profile status line now says why a profile is paused — for example Active: Lol (paused: target window not focused) — instead of only that it is paused. A profile that pauses without saying why looks exactly like a broken one.
  • A profile no longer stays silently paused after you stop and restart it. Auto Pause On Focus Loss could leave a pause behind that outlived the profile it belonged to, so afterwards no hotkey or other trigger fired while the window still showed the profile as running. The pause now belongs to the watcher that set it and is released whenever that profile stops — from the button, the tray, the abort hotkey or the auto-activator — and the profile also reports itself as paused while it really is.

Bindings

  • Cooldown now applies to hotkey triggers. When a binding's repeat mode is Cooldown, pressing its key or mouse button again inside the cooldown does nothing — before, every press fired regardless of the value you had set (a 5-second cooldown could fire twice in two seconds). Repeated holds still re-fire at the cooldown interval, and the key or click still reaches the game instead of being swallowed. Interval-mode bindings behave exactly as before, and 0 still means "no cooldown".

Hutsix v3.3.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 26 Oct 18:36

Hutsix v3.3.0(released)

Running Profiles

  • The Run Profile status line now says why a profile is paused — for example Active: Lol (paused: target window not focused) — instead of only that it is paused. A profile that pauses without saying why looks exactly like a broken one.
  • A profile no longer stays silently paused after you stop and restart it. Auto Pause On Focus Loss could leave a pause behind that outlived the profile it belonged to, so afterwards no hotkey or other trigger fired while the window still showed the profile as running. The pause now belongs to the watcher that set it and is released whenever that profile stops — from the button, the tray, the abort hotkey or the auto-activator — and the profile also reports itself as paused while it really is.

Updates

  • Resolved: release notes showed raw markdown. The What's new list in the update prompt is formatted now: headings, bold text and bullet lists look like text instead of showing the raw ##, ### and ** markers copied out of the release-notes file.
  • Resolved: a paragraph that began with bold text was drawn as a bullet with its first asterisk eaten. This also affected the Help and Tips & Tricks windows.

Bindings

  • Cooldown now applies to hotkey triggers. When a binding's repeat mode is Cooldown, pressing its key or mouse button again inside the cooldown does nothing — before, every press fired regardless of the value you had set (a 5-second cooldown could fire twice in two seconds). Repeated holds still re-fire at the cooldown interval, and the key or click still reaches the game instead of being swallowed. Interval-mode bindings behave exactly as before, and 0 still means "no cooldown".

Hutsix v3.2.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 24 Oct 17:35

Hutsix v3.2.0(released)

Main Window

  • The main window has a clearer layout. Profile tools (Profile Manager, Run Profile, Action Monitor, Export Profile, Import Profile) now sit together in a Profiles section.
  • Settings is now its own section with just the Settings button.

Running Profiles

  • New Run Profile window: pick a profile and start, pause or stop it in one place, with a live status indicator. The window stays live, so you can watch a profile run and steer it.
  • Auto Activate, Auto Pause On Focus Loss and Global Hotkeys moved here from Settings.
  • A tray icon shows whether a profile is running, paused or idle, and lets you pause or stop it without opening a window.
  • Closing the dashboard keeps Hutsix running in the tray, so a profile you started keeps going; choose Exit Hutsix in the tray menu to quit. You can turn this off in Settings to make the × button exit the app as before.
  • If the tray icon is gone (for example after Explorer restarts), closing the window now quits Hutsix completely instead of leaving it running with no window and no icon to reach it.
  • Global hotkeys now stay registered while Hutsix is open instead of being re-registered every time a profile starts or stops.
  • A watchdog binding whose profile does not record Also Pause While Active no longer turns into that profile's pause guard: the missing value was read as "on" while the binding list showed it as off, so a hand-edited or older profile could pause every other binding whenever that trigger matched. The switch is opt-in everywhere now, which is what the binding list and the documentation have always said.

Settings

  • Settings now holds only application preferences: appearance, the boot master switch, screen-capture hiding, tray behaviour, log level and the hidden-popup reset.
  • New Appearance pickers: theme (light / dark / follow Windows), accent colour (ocean / emerald / amber) and density. Changes apply to the whole app immediately and are written to disk straight away, so they survive even a forced quit.
  • Compact density now genuinely saves space — every control is 4 px shorter — instead of only nudging padding.
  • Changing Log Level takes effect immediately — no restart — and DEBUG now also includes messages from the bundled libraries, so troubleshooting shows what is actually failing.

Action Monitor

  • Triggers that are dropped no longer disappear silently: the monitor now shows a skipped row when a hotkey fires while the profile is paused or the runtime has stopped, and once per episode when a screen trigger is still waiting out its own cooldown.
  • "Action queue paused/resumed" rows read correctly again instead of being reworded to "Ran queue paused".

Trigger speed

  • Screen triggers now read the screen once per check instead of once per watched pixel. A 20-point watch went from ~585 ms of overhead to ~0.2 ms, so a multi-point trigger no longer lags behind the action it should fire.
  • All triggers watching the same monitor now share a single screen read per check, and Hutsix captures only the part of the screen those triggers actually watch instead of the whole monitor. On a 1080p HDR display a full-monitor capture cost about 200 ms; the shared capture now costs a fraction of that and serves every trigger from it.
  • A captured frame is never used if it is older than the trigger's own checking interval, so a fast trigger can no longer act on a picture that is a second old.
  • Triggers on the same monitor now judge the same captured instant instead of slightly different moments, so two triggers reacting to the same change agree.
  • When nothing on screen has changed, Hutsix reuses the previous answer instead of re-running text recognition or image detection: an unchanged frame costs about 1 ms instead of 19-56 ms. The comparison is pixel-exact, so a result is only reused for an identical frame.
  • On HDR displays a trigger no longer stalls for up to 1.5 s when the desktop is idle. Hutsix reuses the last frame the desktop produced, because an unchanged desktop has no newer frame to wait for.
  • Pixel and region triggers now check every 33 ms on HDR and region captures as well (previously 100 ms), so they react as quickly as a normal pixel trigger: a 20-point HDR check measures ~0.3 ms.
  • The first image-based trigger after starting a profile now fires immediately: the detection model is loaded in the background at start instead of on the first match, which removed a ~4 s delay.
  • Template matching now only uses the GPU when the watched region is large enough for it to be faster, and keeps small regions on the CPU where they are up to 1.7x quicker. This also fixed a bug that made the GPU path silently never run.
  • On a machine without a usable NVIDIA GPU, text and image triggers check every 0.5 s instead of competing with the rest of the app for CPU time.
  • A single slow binding can no longer monopolise the watcher: each trigger measures its own cost and slows down when it would take more than about half a core, and an overrun is recorded in Diagnostics.

Tips & Tricks

  • New Tips & Tricks window in the System group: short, task-focused cards that walk through building a profile, choosing a trigger, recording an action, creating a dataset, training a model and wiring it back into a trigger.
  • The cards open together with the main window, parked beside the dashboard, so they are found without hunting for a button. Turn off Open Tips & Tricks when Hutsix starts at the bottom of the window if you would rather it stayed closed; closing the window is enough to hide it for the rest of the session.
  • Added Reset Tips & Tricks to Settings: it turns the startup card window back on, returns to the first card and restores the window's default size.
  • Move through the cards with Next and Previous (or the arrow keys) and jump straight to a topic with the category list. Hutsix remembers the card you were on.
  • Each card can open the window it describes, so guidance and the actual dialog are one click apart.
  • The window stays open while a profile runs and is hidden from your own screen captures, so it can never trigger the automation it is explaining.
  • The Help window now follows appearance changes immediately instead of keeping its old text colours until reopened.
  • The Tips & Tricks button now shows its ampersand. Windows treats & as a keyboard-shortcut marker, so the label used to appear as "Tips Tricks".

Running as administrator

  • Hutsix asks Windows for administrator rights at start. That is deliberate, not a default we forgot to change: Windows blocks input from a normal process into a window that runs as administrator, so automating a game or launcher that runs elevated only works when Hutsix is elevated too. Updates are also installed into Program Files, which needs the same rights.
  • If you decline the prompt, Hutsix still runs and now tells you what is affected instead of failing silently: input sent to elevated apps is ignored and updates may fail to install.
  • The Run Profile window shows a notice while Hutsix is not running as administrator, so "my actions fire but the game ignores them" has a visible cause.
  • Headless runs (profile auto-start) now honour HUTSIX_SKIP_ADMIN by value: only 1/true/yes/on disables elevation. Previously any value did — including the 0 shown in .env.example — so a headless run could quietly lose the ability to drive an elevated game while the app itself elevated normally.

Licensing

  • Activation is more secure: your licence is verified online and the check is built into the app itself, so it can no longer be changed by editing configuration files.
  • Licences you have already activated keep working as before.
  • The installer now carries the HUTSIX banner, and its licence screen also states the third-party software terms. The full LGPL texts for the libraries that require them now ship with the installer.
  • Fixed two characters in the licence screen that rendered as garbage text: the copyright symbol and a dash.
  • The bundled third-party notice list was rebuilt from what the application actually ships, so versions and licence names now match the build.

Updates

  • Updates are much smaller now: Hutsix downloads only the files that actually changed instead of the whole app again.
  • Every update is checked to make sure it really came from Hutsix before anything is installed, and the app keeps a backup so it can put things back if a new version fails to start.

Hutsix v3.1.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 20 Oct 17:29

Hutsix v3.1.0(released)

Keyboard & Mouse Actions

  • Actions now have a Min delay setting (10 ms by default): the shortest pause allowed between steps. It keeps a sped-up recording from running faster than a game can keep up with.
  • When a recorded pause would end up shorter than that, Hutsix waits for your minimum instead. Your saved actions are never changed.
  • If the settings still leave some pauses shorter than 10 ms (about one frame at 60 FPS), the action window warns you that the game may skip those steps.
  • Actions you recorded earlier keep behaving the same, apart from any pause that was shorter than 10 ms those now take 10 ms.

Hutsix v3.0.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 17 Oct 11:35

Hutsix v3.0.0(released)

Settings & Profiles

  • Removed the non-functional "Enable Pause/Abort hotkeys (Pause / Scroll Lock)" checkbox from the Profile Manager. Global hotkeys are now controlled only from Settings → Global Hotkeys; the per-profile flag this checkbox wrote was never read by the runtime.
  • The "Start Auto-Activate Monitor On App Launch" master switch now shows its true state: it appears checked while the legacy default (auto-start until you choose otherwise) is in effect, instead of appearing off while the monitor was actually running at boot.
  • The confirmation message when enabling Auto Activate now correctly reflects whether the master switch will apply it at boot.

Global Hotkeys

  • Fixed per-profile switching: the Switch Next / Switch Prev hotkeys now keep their configuration and callbacks after a profile is deactivated and re-activated, and edits made in the Global Hotkeys dialog take effect immediately instead of only after restarting the app.
  • Fixed the headless (non-GUI) fallback for Switch Next / Switch Prev to match the documented defaults (Ctrl+Alt+Page Down / Ctrl+Alt+Page Up).

Profile Manager

  • Replaced the hidden tabs with clearly labeled, visible steps ("1. Create Profile" / "2. Add Bindings") and added step hints so the two-stage workflow is obvious.
  • After creating a profile, the window now switches straight to the bindings step with the new profile already selected.
  • Profile names are now validated with a clear message before saving (rejects "." / ".." and path separators).
  • Deleting a trigger or action that is still used by a binding now warns and lists the affected bindings first.
  • The program dropdown now reliably restores your selection after a background refresh.
  • The window keeps your in-progress selection when re-opened (clears only on first show), and pressing Enter in the name field creates the profile.
  • Renamed the window to "Profile Manager" and relabeled the pause option to "Also Pause While Active".
  • Debounced binding-overview refreshes and consolidated profile-list/column-sizing logic so the window stays responsive with many profiles.

Repeat

  • Added a new "After cooldown" repeat mode for hotkey bindings: the action re-fires as soon as its cooldown elapses while the trigger is held (previously repeat used a fixed interval, with cooldown acting only as a throttle).

Matching speed & accuracy

  • Trigger checks are noticeably faster: the parts of your templates that never change are now computed once and reused, only the template that actually matched gets a second look, and a near-perfect match skips the extra double-check entirely.
  • You can now fine-tune how strictly Hutsix double-checks image matches (per trigger) when you need more precision or more speed.

Reliability

  • Fixed a rare case where two bindings with the same name could interfere with each other's repeat actions — each one now runs independently.
  • Global hotkeys are now handled by a single internal controller, so their settings and shortcuts always stay in sync across every part of the app.
  • Profile names are now checked in one place with a consistent message everywhere (create window, runtime, and imports), and imported profiles with unsafe names are rejected before anything is written to disk.

Consistency & cleanup

  • The default on/off state for global hotkeys is now the same in every launch mode (the main window and the headless profile runner previously disagreed).
  • Removed leftover unused code and merged duplicate helper routines.

Tests

  • Added automated coverage for the real HDR screen-capture path (it runs on HDR displays and skips cleanly on others), plus more regression tests for profiles, repeat, hotkeys, and timing.

Housekeeping

  • Corrected the v2.3.0 release note: only Auto Activate and Auto Pause On Focus Loss are per-profile; Global Hotkeys remain a single app-wide setting.

Hutsix v2.4.0

Choose a tag to compare

@Archangel-77 Archangel-77 released this 15 Oct 11:02

Hutsix v2.4.0(released)

Theme

  • Hutsix now follows your Windows light/dark setting automatically. With the theme set to Auto, the app flips between light and dark as soon as Windows does — no restart needed.
  • Fixed the app staying dark even after Windows switched to light.

Screen Capture

  • The dashboard and Action Monitor are now hidden from screen capture by default, so recordings and capture-based triggers see the app behind them instead of Hutsix's own windows. You can turn this off in Settings.
  • Reduced capture lag: the latest screen frame is now delivered faster during continuous monitoring.

Logging

  • Fixed a mislabeled log source in mouse actions so support logs point to the correct module.

Tests

  • Added tests covering the new capture-exclusion and theme-following behavior.