It is currently September 19th, 2024, 3:10 pm

Show Skin On Mouseover

Get help with creating, editing & fixing problems with skins
Hashim
Posts: 11
Joined: October 20th, 2011, 4:59 pm

Show Skin On Mouseover

Post by Hashim »

Hi there. :)

Okay, the title is pretty self-explanatory, what I want to do is have a skin completely hidden from the start, but when you roll over where it is with the mouse, it shows up. I want to do this with just some commands within the skin, no methods that involve switching between .ini files really - how would I do this? :)

Thanks in advance to whoever can help me out here, it's much appreciated. :rosegift:
User avatar
jsmorley
Developer
Posts: 22746
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Show Skin On Mouseover

Post by jsmorley »

Use the Rainmeter tray icon context menu and "Edit Settings". Find the section for your skin, and add the lines:

HideOnMouseOver=2
FadeDuration=0
AlphaValue=1

Then save and "Refresh All".

Now your skin will be invisible until you mouse over it. It will go invisible again when you mouse away from it.

The amount of "fade" effect for the transition is controlled by FadeDuration, which can be anything from 0-255 (0 instant, 255 slow).
Hashim
Posts: 11
Joined: October 20th, 2011, 4:59 pm

Re: Show Skin On Mouseover

Post by Hashim »

jsmorley wrote:Use the Rainmeter tray icon context menu and "Edit Settings". Find the section for your skin, and add the lines:

HideOnMouseOver=2
FadeDuration=0
AlphaValue=1

Then save and "Refresh All".

Now your skin will be invisible until you mouse over it. It will go invisible again when you mouse away from it.
Beautiful, never knew it would be as simple as changing 3 variables. :D Are those variables basically default RM variables which every skin has, then?

I personally had assumed the way to do it was via bangs within the skin itself, and had been trying to add these lines of code into the [RAINMETER] section of the skin:

Code: Select all

MouseLeaveAction=!SetTransparency[0]
MouseOverAction=!SetTransparency[255]
I'm the type that likes to know how things work, though, and why things don't, especially when it comes to coding - would you please be kind enough to explain why the above code I used DIDN'T work? I had assumed it would, seemed good enough. :?
The amount of "fade" effect for the transition is controlled by FadeDuration, which can be anything from 0-255 (0 instant, 255 slow).
About this, just tested and values over 255 do actually work - tried 1000 and it took around a second to fade in/out.

And whilst we're on that subject, do you know if it is possible to change the fading in and fading out seperately somehow, so I can have different delay values for both?
User avatar
jsmorley
Developer
Posts: 22746
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Show Skin On Mouseover

Post by jsmorley »

Sure, you actually could use

[Rainmeter]
MouseOverAction=!SetTransparency 255
MouseLeaveAction=!SetTransparency 1

In the skin .ini itself instead, it works as well. I sorta leaned toward the setting in Rainmeter.ini, as it is the only way that has the "fade" effect, and why not...

I wasn't aware you could go slower than 255 on FadeDuration, just never tried it I guess. Good to know. As to seeing different speeds for "fade in / fade out", no. There is only one FadeDuration setting.
Hashim
Posts: 11
Joined: October 20th, 2011, 4:59 pm

Re: Show Skin On Mouseover

Post by Hashim »

jsmorley wrote:Sure, you actually could use

[Rainmeter]
MouseOverAction=!SetTransparency 255
MouseLeaveAction=!SetTransparency 1

In the skin .ini itself instead, it works as well. I sorta leaned toward the setting in Rainmeter.ini, as it is the only way that has the "fade" effect, and why not...

I wasn't aware you could go slower than 255 on FadeDuration, just never tried it I guess. Good to know. As to seeing different speeds for "fade in / fade out", no. There is only one FadeDuration setting.
Ah right, ok, turns out the only problem was it couldn't be a 0 for MouseLeaveAction. Glad I came so close to figuring it out, though. :D And yeah, the fade effect is great, looks a lot better with it rather than just an instant switch between visible and hidden.

Ah well, that's a shame, would have been nice to be able to edit the two independently of each other - still, looks great working as it is. Thanks for all your help jsmorley. :)

Btw, one last thing - I noticed that there is an option in the settings of each skin called Hide On Mouse Over. Does anyone know whether there's a way I can (permanently) make the HideOnMouseOver=2 setting in the Rainmeter Settings file to be a settable option in that dropdown menu just like the other one already is? Can it be done?
User avatar
jsmorley
Developer
Posts: 22746
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Show Skin On Mouseover

Post by jsmorley »

Hashim wrote: Btw, one last thing - I noticed that there is an option in the settings of each skin called Hide On Mouse Over. Does anyone know whether there's a way I can (permanently) make the HideOnMouseOver=2 setting in the Rainmeter Settings file to be a settable option in that dropdown menu just like the other one already is? Can it be done?
When you say "dropdown menu", do you mean the setting in the "Manage" application for Rainmeter? If so, you can set HideOnMouseOver using the "On hover" setting in "Manage", and the starting "AlphaValue" with the "Transparency" pulldown menu just above "On hover". Unfortunately, the setting for Transparency is a "selection" rather than a field you can fill in, so if you want a value other than the ones offered (like my example of AlphaValue=1 above) then you need to edit it manually. The only thing you can't change at all in the tool, and can only do manually, is the FadeDuration setting. I believe it is set to FadeDuration=250 automatically when HideOnMouseOver is set, but can only be changed manually.
Hashim
Posts: 11
Joined: October 20th, 2011, 4:59 pm

