Hi there! 🙂
This is mostly a nitpick, posting it here just to hopefully save a fellow perfectionist a few minutes of figuring this out.
Side note, I'm absolutely in love with RetroBar, never thought that such a minor thing can improve UX to such a great extent. 😎 Really appreciate the work that was put into this, an awesome idea and a great implementation. 👍
Current behavior
System icons (battery, sound and network) may appear at an arbitrary position within the tray panel. The position is implicitly dependent on the order in which the user chooses to customize hidden/shown icons. The position persists even if user disables "Collapse notification area icons" option afterwards.
Expected behavior
System icons always appear in front of the system clock, unless hidden.
Workaround
Go to "Customize Notifications" dialog,
Under "Behavior" column select "Hide when inactive" for all icons,
Under "Behavior" column select "Always show" for required icons in the inverse order you want them to be shown, as the tray shows icons left-to-right. This means that whichever icon you select first will be the left-most from the clock, and an icon that was selected last will appear right next to the clock. For example, on the screenshot above the selection order was (1) Wireguard, (2) Telegram, (2) Network, (3) Volume, (4) Power.
Probable cause
Whenever a user pins or unpins an icon, WPF triggers the binding to IsPinned property of an icon, which in turn calls ManagedShell.WindowsTray.NotifyIcon.Pin with no position argument, causing an icon in question to be moved to the end of the list of pinned icons.
Possible solutions
Drag-and-droppable icons would be perfect but at the first glance it doesn't seem like ManagedShell supports this,
DnD items in the "Customize Notifications" GridView that implicitly change the PinOrder property when dragged,
Explicit "Order" column in "Customize Notifications" GridView bound to PinOrder prioperty.
Hi there! 🙂 This is mostly a nitpick, posting it here just to hopefully save a fellow perfectionist a few minutes of figuring this out.
Side note, I'm absolutely in love with RetroBar, never thought that such a minor thing can improve UX to such a great extent. 😎 Really appreciate the work that was put into this, an awesome idea and a great implementation. 👍
Current behavior
System icons (battery, sound and network) may appear at an arbitrary position within the tray panel. The position is implicitly dependent on the order in which the user chooses to customize hidden/shown icons. The position persists even if user disables "Collapse notification area icons" option afterwards.
Expected behavior
System icons always appear in front of the system clock, unless hidden.
Workaround
Probable cause
Whenever a user pins or unpins an icon, WPF triggers the binding to
IsPinned
property of an icon, which in turn callsManagedShell.WindowsTray.NotifyIcon.Pin
with noposition
argument, causing an icon in question to be moved to the end of the list of pinned icons.Possible solutions
PinOrder
property when dragged,PinOrder
prioperty.