Skip to content

feat: support moving taskbar widget between monitors#37

Draft
k7631159 wants to merge 1 commit into
CodeZeno:mainfrom
k7631159:feat/multi-monitor-taskbar-widget
Draft

feat: support moving taskbar widget between monitors#37
k7631159 wants to merge 1 commit into
CodeZeno:mainfrom
k7631159:feat/multi-monitor-taskbar-widget

Conversation

@k7631159

Copy link
Copy Markdown

Summary

  • detect primary and secondary Windows taskbar windows
  • persist the selected taskbar index so the widget reopens on the last-used monitor
  • allow dragging the taskbar widget across monitors by dropping it onto another taskbar
  • clamp saved taskbar offsets so the widget stays visible when moving between taskbars with different widths
  • make the whole widget draggable instead of only the left divider area

Draft status

This is ready for early feedback, but I am opening it as a draft because I would like to do one more manual pass on my own multi-monitor setup before marking it ready for review.

Notes

This keeps the existing taskbar-widget model rather than adding a floating window mode. Users can move the widget between taskbars by dragging it directly to another monitor's taskbar. There is no menu command for switching taskbars, because carrying a large-monitor offset back to a smaller taskbar can place the widget off-screen.

Validation

  • rustfmt --check src/native_interop.rs src/window.rs
  • cargo build --release
  • cargo clippy passes with existing upstream warnings
  • manually verified the widget stays visible when a previously-large tray_offset is clamped on a smaller taskbar
  • manually verified dragging from the body of the widget updates its taskbar offset
  • verified the cross-taskbar drop handler moves the widget from the primary taskbar to a secondary taskbar

Follow-up / compatibility

There is an open upstream PR for Explorer restart recovery (#36). If that lands first, this branch may need a small rebase around taskbar handle discovery and recovery logic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant