Skip to content

Proposal: resizable floating window + responsive multi-column dashboard #35

Description

@lamchun1110

Context

The widget width is fixed at 320px (intentional — see the comments in window.rs and the set_window_chrome/lock_native_panel_resize_axis logic that deliberately locks it). With several subscriptions enabled, the dashboard needs scrolling, and in Floating window mode there's currently no way to see more at once.

Proposal

  • Allow the floating window to be widened (e.g. 320–560px) while keeping the tray popup at the original fixed 320px, so the focused popup UX is unchanged.
  • When widened past a threshold (e.g. ~480px), switch the dashboard to a two-column grid so providers stay visible without scrolling.

Implementation notes (I have a working prototype)

  • Resize is driven by a manual pointer-tracked set_size rather than startResizeDragging, which is unreliable for borderless windows (there's already a TODO in App.svelte about Tauri swallowing that error).
  • The chosen width is persisted (new panel_state.width), restored only in floating mode; the popup always reverts to 320.
  • This intentionally changes the deliberate fixed-width design, so I wanted to gauge interest before opening a PR. The prototype is gated to floating mode and leaves the default popup untouched.
  • I could only compile/test the Linux and macOS paths locally — the Windows resize_popup_anchored path would rely on CI.

Ask

Would a maintainer be open to this as a floating-mode-only option (defaults unchanged)? Happy to open a PR if there's interest, or to adjust the approach (e.g. a settings toggle, different max width, different responsive breakpoint).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions