It is currently March 28th, 2024, 11:56 am

New support for @Vault folder

Changes made during the Rainmeter 4.2 beta cycle.
Post Reply
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

New support for @Vault folder

Post by jsmorley »

Rainmeter encourages people to create and distribute their own skins, either created from scratch or modified from other skins you may download and install. In order to facilitate this for authors, Rainmeter now supports an @Vault folder located in the Skins folder of your Rainmeter installation.

The purpose of the @Vault folder is to have a standard, central place to store things you might want to use when creating your own .rmskins for distribution. Primarily this will be 3rd-party plugins, but it can be fonts or sounds or images or anything else that you want to "keep handy" to help you create skin distributions.

By default, the Skin Installer for Rainmeter will automatically store both 32bit and 64bit versions of any plugins that are installed on your system by a .rmskin. These will be stored in @Vault\Plugins. The plugin will be stored there in a subfolder with the plugin version number (if there is one) and the name of the plugin .dll file.

See @Vault Folder for details on how this works and how to use it.
User avatar
Active Colors
Moderator
Posts: 1251
Joined: February 16th, 2012, 3:32 am
Location: Berlin, Germany
Contact:

Re: New support for @Vault folder

Post by Active Colors »

1. How to safely move existing 3rd-party plugins to the @Vault folder?

2. Does Rainmeter scan all sub-folders inside of @Vault folder for plugin files?

3. If I place .ini file inside of the @Vault folder would it be possible to activate this skin?

4. If I put a file inside of the @Vault folder how do I write the address to this file? We can use #@# for files in @Resources folders, do you plan similar method for the @Vault folder? I would like to see this, maybe it could look like #&#.
User avatar
Brian
Developer
Posts: 2673
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: New support for @Vault folder

Post by Brian »

Active Colors wrote:1. How to safely move existing 3rd-party plugins to the @Vault folder?
Make sure the "Archive plugins to @Vault" is enabled in the settings tab of the Manage dialog.
https://docs.rainmeter.net/manual-beta/user-interface/manage/#SettingsTab

Find and install the rmskin(s) that contain the plugins you want to place in the vault. Uncheck all items in the components box. Click Install.
https://docs.rainmeter.net/manual-beta/distributing-skins/vault-folder/#VaultManually

Active Colors wrote:2. Does Rainmeter scan all sub-folders inside of @Vault folder for plugin files?
I am not sure I follow the question. This is not the location where plugins are installed - that is in the user's %AppData% folder. The purpose of the @Vault folder is a place for skin authors to place commonly packaged items for easy finding when making new rmskins - instead of hunting around the your filesystem for the items.

Active Colors wrote:3. If I place .ini file inside of the @Vault folder would it be possible to activate this skin?
Although you can technically do this with the current beta, this will be disabled in a future, so don't get used to it.

Active Colors wrote:4. If I put a file inside of the @Vault folder how do I write the address to this file? We can use #@# for files in @Resources folders, do you plan similar method for the @Vault folder? I would like to see this, maybe it could look like #&#.
No, this folder is (or will be) off limits as a skin folder (much like the @Backups folder). This folder is not a place for common items across root level skins. That is what @Resources is for. The @Vault folder is strictly a place to keep common items you will want to package with rmskins.


How this came about:
Rainmeter does not extract both 32 and 64 bit versions of a plugin. We only extract the same bitness of a plugin that matches the version of Rainmeter that is installed on the system. Once installed, if that user wants to include that plugin in their own rmskin, it is not clear where to get the other plugin since only 1 version is installed. Experienced users have gotten used to manually extracting plugins from rmskins. Lately we have encouraged plugin authors to include a set of their plugins and keep them in the @Resources folder of their "demonstration" skin included with the rmskin that has the plugin. However, that just means there is now a copy of each 32 and 64 plugin (a total of 4 plugin files). This can double the size of rmskins. So we thought it would be a good idea to just extract both plugins and keep them in a folder that is easily accessible for skin authors to find and include in their future rmskins.

-Brian
User avatar
Active Colors
Moderator
Posts: 1251
Joined: February 16th, 2012, 3:32 am
Location: Berlin, Germany
Contact:

Re: New support for @Vault folder

Post by Active Colors »

Brian wrote:Make sure the "Archive plugins to @Vault" is enabled in the settings tab of the Manage dialog.
https://docs.rainmeter.net/manual-beta/user-interface/manage/#SettingsTab

Find and install the rmskin(s) that contain the plugins you want to place in the vault. Uncheck all items in the components box. Click Install.
https://docs.rainmeter.net/manual-beta/@vault-folder/#VaultManually


I am not sure I follow the question. This is not the location where plugins are installed - that is in the user's %AppData% folder. The purpose of the @Vault folder is a place for skin authors to place commonly packaged items for easy finding when making new rmskins - instead of hunting around the your filesystem for the items.


