Skip to content

Vertical Taskbar Widgets support - #523

Merged
unchihugo merged 23 commits into
unchihugo:masterfrom
notaarryan:feature/custom-widget-position
Apr 28, 2026
Merged

unchihugo merged 23 commits into
unchihugo:masterfrom
notaarryan:feature/custom-widget-position

Conversation

@notaarryan

Copy link
Copy Markdown
Contributor

Adds vertical taskbar support for the Taskbar Widget, resolving the issue where the widget would appear incorrectly on vertical taskbars.
Changes

Detects vertical taskbar orientation automatically based on taskbar dimensions
Rotates the widget 90° using LayoutTransform so content displays correctly
Top/Center/Bottom positioning all work correctly on vertical taskbars
Widget is centered horizontally within the slim vertical taskbar
Taskbar Visualizer positioning updated for vertical orientation
Window region clipping correctly accounts for the rotated widget bounds

Closes #493

@github-actions github-actions Bot added the TaskbarWindow Changes to TaskbarWindow; the container for taskbar widgets label Mar 19, 2026
@unchihugo

Copy link
Copy Markdown
Owner

Hey! I've been working on adding vertical taskbar support for FluentFlyout. Here's a screenshot of the current progress the widget rotates 90° and displays on the vertical taskbar with the album art, song title, and artist visible.
Would love to know if this is the direction you had in mind, or if there's anything you'd like adjusted (positioning, sizing, rotation direction, etc.) before I continue polishing it up!

Hi @notaarryan, just going to respond here so it's cleaner: this looks great so far! It's a good compromise to rotate the widget 90 degrees to fit the text, hopefully other users wouldn't mind either.

Regarding any adjustments, I'd say it would be good to rotate the album art and buttons back 90 degrees so that they're still facing the right way, what do you think?

@notaarryan

Copy link
Copy Markdown
Contributor Author

Hey! I've been working on adding vertical taskbar support for FluentFlyout. Here's a screenshot of the current progress the widget rotates 90° and displays on the vertical taskbar with the album art, song title, and artist visible.
Would love to know if this is the direction you had in mind, or if there's anything you'd like adjusted (positioning, sizing, rotation direction, etc.) before I continue polishing it up!

Hi @notaarryan, just going to respond here so it's cleaner: this looks great so far! It's a good compromise to rotate the widget 90 degrees to fit the text, hopefully other users wouldn't mind either.

Regarding any adjustments, I'd say it would be good to rotate the album art and buttons back 90 degrees so that they're still facing the right way, what do you think?

Hi @unchihugo, thanks for the feedback! I agree rotating the album art back makes sense and it should look good. However, rotating the buttons back might look a bit off since they'd be horizontal inside a vertical widget — it could feel inconsistent.
Would it be possible to merge this PR as a base and I can follow up with a separate PR that addresses the album art rotation and any other refinements?

@unchihugo

Copy link
Copy Markdown
Owner

That's fine too, do you have any recommendations on how to test this out with a vertical taskbar? I'm on Windows 11 myself so the option isn't native anymore :)

@notaarryan

notaarryan commented Mar 20, 2026 •

Copy link
Copy Markdown
Contributor Author

That's fine too, do you have any recommendations on how to test this out with a vertical taskbar? I'm on Windows 11 myself so the option isn't native anymore :)

You will have to install ExplorerPatcher, this app lets you customize the taskbar, once you install it you have to right click on taskbar and the app pops up.

@github-actions github-actions Bot added the Taskbar Widget Changes to the Taskbar Media Widget label Mar 20, 2026
@notaarryan

Copy link
Copy Markdown
Contributor Author

That's fine too, do you have any recommendations on how to test this out with a vertical taskbar? I'm on Windows 11 myself so the option isn't native anymore :)

@unchihugo Have you tested the implementation out? If so I will start working on the counter rotation of album and the buttons, I checked the buttons wont look that weird

@unchihugo

Copy link
Copy Markdown
Owner

@notaarryan I'm busy right now, though I'll be able to test out the implementation soon.

@unchihugo unchihugo changed the title Feature/custom widget position Vertical Taskbar Widgets support Mar 21, 2026

@unchihugo unchihugo left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @notaarryan, just tested it out and it works quite good so far, nice work! There are a few issues worth noting though, I'll list them down:

  1. After some testing, I've noticed that the right-aligned setting doesn't work (though left and center do work perfectly fine)
  2. Same goes for widget padding, if this setting is enabled and the widget is placed at the left of the taskbar, it works, but not when the widget is placed at the right of the taskbar. Since this is low-priority, we can skip this implementation for now.

@notaarryan

Copy link
Copy Markdown
Contributor Author

Hi @notaarryan, just tested it out and it works quite good so far, nice work! There are a few issues worth noting though, I'll list them down:

  1. After some testing, I've noticed that the right-aligned setting doesn't work (though left and center do work perfectly fine)
  2. Same goes for widget padding, if this setting is enabled and the widget is placed at the left of the taskbar, it works, but not when the widget is placed at the right of the taskbar. Since this is low-priority, we can skip this implementation for now.

Thanks for testing! I'll get bug 1 fixed. As for bug 2, would you like me to fix that as well or leave it for now?
Btw I did implement the 90 degree counter rotation for the album cover and the buttons on vertical mode

@unchihugo

Copy link
Copy Markdown
Owner

Thanks for testing! I'll get bug 1 fixed. As for bug 2, would you like me to fix that as well or leave it for now?

Let's get 1 in for now, we can leave 2 for another time! Are you also able to rotate the visualizer by 90 degrees as well?

