What follows is a somewhat organized view on various thoughts I've had about Rainmeter. I understand that anything outlined in this post would or will require much coding by the developers, so this is more of a "gosh this would be cool" type post, rather then a proposal for Rainmeter 1.6
Out of the "box", Rainmeter could:
1. Link to a Rainmeter database, which contains user-generated content
2. Build a new folder and file templates for a user built skin
3. Open the .pdf help file (Want me to build that?)
1. Rainmeter Database
Enhance the Documentation area of the website by having a Resources area, perhaps via the Downloads area of the site, as well as accessible from WITHIN the main Rainmeter application. This resource area would be a user-driven repository of freely shared code, as well as all the code contained in the Documentation area, etc. Obviously the database would be searchable.
2. Folders and Templates
This would be a terrific way to help users new to Rainmeter, but it would also vastly improve the current file and folder structure used by people creating new skins and suites.
Making a new Rainmeter skin can be daunting for folks who are not coders by nature. Several things could be "built-in" to make that beginning process easier. It would also vastly improve the current file and folder structure used by people creating new skins and suites, as everything would always be in the same place, etc. Basically, this is a cookie-cutter type idea that goes along with ideas that would be used to build the Database.
Currently, a skin will generally rely on all or some of the below:
- The skin .ini file (code)
The skin . inc file (code)
The skin graphic files (graphic files such as backgrounds and icons)
Allow a user to select an option from the main Rainmeter Menu: Create New Skin / Suite
This would bring up a window that would ask them to name the directory they want to place the
new files in, and would then create certain new folders and files within that directory based on the user inputs about skin name, skin category, skin description, etc.
Once the folders are created, Rainmeter would also create "template" files that would contain
certain code to get people started. In addition, this would allow for a level of "standardization" that, moving forward, would improve the RM community at large. And make the database happy, heh.
An example of files and folders created by Rainmeter when the Create New Skin / Suite option is used:
Folders
My_Systems_Skin (main folder for Skin or Suite)
Module Folder - Skin/Suite ini file(s)
system.ini - Created by Rainmeter when the Create New Skin process is started. More on .ini standard optimization below. If this was a Suite, obviously additional folders for each skin might need to be created by the user, as needed.
Resources Folder - Contains folders associated with the skin, but not the skin .ini file itself.
Within the Resources Folder, these sub-folders:
Images Folder - Holds any and all images associated with the skin. Depending on the complexity of the skin, this folder may contain sub-folders.
Styles Folder - Holds the stylesheets (.inc files) associated with the each skin.
system.inc - At the very least, Rainmeter would create this system.inc file, which contains the style settings for the skin.
Variables Folder - Contains the UserVariables.inc file, along with other files associated with the skin.
Other Folders - Did I forget anything?
Files
Skin .ini file - File created by Rainmeter, and filled with user and common code based on the user input during the creation process as outlined above. The main ini file should contain these clearly marked (with header text) sections:
- Rainmeter: This section should contain both the absolute minimum code, along with a bunch of common settings that the user can use or delete at will.
Metadata: All the usual Meta data lines.
Variables: This section would include at the very least, a line leading to the skin .inc file that Rainmeter created during the creation process as outlined above.
Measures: This section is obviously not going to contain much except the section header, but maybe someone could make some suggestions about how to get Rainmeter to add something helpful.
Meters: (see above comment about Measures)
Skin .inc file - A stylesheet file created by Rainmeter, and filled with user and common code based on the user input during the creation process as outlined above. Could include various color and font selections based on user input during the creation process.
Stylesheet Sections
While stylesheets do not yet seem to be commonly used by Rainmeter coders, I feel that standardization in this area would not only be highly efficient. Also, there is the database to consider, the Rainmeter "Create A Skin" process, and obvious benefits to anyone wanting to make quick changes to a skin. If you have not yet used a stylesheet, you don't know what you’re missing.
Stylesheets normally contain all the [Style_Whatever] code that controls the skins fonts, colors, etc.
In regards to suites, one could have a fonts and colors .inc file for all Skins in the Suite, and then each individual Skin would have its own specific .inc file.
Example: Want to update the entire skin font from Acme to Ariel? Update the suite.inc file. Want to change the background of all the skins from pink to puce? Update the suite.inc file. Or maybe you just want to make a few tweaks to the highlight colors in your Calendar skin. That's where the calender.inc file comes in handy.
I'm still noodling over the best way to build a stylesheet, but generally, specific variables come in first, and then after that, specific styles. Section headers would depend on factors I'm not quite clear on yet.
3. Help File
Currently "help" is available via the Documentation area (which, imho is quite nice already), but also
the forums, and the irc chatroom. Sometimes however, one likes to just fire up a file on one’s own computer, and search for various topics. At the moment, this does not appear to be possible. While building a Windows compatible help file is beyond me, I could create a nifty .pdf help file, which would be searchable, and could include screenshots to the 'nth degree. I've some professional experience in that area. Just a thought
Sorry about the length!
-Pandora