-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat(transparent-player): new plugin for Acrylic, Mica or Tabbed effects #3529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
feat(transparent-player): new plugin for Acrylic, Mica or Tabbed effects #3529
Conversation
…Tabbed effects for the App
@JellyBrick Not sure what went wrong with the build here, but considering it hit a timeout, I guess it could have been a hiccup during the build? ¯_(ツ)_/¯ Could I kindly ask you to re-trigger the build? That is, if the whole concept of this plugin even matches with your vision for the app of course! |
don't sweat it about the CI errors |
I'd suggest marking the plugin as |
@ArjixWasTaken Thanks for looking into it, very much appreciated! I initially tried not having a backgroundMaterial set unless the plugin is initialised, but then the whole effect would not work at all, not even with restartNeeded set to true. I would prefer this approach myself and tried around for a few days, but didn't find any working solution (other than loading a config before the initial window config) so I thought Mica being a native effect on W11 which can be disabled on OS level should have very little if any performance impact on the Users. That said, I can continue to find a proper and clean solution to have unchanged initial settings until the plugin is enabled! |
Ignore this PR for now until I found a solution to not have any backgroundMaterial set initially, because I assume that there could be an issue on macOS running electron with this setting applied, even if only for the headless instance for testing. |
The config is available on you just have to write the json path |
…a backgroundMaterial is set
@ArjixWasTaken I guess the test error was caused by the fact that the initial window options had a backgroundMaterial on macOS, even if the value was undefined. Now the builds run through, but in general the plugin only works on Windows for now. I know that macOS also has a way to get this working, using "vibrancy", but I don't have a macOS device to test that on my end, so I wouldn't feel too comfortable testing this, but I'd be fine adapting the plugin itself accordingly to set the correct values. Would it be acceptable to have this as a Windows-only plugin for now, or should we first make sure that at least macOS is supported as well before continuing? |
On that topic, I'd like to make a suggestion @JellyBrick currently, for platform-dependent plugins, we have an imho ugly way of disabling them on unsupported platforms. e.g. https://github.com/th-ch/youtube-music/blob/master/src/index.ts#L64-L69 I suggest we introduce a way for a plugin to declare that it supports specific platforms. export default createPlugin({
platform: Platform.Windows | Platform.Darwin
}); In my opinion, declarative is better than imperative @frostybiscuit it's totally fine to release your plugin for a specific platform, getting the plugin merged means that other people may contribute their own platform in a separate PR |
Fully agree that initializing plugins only if they support the current platform is supported makes most sense! For now I would maybe add "(Windows)" to the plugin label, unless you say that it isn't necessary. Also, if you need a helping hand with the platform specific initialization, feel free to reach out, I would gladly help with that! |
The plugin should be completely hidden from the user if their platform is not supported, as long as it's properly dealt with. |
Gotcha! I will tackle this tomorrow |
@ArjixWasTaken The plugin is now fully removed on non-windows devices and the config is only touched after the plugin was enabled. Let me know if you want anything else adapted! |
Transparent Player plugin
I've added a new plugin called "Transparent Player" with the intention of allowing the use of Acrylic, Mica and Tabbed effects for the Electron window.
Options
Known limitations
Preview
Acrylic (10%)
Acrylic (50%)
Acrylic (100%) - basically fully opaque
Mica
Tabbed
Disabled
Notes
Closes #3629