Btw I did implement the 90 degree counter rotation for the album cover and the buttons on vertical mode

Yes, works great!

@notaarryan

Copy link
Copy Markdown
Contributor Author

@unchihugo I fixed both the bugs, can you just review them

@notaarryan
notaarryan requested a review from unchihugo March 24, 2026 16:43

@unchihugo unchihugo left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @notaarryan, just quickly checked the changes and functionality wise, it looks good. I've noticed though that the isVertical code blocks are basically duplicates of the original codes with some changes.

Could you go over the code and try to refactor and merge the new functionality into the existing code instead? That'd improve readability and maintainability a ton for everyone. Thank you for your help!

@notaarryan

Copy link
Copy Markdown
Contributor Author

Hi @notaarryan, just quickly checked the changes and functionality wise, it looks good. I've noticed though that the isVertical code blocks are basically duplicates of the original codes with some changes.

Could you go over the code and try to refactor and merge the new functionality into the existing code instead? That'd improve readability and maintainability a ton for everyone. Thank you for your help!

Hi @unchihugo, I'll get to it asap.

@notaarryan
notaarryan requested a review from unchihugo March 28, 2026 18:10

@unchihugo unchihugo left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @notaarryan, this is looking much better already! I'm just curious, why did you remove or edit a lot of the comments from the existing code? Those were really helpful for contributors editing that part of the code.

Also, have you tested if it works on all modes (left, right, center, widget on/off for all positions)?

@notaarryan

Copy link
Copy Markdown
Contributor Author

Hey @notaarryan, this is looking much better already! I'm just curious, why did you remove or edit a lot of the comments from the existing code? Those were really helpful for contributors editing that part of the code.

Also, have you tested if it works on all modes (left, right, center, widget on/off for all positions)?

Hey @unchihugo, Sorry about that, must have happened when I was refactoring, I'll add them back

I tested a few modes If you want I can test all of them and provide ss in here?

@unchihugo

Copy link
Copy Markdown
Owner

Hey @unchihugo, Sorry about that, must have happened when I was refactoring, I'll add them back

It's alright, I'd appreciate if you'd add them back!

I tested a few modes If you want I can test all of them and provide ss in here?

I'd love to see the results of all configs :)

@unchihugo

Copy link
Copy Markdown
Owner

Hi @notaarryan, are you still working on this PR? I'd love to get it finalized :)

@notaarryan

Copy link
Copy Markdown
Contributor Author

Hi @notaarryan, are you still working on this PR? I'd love to get it finalized :)

@unchihugo Hey I am still working on it I was preoccupied with my uni work I will get to it today.

@unchihugo

Copy link
Copy Markdown
Owner

Hi @notaarryan, are you still working on this PR? I'd love to get it finalized :)

@unchihugo Hey I am still working on it I was preoccupied with my uni work I will get to it today.

Ah, no problem, prioritize your uni work!

@notaarryan
notaarryan requested a review from unchihugo April 6, 2026 17:38
@unchihugo

Copy link
Copy Markdown
Owner

Hi @notaarryan, still some comment mess here and there, but it's low priority. Could you provide the test results and screenshots?

@notaarryan

Copy link
Copy Markdown
Contributor Author

Hi @notaarryan, still some comment mess here and there, but it's low priority. Could you provide the test results and screenshots?

Hi, @unchihugo Sorry for the delay my finals at uni just ended today, I will get this done tomorrow.

@notaarryan

Copy link
Copy Markdown
Contributor Author
{2F076B26-B249-4713-BBD3-94553965F82C} {A37DE14C-C1A5-4750-86B5-C7AC418F437A} {C1D83731-93E2-4F2E-8C9E-F56532F70ADB}

Hi @notaarryan, still some comment mess here and there, but it's low priority. Could you provide the test results and screenshots?

@unchihugo

Copy link
Copy Markdown
Owner

Thanks @notaarryan, I'll have a look at this soon!

@unchihugo unchihugo left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @notaarryan, just had a read through the code and it looks mostly good. Just a final question before we merge: I'm wondering at line 542 and ahead, what was the reason for using UIAutomation over FindWindowEx? Have you tested that automation actually works better on secondary taskbars compared to the native method?

@notaarryan

Copy link
Copy Markdown
Contributor Author

Hey @notaarryan, just had a read through the code and it looks mostly good. Just a final question before we merge: I'm wondering at line 542 and ahead, what was the reason for using UIAutomation over FindWindowEx? Have you tested that automation actually works better on secondary taskbars compared to the native method?

Hey the reason for using UIAutomation on secondary taskbars is that TrayNotifyWnd only exists as a child window on the primary taskbar on Shell_SecondaryTrayWnd there's no equivalent Win32 child window to enumerate, so FindWindowEx would just return IntPtr.Zero. UIAutomation queries the XAML visual tree using the SystemTrayIcon automation ID which woeks regardless of primary/seconday the FindWindowEx path is kept for the primary taskbar since it's much faster.

@unchihugo unchihugo left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good! Happy to merge this now, thank you for the contribution :)

@notaarryan

Copy link
Copy Markdown
Contributor Author

Sounds good! Happy to merge this now, thank you for the contribution :)

Happy to help with anything else

@unchihugo
unchihugo merged commit b688b5b into unchihugo:master Apr 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Taskbar Widget Changes to the Taskbar Media Widget TaskbarWindow Changes to TaskbarWindow; the container for taskbar widgets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE REQUEST] Support for Vertical Taskbars

2 participants