fix: keep-on-taskbar mode acts like a normal window, no minimize-on-blur; v0.7.9#16
Conversation
…lur; v0.7.9 Blur no longer minimizes the panel when keep-on-taskbar is on (the default since v0.7.7) — that mode now means a regular window: not always-on-top, stays open on focus loss, dismissed via tray or the user's own minimize. Tray-dropdown mode (setting off) keeps the old always-on-top hide-on-blur behavior. Toggling the setting re-applies window flags live. Adds a flag-matrix regression test. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adjusts the Windows/Linux panel behavior so keepOnTaskbar behaves like a standard window (no always-on-top and no blur-triggered minimize/hide), addressing the “constant minimize animation on focus loss” regression introduced when keepOnTaskbar became default-on.
Changes:
- Disable blur-hide logic when
keepOnTaskbaris enabled and toggle always-on-top based on the active mode. - Re-apply window flags immediately when
keepOnTaskbaris toggled, and add a Rust regression test for the hide-on-blur flag matrix. - Bump app version to
0.7.9and update the settings copy to match the new behavior.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/components/settings/system-settings-sections.tsx | Updates user-facing description of keep-on-taskbar vs tray-dropdown behavior. |
| src-tauri/tauri.conf.json | Version bump to 0.7.9. |
| src-tauri/src/panel/other.rs | Makes always-on-top conditional on keep_on_taskbar for Windows/Linux. |
| src-tauri/src/panel/mod.rs | Changes blur-hide decision to never auto-hide in keep-on-taskbar mode; adds regression test. |
| src-tauri/src/commands.rs | Re-applies window flags live when keepOnTaskbar is toggled. |
| src-tauri/Cargo.toml | Version bump to 0.7.9. |
| src-tauri/Cargo.lock | Lockfile version bump for the openusage package. |
| package.json | Frontend version bump to 0.7.9. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| </label> | ||
| <p className="text-xs text-muted-foreground mt-1.5"> | ||
| On: dismissing the panel minimizes it, so the taskbar button stays while Tokenmaxxing runs. Off: the panel hides completely. | ||
| On: the panel acts like a normal window — it stays open when you click elsewhere and keeps its taskbar button. Off: tray dropdown — the panel floats on top and hides when it loses focus. |
| //! as the dropdown. In keep-on-taskbar mode it behaves like a normal window | ||
| //! (not always-on-top, no blur-hide) so the user can keep working with the | ||
| //! panel open. In tray-dropdown mode it is borderless, always-on-top, shown | ||
| //! and positioned under the tray icon and hidden again when it loses focus | ||
| //! (the focus-out hide is wired up in `lib.rs` via `on_window_event`). |
| // Flags are global atomics, so run this as a single sequential test | ||
| // to avoid races with other tests in the same process. | ||
| #[test] |
|
Windows 11 VM verification (v0.7.9 from this branch, dockur/windows container): Win32-level assertion after showing the panel and clicking outside it: On v0.7.8 this blur path ran |
…ving the moving v2.1 branch Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ty state Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…macOS builds compile The v2.1 branch head (a3122e8) bumps pastey to 0.2, which changes tauri_panel! macro expansion and breaks src/panel/macos.rs on a cold build; master CI only passed via a warm rust-cache. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… per-session dead-list A plain Command::output() on 'zsh -ilc' hung forever when the user's rc files start shell integrations that never close stdout (observed with cursor-agent's cursor-shell), stalling the whole probe batch and leaving the local API without data. Timed-out shells are skipped for the rest of the session so repeated env lookups don't eat the probe deadline. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Drag verified on Windows 11 VM (keep-on-taskbar mode, edge drag strips): Also: macOS CI leg turns out to have been broken since #1 (macos.rs targets a tauri-nspanel API that doesn't exist at any v2.1 rev — filed #17). This PR makes CI gating honest: Windows/Linux required, macOS informational. |
get_webview_panel returns PanelHandle<R> (Arc<dyn Panel<R>>) at the pinned rev — Panel itself is a trait now. Also import tauri::Manager at file scope so tauri_panel!'s generated code resolves app_handle(). Fixes the macOS build that has been broken since #1 (issue #17). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>




Problem
Since v0.7.7
keepOnTaskbardefaults to ON, and on Windows/Linux every focus loss ranwindow.minimize()on an always-on-top window. Clicking anywhere else made the panel constantly play the minimize animation — the UI felt broken.Fix
Keep-on-taskbar ON now means a normal window: not always-on-top, no auto-minimize on blur; dismiss via tray toggle or your own minimize. Keep-on-taskbar OFF keeps the tray-dropdown behavior (always-on-top, hide on blur, pinned rules unchanged). Toggling the setting re-applies window flags live. Settings copy updated.
Tests
should_hide_on_blur(passes)plugin_engine::host_api::tests::env_api_respects_allowlist_in_host_and_jshangs locally on master too (pre-existing env flake, unrelated)🤖 Generated with Claude Code