It is currently May 8th, 2024, 1:40 pm

Rainmeter thoughts...

Report bugs with the Rainmeter application and suggest features.
User avatar
Pandora
Posts: 24
Joined: November 4th, 2010, 2:23 pm
Location: East Coast, US

Rainmeter thoughts...

Post by Pandora »

Rainmeter thoughts..And just for the record, Kaelri influenced me to write this. So uh like..it's his fault. <points over yonder>.

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)
Assuming the above:

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
User avatar
Alex2539
Rainmeter Sage
Posts: 642
Joined: July 19th, 2009, 5:59 am
Location: Montreal, QC, Canada

Re: Rainmeter thoughts...

Post by Alex2539 »

Pandora wrote: 1. Link to a Rainmeter database, which contains user-generated content
We've actually already talked a lot about that. In the end we decided that allowing any and every skin to be feature on this site would require a vast amount of resources not available to us, and it would also require a fair amount of maintenance and moderation that we just aren't prepared for. There is also no point in reinventing the wheel when we already have sites like DeviantArt and Customize.org that do exactly this, only better than we would. This is not to say that we are completely against the idea though. Instead of hosting every skin ever made, we decided to feature a select few suites that we believe feature everything Rainmeter is capable of, are well made and of high quality and are regularly maintained by the authors. They are accessible by going to http://rainmeter.net/cms/Discover or as of version 1.4 by right-clicking the tray icon and choosing "downloads". There only three of them right now, but it may grow in the future.
Pandora wrote: 2. Build a new folder and file templates for a user built skin
Creating a new skin is literally as simple as creating a new folder within the Skins folder, creating a new .ini file within that folder then right-clicking the tray icon and choosing "Refresh All" so that Rainmeter sees it. There is really no reason to automate that. Any other files and folders are completely arbitrary and their organization can and should be left up to the skinner. In fact, I am somewhat against promoting suite creation by new users. Suites are generally very complicated and require a lot of work. If they are done sloppily or without care, they can be a huge pain for other people to use. For that reason it is best to start with single skins. Help with those is readily available in Rainmeter 101.
Pandora wrote: 3. Open the .pdf help file (Want me to build that?)
Older versions of Rainmeter actually came with a .chm manual that was opened when you clicked "Help" in the context menu. It was a mirror of the online manual. Our old process was to update the online manual, then we had an automated function that would copy it all into a downloadable .zip file so that it could be included with the next Rainmeter build and converted into a .chm. Eventually, the online manual was updated to the extend that it outgrew the capabilities of the .chm format so we decided to drop it instead of limiting ourselves. I fear that if you try to do what we did but with a .pdf file instead of a .chm file you will be in for more work than it is worth and will likely run into the same problems that we did. Also, the entire manual is available as a single page at either http://www.rainmeter.net/Manual or http://www.rainmeter.net/ManualBeta. This page is easily searched or exported to a .pdf file, though it is admittedly somewhat hidden.
ImageImageImageImage
User avatar
Pandora
Posts: 24
Joined: November 4th, 2010, 2:23 pm
Location: East Coast, US

Re: Rainmeter thoughts...

Post by Pandora »

Alex2539 wrote:I fear that if you try to do what we did but with a .pdf file instead of a .chm file you will be in for more work than it is worth and will likely run into the same problems that we did. Also, the entire manual is available as a single page at either http://www.rainmeter.net/Manual or http://www.rainmeter.net/ManualBeta. This page is easily searched or exported to a .pdf file, though it is admittedly somewhat hidden.
Oh, I've been there. Heh. It's tough when things are getting updated all the time. On the other hand, I'd have never even mentioned this if I knew about the single page manual's that you linked to here. Even after perusing most of both the beta and non-beta manuals, I was not aware of the single page versions per se. I suppose if I had ever bothered to click on the printer-friendly links I'd have known, heh. In any case, thanks for linking to them here :)

-Pandora
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Rainmeter thoughts...

Post by jsmorley »

1) I also don't think we want to host a growing and potentially endless amount of "user created" content like skins. We just don't have the resources for that, nor do we have the time to eliminate the good from the bad, duplicative efforts, etc.

2) While the manual is far from perfect it is getting better every day, and I don't think we need subsidiary efforts to put it in different formats and distribution methods that are only a ton of work and doomed to being out of date / sync in any case. Right now we have the organized "book" manual format in the CMS, and the full-page HTML vesions (automatically generated) that Alex points out.

