It is currently September 15th, 2019, 8:57 pm

"Make It Rain"meter

Post your work-in-progress and completed skins to share and discuss.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3536
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

"Make It Rain"meter

eclectic-tech » August 8th, 2019, 7:40 pm

makeitrain64.png
"Make It Rain"meter

Sometimes you would like to hide all active Rainmeter skins so they don't interfere with your desktop.
So here is a set of 4 Rainmeter Icon skins that let you toggle all active skin using any variation:
  • 'MakeItRain-Left.ini' ~ Single Left Mouse Click Action to Toggle All Skins
  • 'MakeItRain-Middle.ini' ~ Single Middle Mouse Click Action to Toggle All Skins
  • 'MakeItRain-Hover.ini' ~ Mouse Leave Action to Toggle All Skins
  • 'MakeItRain-Scroll.ini' ~ Mouse Scroll Up Action to Show All Skins/Scroll Down Action to Hide All Skins
Uses 256 pixel Rainmeter icon image and default scale is 0.0625 to match Windows 10 notification icon size
Icon size can be controlled by changing the "Scale" variable in the skins.

Should work with any version of Rainmeter 4.1 or higher due to using "nested" variables. :Whistle

History
V 1.2019.08.08b
Added 4 variants that use Red/Green Icons (To distinguish this Icon from the default Rainmeter Notification Icon)
The Icon will be RED when the action will hide all skins and GREEN when the action will show all skins

V 1.2019.08.08a
Modified default scale to match notification area icon size
Added scale size suggestions in the skin
You do not have the required permissions to view the files attached to this post.
User avatar
Active Colors
Moderator
Posts: 528
Joined: February 16th, 2012, 3:32 am

Re: "Make It Rain"meter

Active Colors » August 9th, 2019, 8:47 am

Wow, works seamlessly. Pretty neat, ET.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3536
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: "Make It Rain"meter

eclectic-tech » August 10th, 2019, 1:05 am

Active Colors wrote:
August 9th, 2019, 8:47 am
Wow, works seamlessly. Pretty neat, ET.
Thanks AC!
dfghrngsdkg
Posts: 15
Joined: February 16th, 2019, 8:40 pm

Re: "Make It Rain"meter

dfghrngsdkg » September 13th, 2019, 11:28 am

Hello and Thank you for this nice little Meter.

Just one question: Is it possible to hide/show (toggle on/off) individual meter instead to hide/show all meter? If so, what do I have to do, how must the code look/be like in this specific meter of yours?

I ask because I came across different threads with different suggestions e.g. Some say something like that a: "Group=HideSkin" has to be placed additionally into the Rainmeter.ini, some say that this Group=HideSkin has to be placed -sometimes additionally to the Rainmeter.ini- into each of the active skin's .ini and so fort, so now I am confused about the right way to get it done.

With kind regards,
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3536
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: "Make It Rain"meter

eclectic-tech » September 13th, 2019, 1:04 pm

dfghrngsdkg wrote:
September 13th, 2019, 11:28 am
Hello and Thank you for this nice little Meter.

Just one question: Is it possible to hide/show (toggle on/off) individual meter instead to hide/show all meter? If so, what do I have to do, how must the code look/be like in this specific meter of yours?
Yes. Groups can be used to define skins, meters, or measures. The advantage of groups is being able to control multiple items (skins, meters, or measures) using a single group action bang instead of having to specify and take the action on each item. My skin does not use grouping (per say), it takes advantage of the asterisk character (*) which refers to "all items" when used in an action bang.

As an example, here is the code for a simple 3 "page" skin which uses groups to define meters.
3page.gif
Look at the group definitions to see how they are applied to meters and used in action bangs to control the display.

Code: Select all

[Rainmeter]
Update=1000
AccurateText=1
DynamicWindowSize=1
Group=#RootConfig#
; DefaultUpdateDivider=
SkinWidth=420
SkinHeight=120
OnRefreshAction=[!HideMeterGroup Page][!ShowMeterGroup Page1]

; Background=
BackgroundMode=2
SolidColor=220,220,220,210

; ========= Metadata ==========
[Metadata]
Name=
Author=
Information=
License=Creative Commons Share-Alike NC 4
Version=

; ========= Variables ==========
[Variables]
SetPage=Page3


