It is currently April 28th, 2024, 12:19 am

[Suggestion] Settings

Report bugs with the Rainmeter application and suggest features.
Alex Becherer

[Suggestion] Settings

Post by Alex Becherer »

a thought:

right now a user has to apply settings as colors, passwords etc. either directly in the skin or in a variables.inc file. there have been great efforts by skinners providing settings skins with really sophisticated interfaces and even third party apps to make this easier.

still, this is a workaround and not really how it should be. in my opinion this should be done by Rainmeter itself. here's my idea how this could look like:

first of all: leave the variables as they are. no need to break compatibility. i am thinking of a second set of variables that can be altered by a gui.

a skin has two new entries in it's context menu. "Theme Settings" and "Skin Settings". these entries are available when the corresponding settings files are provided by the skinner. else they are greyed out. let's call these files "theme.set" in the skin's root directory and "skin.set" in the skin's directory.

here's how such a file could look like:

Code: Select all


[SettingA]
Setting=Color
SettingTitle="Headline Color"
SettingDescription="Choose the color of the skin's headline here."
SettingDefault=FF00AA
SettingValue=BECCCC

; so here we have a color picker (provided by the Windows api)
; there is a SettingDefault value. it's there because the gui does not only have "Apply" and "Cancel" but also "Restore defaults".
; SettingValue finally is the value the user has chosen. this is the part that is changed by the gui, before it refreshes the skin. or refreshes all, if the user is working on the theme settings.


[SettingB]
Setting=File
SettingTitle="User Portrait"
SettingDescription="Choose a picture of your face here."
SettingDefault=#@#images\defaultportrait.png
SettingValue="c:\users\alex\pictures\portrait.png"

; here we have a file picker provided by the Windows api.


[SettingC]
Setting=Folder
SettingTitle="Your Gallery Folder"
SettingDescription="Choose a folder with pictures that should be displayed randomly."
SettingDefault="c:\users\%username%\pictures\"
SettingValue="c:\users\alex\pictures\India 2012\"

; here we have a folder picker provided by the Windows api.


[SettingD]
Setting=List
SettingTitle="Skin Background"
SettingDescription="Which background would you like to use?"
SettingOptions="wood","metal","plastic bag"
SettingDefault="wood"
SettingValue="wood"

; here we have a dropdown menu.


[SettingE]
Setting=List
SettingTitle="Month"
SettingDescription=""
SettingOptions="January","February","March", ....
SettingDefault="April"
SettingValue="May"
Substitute="January":"1","February":"2", ....

; here we have another dropdown menu.
; maybe we need numbers in the skin instead of names. that's why we have Substitute.


[SettingF]
Setting=Numbers
SettingTitle="Year"
SettingDescription=""
SettingOptions=1980,2040
SettingDefault="2012"
SettingValue="2012"

; here we have a third dropdown menu, but this time with numbers.
; as we are lazy and do not want to type down all the available numbers we have the range of available choices defined in SettingsOptions. first is the lowest, second is the highest number.


[SettingG]
Setting=String
SettingTitle="Twitter Password"
SettingDescription="Your Twitter password goes here."
SettingDefault="password"
SettingValue="qwert"

; here the user has to enter a string.


we use settings in the skin the same way as we use variables. (#SettingA").
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: [Suggestion] Settings

Post by jsmorley »

I disagree. This is really NOT Rainmeter's job. Rainmeter is a tool for creating skins. It has no role to play, nor should it, in determining how an author should design their skins or how the user interacts with it.

We have talked about this in the past, and it is just not what Rainmeter is all about. Any "common / shared" variables set by some built-in GUI will 1) cause conflicts, 2) never be comprehensive enough to support the unlimited flexibility of how Rainmeter skins can be designed. and 3) a horrible lowest-common-denominator solution.

Authors today have a wide range of options for how "user friendly" they want to make setting variables for things like fonts and sizes and gmail info and rss feeds and weather location codes. Most skins simply need a variable or two set in the [Variables] section of the .ini, some are better managed with an @Include file, and others are robust enough that the author has seen fit to provide some method of input for the user.

We have no interest in trying to find some "one size fits all solution" for this, as "one size fits all" is in almost all cases exactly what Rainmeter isn't.
Alex Becherer

Re: [Suggestion] Settings

Post by Alex Becherer »

fair enough.

just to clarify: i was not thinking of replacing anything, but rather about an additional option to have an easier way of changing variables.
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Re: [Suggestion] Settings

Post by Kaelri »

I tend to agree with Jeff. I do not see it as a "workaround" that skin authors have built their own methods for changing user settings. On the contrary, as a skinner, I value the ability to design my own GUI, to make it consistent with my skins' visual style and tailor it to my specific needs.

Rainmeter is a platform. As an application, its only purpose is to 1) make skins work, and 2) help users manage their skins. Much like a web browser, I think Rainmeter is at its best when you forget that it's there, and your focus is wholly on the skins themselves. To take that analogy further, you could say skins are like websites. They're all built on the same foundations - HTML for them, INI/Lua for us - but otherwise, the user experience of each site/skin is unique. I believe that is as it should be.