3) I think having some kind of automation to create a skin "template" is not much point. A skin is both simultaneously the easiest thing in the world to create and something that is infinitely flexible in how a skin author can set it up. Any and all efforts toward standardizing how skins should be written, by trying to insist that folks use @Includes, MeterStyles, standard names for folders like "Images" and "StyleSheets" and such are, in my opinion, just a manifestation of the ego of one author or another who has found "the perfect way". There is no such thing, and that is the beauty of Rainmeter.

4) One thing I will say is that we can ALWAYS improve the way we support folks getting started with Rainmeter. For certain the Rainmeter 101 section of the manual is due both for an update and hopefully a bunch of improvement. That is a "book" today, and with some careful thought, a bit of creativity, and a fair amount of eyebrow knurling and eraser chewing could really be a much better starting point. It needs to be better divided into "using Rainmeter" and "making Rainmeter skins" sections, and provide a non-scary way to get a new user from pre-school to prom-night in Rainmeter.

These are some great thoughts and insights Pandy... I'm going to be hitting you on IRC to get more involved. I sense a really valuable resource here.

:D
User avatar
Pandora
Posts: 24
Joined: November 4th, 2010, 2:23 pm
Location: East Coast, US

Re: Rainmeter thoughts...

Post by Pandora »

In regards to the database, my thoughts concerning a database were not really leaning towards Suite files. The type of content I was thinking of was more along the lines of the minimal skins that are part of the Rainmeter 101 section, some of the code people suggest in the forums, and maybe an a-z example of very plain skins, from clocks to weather (not that weather skins are simple). Perhaps what could be done would be to allow people to submit a skin in a certain category, and once that category was filled, no other submissions would take place. If updates needed to be made, it would be the contributors’ responsibility. A database might be overkill, but something else might be both helpful, and easy to administrate.

In regards to the automation of files, of course I already know how simple it is to create a .ini file. If that was my sole concern, I'd have nothing to worry about. I have simple automation tools for many of the things I do on my computer. This saves me time, and if there are certain settings associated with something I like to do, they will not be lost if I don't touch a project for a while. Also, I'd certainly agree that new users should not be creating Rainmeter suites and sharing them with the public. Yes, they are complex and require large chunks of time. Not to mention, why would you bother, when there are so many excellent Suites out there right now, heh. However, if a user chooses to create a suite for their own use, who are we to care?

My opinions got in the way of my fingers, heh. And jsmorely makes a good point. Rainmaker users should not be forced into a specific type of file and folder format for Rainmaker skins. If I came across that way, me bad! The reason I brought this up is because someone new to Rainmeter might not be 100% of the way they CAN do things. And I faced this exact problem some two weeks ago. I was about to start working on a Rainmeter suite. I had several concerns. One being that over the course of the next 3-4 weeks, I'd be creating some 13 .inc files, and perhaps 11 .ini files. And I wanted each of those two file sets to be clean, organized, and as similar as possible to each other.

For example, each 11 .ini files will need multiple lines of the same code. So I created a template file with that code, and now I can create my .ini files from that template file. At the same time, I wanted to get this process down, and not have to do the entire process again in the event I made some big mistake. Fortunately, I came across an excellent Rainmeter suite to use an example of what was possible, and I moved on with my project.

As for the Documentation area, I believe that an improved Rainmeter 101 section is a good idea. I went through the first two tutorials, and gained some great practical experience. I always read up on something new, and did with Rainmeter. However I still had to download a ton of Suites to get my hands on specific skins that would show me examples of certain code.

jsmorely, your welcome to hit me up on IRC. I haven't been connected to the chatroom lately, but planned to be on a bit more then I have starting this week.

-Pandora
User avatar
Chewtoy
Moderator
Posts: 995
Joined: June 10th, 2009, 12:44 pm
Location: Sweden

Re: Rainmeter thoughts...

Post by Chewtoy »

I agree with what everyone has pretty much already said.
Database - overkill as it is now.

Standardization - might hamper the creativity of some and might have a scary effect on new users: "Create a skin? Nice! *click* OHSHI*! I need to do a lot!"

PDF - I'm not against it, but we do have the single page manual. But if you feel like there should be a PDF, there is really no stopping you. And if it turns out to be real awesome, it just might get adopted. Don't get your hopes up though, js is mean. ;)

Updating 101 - Oh yes. That would probably be a very good idea. We talked about this some time ago. Thinking about making a 101 that demonstrated EVERYTHING. This was put in the manual instead. But making some more tutorials and organizing it better is not a bad idea at all.
I don't think, therefore I'm not.