; ========= Top Menu Meters ==========

[MeterPage1]
Meter=String
Text=Page1
SolidColor=0,0,0,1
Padding=10,5,5,10
LeftMouseUpAction=[!SetVariable SetPage Page1][!WriteKeyValue Variables SetPage Page1][!HideMeterGroup Page][!ShowMeterGroup Page1][!UpdateMeter *][!Redraw]
InlineSetting=Weight | 600

[MeterPage2]
Meter=String
X=120R
Text=Page2
SolidColor=0,0,0,1
Padding=10,5,5,10
LeftMouseUpAction=[!SetVariable SetPage Page2][!WriteKeyValue Variables SetPage Page2][!HideMeterGroup Page][!ShowMeterGroup Page2][!UpdateMeter *][!Redraw]
InlineSetting=Weight | 600

[MeterPage3]
Meter=String
Text=Page3
X=120R
SolidColor=0,0,0,1
Padding=10,5,5,10
LeftMouseUpAction=[!SetVariable SetPage Page3][!WriteKeyValue Variables SetPage Page3][!HideMeterGroup Page][!ShowMeterGroup Page3][!UpdateMeter *][!Redraw]
InlineSetting=Weight | 600

; ========= Page1 Meters ==========
[MeterPage1Text]
Group=Page | Page1
Hidden=1
Meter=String
SolidColor=0,0,0,1
Y=24
Padding=10,5,10,10
Text="This is page one of a three page skin.#CRLF##CRLF#You can use this as a template to have a multiple page skin.#CRLF#Separate pages allow you to put similar items on each page, #CRLF#expressing a different style on each."


; ========= Page2 Meters ==========
[MeterPage2Text]
Group=Page | Page2
Hidden=1
Meter=String
SolidColor=0,0,0,1
Y=24
Padding=10,5,10,10
Text="This is page two of a three page skin.#CRLF##CRLF#You can use this as a template to have a multiple page skin. #CRLF##CRLF#Separate pages allow you to put similar items on each page."
InlineSetting=Oblique


; ========= Page3 Meters ==========
[MeterPage3Text]
Group=Page | Page3
Hidden=1
Meter=String
Y=24
SolidColor=0,0,0,1
Padding=10,5,10,10
Text="This is page three of a three page skin.#CRLF##CRLF#You can use this as a template to have a multiple page skin. #CRLF##CRLF#Separate pages allow you to express a different style on each."
InlineSetting=Color | 64,64,64

dfghrngsdkg wrote:I ask because I came across different threads with different suggestions e.g. Some say something like that a: "Group=HideSkin" has to be placed additionally into the Rainmeter.ini, some say that this Group=HideSkin has to be placed -sometimes additionally to the Rainmeter.ini- into each of the active skin's .ini and so fort, so now I am confused about the right way to get it done.

With kind regards,
All of those methods will do the same thing; they create groups of skins. Normally, this is done by adding the group definition in the [Rainmeter] section of the skin when you create it:

Code: Select all

[Rainmeter]
Update=1000
AccurateText=1
Group=Group1 | Group2
The "section" that includes the "Group=..." definition determines if it is defining a group of skins (when added to the [Rainmeter] section), a group of meters (when added to a meter sections), or a group of measures (when added to a measure sections).

Look through the info here and in the manual and ask any questions you may still have...
You do not have the required permissions to view the files attached to this post.
dfghrngsdkg
Posts: 15
Joined: February 16th, 2019, 8:40 pm

Re: "Make It Rain"meter

dfghrngsdkg » September 13th, 2019, 4:00 pm

Hey,

I see. So for example (based on this code) if I want to hide the "IllustroClock" I have to first:

Code: Select all

