Option for when MacOS Vibrancy is active

Use case or problem

Vibrancy can be set on MacOS by toggling the Translucent setting in appearances.

Currently, new BrowserWindow instances in electron are created with the default setting that vibrancy occurs when the app is focussed and not when the app is inactive. This corresponds to the visualEffectState property of the windows which is currently set to followWindow instead of active (this was changed from the default being active - see here). Unfortunately, this is not a setting that can be changed at runtime (see here) and so users are unable to change this setting via third party plugins.

Ideally I (and some other users I’m sure), would like to have vibrancy be always active.

Proposed solution

It would be good if there was an additional toggle setting for whether the windows created are always vibrant or only when focussed (corresponding to the above two options). This would enhance the translucency feature. This is a MacOS only feature of electron so it could be hidden or shown based on process.platform === "darwin". I’m unsure if whether there are any corresponding settings for windows/linux but I couldn’t find any.

This is a relatively simple change with almost no knock-on effects so I wouldn’t think it would be hard to change (but please correct me if I’m wrong!).

Current workaround (optional)

Not possible.

Related feature requests (optional)

Tangentially Related: Adjust Vibrancy and Transparency? (MacOS)?

Thanks for your consideration :slight_smile:


+1, is there any way we can patch the app so we can set that option before runtime?

1 Like

So, you can modify the obsidian.asar file in the main.js file to set the BrowserWindow Options!
Just add visualEffectState: "active" and you’re good! Maybe we can build a plugin around that

1 Like

I’m not sure that is something you can change with a plugin? I’d really like for this to be an upstream change or every time obsidian updates you’d have to reimplement this hack.