Re: Show Skin On Mouseover

Post by Hashim »

jsmorley wrote: When you say "dropdown menu", do you mean the setting in the "Manage" application for Rainmeter? If so, you can set HideOnMouseOver using the "On hover" setting in "Manage", and the starting "AlphaValue" with the "Transparency" pulldown menu just above "On hover". Unfortunately, the setting for Transparency is a "selection" rather than a field you can fill in, so if you want a value other than the ones offered (like my example of AlphaValue=1 above) then you need to edit it manually. The only thing you can't change at all in the tool, and can only do manually, is the FadeDuration setting. I believe it is set to FadeDuration=250 automatically when HideOnMouseOver is set, but can only be changed manually.
By dropdown menu, I mean the "rollover" or pulldown menu that each individual skin has, in which there is a settings section:

Image

There's an option there, highlighted in the screenshot, which says "Hide On Mouse Over". When set, this hides the skin when you roll the mouse over it, the opposite of what we want to achieve. My question was, is there any way to make HideOnMouseOver=2 setting in the Rainmeter Settings text file an option in that menu just like Hide On Mouse Over is there, and call it Show On Mouse Over? Because as you can imagine, it would be much easier to set the option via a pulldown menu like that for each skin every time, as opposed to manually entering the "HideOnMouseOver=2" line to every skin in the Rainmeter Settings text file every time.

Sorry if that sounded confusing, I hope you get what I'm trying to say. :D
User avatar
jsmorley
Developer
Posts: 22746
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Show Skin On Mouseover

Post by jsmorley »

There is only one setting in Rainmeter.ini for that. It is just "HideOnMouseOver". It supports values of 0/1/2. Context menus really don't support "pulldown" options that would allow you to select one of the three values, so the way it works now is that "checking / unchecking" the option toggles between "0" and "1". The only way could support what you want would be to have "Hide on mouse over" be a parent item, and add a secondary list with "None / Fade in / Fade out", much like "Transparency" and "Position" work now.

I will point out this suggestion to the folks who do that kind of code, and see what can be done. To be honest, this is not an option that is used all that often by folks and can already be set for a skin in "Manage" today, so I can't promise that it will have a terribly high priority.
Hashim
Posts: 11
Joined: October 20th, 2011, 4:59 pm

Re: Show Skin On Mouseover

Post by Hashim »

jsmorley wrote:There is only one setting in Rainmeter.ini for that. It is just "HideOnMouseOver". It supports values of 0/1/2. Context menus really don't support "pulldown" options that would allow you to select one of the three values, so the way it works now is that "checking / unchecking" the option toggles between "0" and "1". The only way could support what you want would be to have "Hide on mouse over" be a parent item, and add a secondary list with "None / Fade in / Fade out", much like "Transparency" and "Position" work now.

I will point out this suggestion to the folks who do that kind of code, and see what can be done. To be honest, this is not an option that is used all that often by folks and can already be set for a skin in "Manage" today, so I can't promise that it will have a terribly high priority.
That sounds exactly what I'm looking for, and thanks, it would be great if you could do that. :)

If possible, could you also arrange somehow that an option of 1% for Transparency is added into the list of options for it, and FadeDuration also added as a seperate parent item in which, when you click on it, you can change it via typing a value? With all three changeable via that pulldown menu, there would be no need to edit the main Rainmeter Settings file to edit values anymore, which would really be perfect.

I get what you mean by it not having very high priority, but to be honest, I think the reason the Fade In/Fade Out option is not very popular atm is because it is not well-known - I certainly never knew of it before you told me it needed to be edited manually, and I doubt others do unless told about it in the same way. But once people know it can be done, I am confident it will rise in popularity a lot, and become a very very useful and popular feature, especially so if it can be done simply via changing a few menu options. Everyone nowadays knows that minimal desktop - a desktop with nothing or hardly anything on it - looks great, and is also a lot more productive and easier to work with than one that is cluttered with skins and widgets, etc. To have the option to hide RM skins until and when you need them, leaving your desktop otherwise clutter-free and clean, is a feature I'm sure many will appreciate and love. :)
User avatar
jsmorley
Developer
Posts: 22746
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Show Skin On Mouseover

Post by jsmorley »

I would lean more toward just removing these setting entirely from the context menu, and improve support for them in the "Manage" tool, where you can work in an environment that support the kind of flexibility you want. You really just can't have an item you can "type into" in a context menu, it just isn't supported. So all three settings, HideOnMouseOver, AlphaValue and especially FadeDuration, are difficult to implement in a context menu in a way that allows the kind of granular settings that they should really support. In addition, they really should be managed together in some logical way as they are related. In the Manage panel, the items could easily support both pulldowns and free form input fields, and is probably the best and in some ways the only way to support these correctly.

Rather than support these settings in a half-baked way in the context menu, I'd rather see it done correctly where it can be.