[Rainmeter]
Update=-1
AccurateText=1
Group=#RootConfig#
DynamicWindowSize=1
SkinWidth=(181*#Scale#)
SkinHeight=(256*#Scale#)
;OnRefreshAction=[!ZPos +2]

OnRefreshAction=[!HideMeterGroup Group1][!ShowMeterGroup Group1]

;BackgroundMode=2
;SolidColor=150,150,150,150

; Hide/Show various Skins
LeftMouseUpAction=[!WriteKeyValue Variables Action (1-#Action#)][!SetOption Meter OnUpdateAction [#Action[#Action]]][!UpdateMeter Meter][!Redraw][!Refresh #CurrentConfig#]

; ========= Metadata ==========
[Metadata]
Name=ToggleAll-Left
Author=Eclectic Tech
Information=An Icon that when you press the left mouse button will toggle hide/show all active skins.
License=Creative Commons Share-Alike NC 4
Version=1.2019.08.08b

; ========= Variables ==========
[Variables]
Scale=0.1
; Scale Suggested Sizes
; Scale 0.0625 will match notification area icon size
; Scale 0.0625 will also match Windows 10 small taskbar icon size
; Scale 0.1 will match Windows 10 taskbar size

; DO NOT EDIT THESE
Action=0
Action1=[!Hide *][!Show "#CurrentConfig#"][!Redraw]
Action0=[!Show *][!Redraw]

;Action1=[!Hide][!Show "#CurrentConfig#"][!Redraw]  << here I thought I have to remove the asterix and replace: CurrentConfig with "Group1" ?
;Action0=[!Show *][!Redraw]

; ========= Meters ==========

[Meter]
Meter=Image
ImageName=#@#Images\Graph_II.png
; ImageName=#@#Images\Rainstaller_256
; Alternate "Green" Icon
SolidColor=0,0,0,1
OnUpdateAction=[#Action[#Action]]
TransformationMatrix=#Scale#;0;0;#Scale#;0;0
DynamicVariables=1


[MeterIllustroClock]
Group=Group1
Hidden=1
Meter=String
And after that I have to add: "Group=Group1" right under the IllustroClock's Rainmeter.ini:

Code: Select all

[Rainmeter]
; This section contains general settings that can be used to change how Rainmeter behaves.
Update=1000
Background=#@#Background.png
; #@# is equal to Rainmeter\Skins\illustro\@Resources
BackgroundMode=3
BackgroundMargins=0,34,0,14
Group=Group1
to trigger the whole clock to disappear, right?

I tried it but seems I failed, and sorry to say but I am a true noob when it comes to Rainmeter. Firmly new to it and coding in general.

with kind regards,
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3536
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: "Make It Rain"meter

eclectic-tech » September 13th, 2019, 4:54 pm

Not quite...

You cannot use my ShowAll/HideAll skin because that toggles ALL SKIN EXCEPT ITSELF, so any meter you add to that will still show.

Defining a skin, meter, or measure as belonging to a group does not, in and of itself, do anything; you need to use Action Bangs to affect the groups.

I would suggest looking at the simple 3-page menu I posted and play with that code to see how defined groups are acted on by different bangs: OnRefreshAction=... and LeftMouseUpAction=... in the skin.

That example hides and show meter groups.

illustro\clock Toggle

You appear to want to hide/show entire skins. So for the illustro\clock skin, add the group definition to the [Rainmeter] section of illustro\clock in a text editor and save the file.

Code: Select all

[Rainmeter]
; This section contains general settings that can be used to change how Rainmeter behaves.
Update=1000
AccurateText=1
; 210x68
Background=#@#Background.png
; #@# is equal to Rainmeter\Skins\illustro\@Resources
BackgroundMode=3
BackgroundMargins=0,34,0,14
Group=MyToggleSkinGroup
Note that the group name can any unique name you want to use. Now create a new skin that will be used to toggle the "MyToggleSkinGroup" skin(s).

Code: Select all

[ToggleMySkins]
Meter=String
SolidColor=100,100,100,100
Padding=8,8,8,8
FontColor=255,255,255
Text="Toggle Skins"
LeftMouseUpAction=[!ToggleGroup "MyToggleSkinGroup"]
Save this code as a new "toggleskin.ini" in a separate folder under Skins.
Refresh All in Rainmeter.
Load the "illustro\clock" skin and load "toggleskin.ini" you created.
(Note that !ToggleGroup will not activate skins, it simply toggles visibility of loaded skins in that group.)

Now when you click on the text "Toggle Skins", the illustro\clock skin will hide/show on each click. You can add other skins to your "MyToggleSkinGroup" by adding Group=MyToggleSkinGroup to the [Rainmeter] section of the skin(s) and save/refresh.

More info on Group Skin Bangs

Try this and see if you succeed...