dremin / RetroBar

Classic Windows 95, 98, Me, 2000, XP, Vista taskbar for modern versions of Windows
Apache License 2.0
2.8k stars 263 forks source link

Smooth animations and Open-Shell #915

Open Patrxgt opened 1 month ago

Patrxgt commented 1 month ago

It would be nice if you could add smooth transitions in the mouse interaction animations to make 'em look like on Windows Vista, since right now they just jumps from one state to another instead of smoothly transitioning (Vista Start Menu button is the best example of that behavior). Also, a better integration with the Open-Shell would be nice, since right now RetroBar doesn't respect the custom Start Menu icon and right click menu added in Open-Shell.

PS. Am I missing something or is RetroBar missing the color picking and transparency option for the Vista theme?

GaryM99 commented 1 month ago

Patrxgt -- Several of your issues are way beyond my level, but I found a way to change my RetroBar Start Button's right-click behavior so it displays Open-Shell's settings dialog instead of the standard Windows right-click menu. It involves using Windows PowerToys. It's not the full integration you wanted, but post back if that would be a worthwhile improvement for your Start Button behavior.

Patrxgt commented 1 month ago

I think it would be a worthwhile improvement for anybody, that uses Open-Shell (so, let's be honest, most of the RetroBar users). As for smooth animations, you could look up the Open-Shell animation code and recreate that in this project. If you were able to make a whole taskbar replacement, then you surely are able to add smooth transitions as well.

GaryM99 commented 1 month ago

Sorry, I didn't want to take the time to explain my solution if it wasn't going to be something you wanted. It's based on the fact that RetroBar passes certain Windows commands to the OS in the form of keystroke emulation rather than direct system calls. Dremin already mentioned that clicking on the RetroBar Start button activates the Start Menu by emulating a WinKey keypress, so I guessed that right-clicking the Start Button might activate the regular Windows Start Button context menu by emulating the WinKey+X keystroke combination. So all we have to do is use PowerToys to remap that keystroke combination to execute a different command, the one that shows the Open-Shell settings dialog.

In the PowerToys Dashboard, make sure that the Keyboard Manager is enabled, and then click on the button to "Remap a shortcut." Set the options so it looks like this screenshot... RemapShortcuts

A couple of the strings are truncated in the screenshot above, but the full App path is "C:\Program Files\Open-Shell\StartMenu.exe", and the full "Start in" path is simply "C:\Program Files\Open-Shell". Resist the urge to set the "If running" option to the seemingly intuitive "Show window" setting since this will cause a problem. "Start another" is the correct option, and Open-Shell already has internal protections to guard against running multiple instances.

With your dialog options set as above, click OK and you're done. Now right-clicking RetroBar's Start Button should bring up the Open-Shell settings dialog instead of the normal Windows context menu.