Although you can technically do this with the current beta, this will be disabled in a future, so don't get used to it.


No, this folder is (or will be) off limits as a skin folder (much like the @Backups folder). This folder is not a place for common items across root level skins. That is what @Resources is for. The @Vault folder is strictly a place to keep common items you will want to package with rmskins.


How this came about:
Rainmeter does not extract both 32 and 64 bit versions of a plugin. We only extract the same bitness of a plugin that matches the version of Rainmeter that is installed on the system. Once installed, if that user wants to include that plugin in their own rmskin, it is not clear where to get the other plugin since only 1 version is installed. Experienced users have gotten used to manually extracting plugins from rmskins. Lately we have encouraged plugin authors to include a set of their plugins and keep them in the @Resources folder of their "demonstration" skin included with the rmskin that has the plugin. However, that just means there is now a copy of each 32 and 64 plugin (a total of 4 plugin files). This can double the size of rmskins. So we thought it would be a good idea to just extract both plugins and keep them in a folder that is easily accessible for skin authors to find and include in their future rmskins.

-Brian
From what you have said I can make a conclusion that the @Vault folder is pretty useless for accessing to by skins. Then my whole idea from the previous message is pointless. Thank you for the clarification.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New support for @Vault folder

Post by jsmorley »

I was obviously not clear enough on what @Vault is about.

It's not about running or directly using anything.
It's not something you can ever reference in a skin you distribute.

It's simply a standard place to store and find plugins that you might want to use in your skins. It's just a place to keep then so you can easily find them when you create a .rmskin.

It answers the age-old question, "where did I put that plugin again?"

So what makes it different than just using any folder, anywhere on your hard drive, for this? Why is Rainmeter getting involved in how you keep track of your stuff? What value does this bring?

When you create a .rmksin that uses 3rd-party plugins, part of that process is browsing to and selecting both the 32bit and 64bit versions of the plugin .dll file(s). You have to include both in your .rmskin.

So if you installed a .rmskin that used the Chameleon plugin, you have Chameleon.dll in your Plugins folder in %AppData%. However, that is just EITHER the 32bit or 64bit version, depending on your system. You won't have the other version anywhere. You would have to go find the original .rmskin you used to get Chameleon in the first place, rename it to .zip, and extract it to find the 32bit / 64bit folders that have the two .dll's you need. In addition, can you be sure that the Chameleon.dll(s) in that .rmskin are the latest version of the plugin?

So What Rainmeter now does is this:

When you install a .rmskin that has a 3rd-party plugin in it, Rainmeter will now automatically place copies of both the 32bit and 64bit .dll files in the @Vault\Plugins folder. It will also identify them by version number, so you always know where the latest version is.

Now when you create a new .rmskin, and want to use the Chameleon plugin, you simply browse to @Valut, and there it is. You can easily see the version, and easily find both 32bit and 64bit .dll's.

In addition:

I went back and installed a bunch of .rmskins I had installed in the past, in order to populate the @Vault\Plugins folder with plugins I already had. Just install them, but uncheck all the checkboxes so nothing is actually "installed". The only thing that will happen then is that the 32bit and 64bit versions of any 3rd-party plugins in them will be extracted to the right folders in @Vault\Plugins.
2.png
In the future, if I ever create a skin that uses any of those plugins, and want to create a .rmskin to distribute it, I know right where to go to find the correct 32bit and 64bit .dll files I need for the .rmskin.

And I know I'm using the right version of the plugin!
1.png
That is the goal of this feature. You can also store other things yourself in @Vault, be it fonts or images or sounds or anything else you use in your skins, That is entirely up to you. Since we support the @Valut folder anyway for this plugin feature, why not make use of it yourself. It can help with organizing your stuff if you want.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm
Contact:

Re: New support for @Vault folder

Post by SilverAzide »

jsmorley wrote:It's not about running or directly using anything.
It's not something you can ever reference in a skin you distribute.

It's simply a standard place to store and find plugins that you might want to use in your skins. It's just a place to keep then so you can easily find them when you create a .rmskin.
Hello,
I wonder if I can request a minor tweak to the skin packager in regard to this new feature. Just a minor annoyance...

When creating an .rmskin, the "Add Skin" dialog now includes the "@Vault" folder, and because the name sorts to the top, it's always the default first item in the list... even though it will never be a valid choice. Can the @Vault folder be automatically filtered from the list of skins?
Image1.png
User avatar
Brian
Developer
Posts: 2673
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: New support for @Vault folder

Post by Brian »

SilverAzide wrote:Can the @Vault folder be automatically filtered from the list of skins?
This has already been fixed for the next beta. Thank you for reporting.
https://github.com/rainmeter/rainmeter/commit/f3ea66fc8659dd399b209eaa883b02d5ed9fa7d9#diff-da763a6461fcda51aefee19177ce0f3bR588

-Brian
Post Reply