It is currently November 15th, 2019, 11:23 am

IsFullScreen 3.0

Plugins and Addons popular with the Community
gran172
Posts: 16
Joined: May 16th, 2019, 3:51 am

Re: IsFullScreen 3.0

gran172 » June 4th, 2019, 12:04 am

Virginityrocks wrote:
June 3rd, 2019, 11:10 pm
This is what I would do:

Code: Select all

[MeasureIsFullScreen]
Measure=Plugin
Plugin=IsFullScreen
IfCondition=MeasureIsFullScreen=1
IfTrueAction=[!EnableMeasure CheckProcess]

[CheckProcess]
Measure=String
String=[MeasureIsFullScreen]
IfNotMatch=Explorer.EXE
IfNotMatchAction=[!DeactivateConfig ***YOUR CONFIGS***][!DisableMeasure #CURRENTSECTION#]
IfMatch=Explorer.EXE
IfMatchAction=[!DisableMeasure #CURRENTSECTION#]
Disabled=1
Hey man, unfortunately that didn't seem to work for me, here's how my .ini file looks like (hope I'm doing this alright,I'm new to the forums :P)

Code: Select all

[Rainmeter]
Update=1000

[Metadata]
Author=GlobTwo
Information=This skin uses JSMorley's IsFullScreen plugin to switch skins on and off during gaming. Or fullscreen Youtube. Or anything running in fullscreen.

;=====MEASURES=====

; You can cut and paste the section below into any skin, but it must stay open during fullscreen.
; In other words, don't put this into a skin you intend to automatically turn off.

[FullscreenCheck]
Measure=Plugin
Plugin=IsFullScreen
IfEqualValue=1
; Here is where you specify which skins to activate/deactivate. Be sure to add skins to both this list and the activation list below. Check your skins folders for the correct names.
IfEqualAction=[!DeactivateConfig "Sawny"][!DeactivateConfig "Just A Bin"][!DeactivateConfig "Phenix"][!DeactivateConfig "Simplony"][!DeactivateConfig "TranslucentTaskbar"][!DeactivateConfig "VolumeControl"]
IfBelowValue=1
IfBelowAction=[!ActivateConfig "Sawny"][!ActivateConfig "Just A Bin"][!ActivateConfig "Phenix"][!ActivateConfig "Simplony"][!ActivateConfig "TranslucentTaskbar"][!ActivateConfig "VolumeControl"]

[MeasureIsFullScreen]
Measure=Plugin
Plugin=IsFullScreen
IfCondition=MeasureIsFullScreen=1
IfTrueAction=[!EnableMeasure CheckProcess]

[CheckProcess]
Measure=String
String=[MeasureIsFullScreen]
IfNotMatch=Explorer.EXE
IfNotMatchAction=[!DeactivateConfig "Sawny"][!DeactivateConfig "Just A Bin"][!DeactivateConfig "Phenix"][!DeactivateConfig "Simplony"][!DeactivateConfig "TranslucentTaskbar"][!DeactivateConfig "VolumeControl"][!DisableMeasure #CURRENTSECTION#]
IfMatch=Explorer.EXE
IfMatchAction=[!DisableMeasure #CURRENTSECTION#]
Disabled=1

;=====METERS=====

[Icon]
Meter=Image
ImageName="#@#"
User avatar
balala
Rainmeter Sage
Posts: 9053
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: IsFullScreen 3.0

balala » June 4th, 2019, 6:49 am

gran172 wrote:
June 4th, 2019, 12:04 am
Hey man, unfortunately that didn't seem to work for me, here's how my .ini file looks like (hope I'm doing this alright,I'm new to the forums :P)
Why? What's not working? Do you see any error in the log?
Although the posted code does work for me (loading / unloading the appropriate skins), there are some issues with it:
  • Unlike !DeactivateConfig, the !ActivateConfig bang requires two parameters: the name of the config (you have this one) AND the name of the .ini file you'd like to load. There can be more such skin files into one single config and if you don't specify the name of the file, always the first one is loaded. It's a much better approach to get used to always add the name of the file as well. For example instead of the existing [!ActivateConfig "Sawny"] bang, you should have to use [!ActivateConfig "Sawny" "Sawny.ini"] (supposing that the name of the skin file, contained into the Sawny config, is also Sawny.ini) (Just note here that the !ActivateConfig used as you did also works, so not this is the issue). The !DeactivateConfig bangs are correct.
  • Although not forbidden, nor a good idea is to use spaces into the names of configs. I'd replace the name of the Just A Bin config with JustABin (or something else). Same for file names.
  • ImageName="#@#" (used into the [Icon] meter) is not an image. But if you're adding this meter only to have one, you can renounce to the ImageName option.
So the most important question is the one I wrote above: what doesn't work?
gran172
Posts: 16
Joined: May 16th, 2019, 3:51 am

Re: IsFullScreen 3.0

gran172 » June 4th, 2019, 5:27 pm

balala wrote:
June 4th, 2019, 6:49 am
Why? What's not working? Do you see any error in the log?
Although the posted code does work for me (loading / unloading the appropriate skins), there are some issues with it:
  • Unlike !DeactivateConfig, the !ActivateConfig bang requires two parameters: the name of the config (you have this one) AND the name of the .ini file you'd like to load. There can be more such skin files into one single config and if you don't specify the name of the file, always the first one is loaded. It's a much better approach to get used to always add the name of the file as well. For example instead of the existing [!ActivateConfig "Sawny"] bang, you should have to use [!ActivateConfig "Sawny" "Sawny.ini"] (supposing that the name of the skin file, contained into the Sawny config, is also Sawny.ini) (Just note here that the !ActivateConfig used as you did also works, so not this is the issue). The !DeactivateConfig bangs are correct.
  • Although not forbidden, nor a good idea is to use spaces into the names of configs. I'd replace the name of the Just A Bin config with JustABin (or something else). Same for file names.
  • ImageName="#@#" (used into the [Icon] meter) is not an image. But if you're adding this meter only to have one, you can renounce to the ImageName option.
So the most important question is the one I wrote above: what doesn't work?
When clicking on the desktop, my skins still unload for some reason.
User avatar
balala
Rainmeter Sage
Posts: 9053
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: IsFullScreen 3.0

balala » June 4th, 2019, 5:40 pm

gran172 wrote:
June 4th, 2019, 5:27 pm
When clicking on the desktop, my skins still unload for some reason.
:o :o :o
Anywhere on desktop? All of the loaded skins are unloaded?
Would be extremely weird...

Sorry, my inattention...

Note one more: the [CheckProcess] measure doesn't work, because it uses a section variable ([MeasureIsFullScreen] within the String option), which requires to add a DynamicVariables=1 option to the measure. Add it.
This doesn't solve the issue yet, but let's see...
User avatar
balala
Rainmeter Sage
Posts: 9053
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: IsFullScreen 3.0

balala » June 4th, 2019, 6:39 pm

First I agree with jsmorley, I also don't have any kind of issue with this plugin. It works perfectly for me.
Secondly, it's not very clear what should go on. There are two sets of bangs to unload the skins: one in the IfEqualAction option of the [FullscreenCheck] measure and another in the IfNotMatchAction option of the [CheckProcess] measure. Doesn't seem a good idea: I'd say one single set of those bangs would be enough.
On the other hand leaving the code as you have it right now, makes the skin to unload the skins whenever there is a full screen application running (by the IfEqualAction option of the [FullscreenCheck] measure). Doesn't matter which one, if there is any, the skins are unloaded. When the application isn't full screen any more, the skins are reloaded (by the IfBelowAction option of the same [FullscreenCheck] measure). The IfMatch options of the [CheckProcess] measure seem useless, because when an application is full screen the skins are anyway unloaded, so there is no reason to check if Explorer.EXE is full screen to unload the skins (done by the [CheckProcess] measure, when it is enabled).
So, long story short:
  • I can't follow the logic of the code.
  • Even if I could, I can't replicate the issue: in my case the plugin doesn't detects the desktop as it would be a full screen app.
Please check the following code as well:

Code: Select all

[Rainmeter]
Update=1000
DynamicWindowSize=1

[MeasureIsFullScreen]
Measure=Plugin
Plugin=IsFullScreen
IfCondition=(#CURRENTSECTION#>=1)
IfTrueAction=[!SetVariable ScreenMode "Full"][!UpdateMeter "MeterIsFullScreen"][!Redraw]
IfFalseAction=[!SetVariable ScreenMode "Not full"][!UpdateMeter "MeterIsFullScreen"][!Redraw]

[MeterIsFullScreen]
Meter=STRING
MeasureName=MeasureIsFullScreen
X=0
Y=0
Padding=15,5,15,5
FontColor=220,220,220
FontEffectColor=0,0,0
StringEffect=Shadow
SolidColor=0,0,0,150
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=LEFT
AntiAlias=1
Text=App: %1#CRLF#Status: #ScreenMode#
DynamicVariables=1
This code returns either Full or Not full (depending if there is or isn't a full screen app) and the name of the active application. If there is an app in full screen mode, the name of the app is the one being in full screen. You told your code unloads the skin whenever you are clicking to desktop. Please test the above code (leave loaded both skins) and tell us what this skin shows when your skins are unloaded.

Note one more (I saw this right now): an IfNotMatch option doesn't exist. IfMatch does exist, IfNotMatch doesn't. IfNotMatchAction is related to IfMatch.
gran172
Posts: 16
Joined: May 16th, 2019, 3:51 am

Re: IsFullScreen 3.0

gran172 » June 4th, 2019, 10:40 pm

balala wrote:
June 4th, 2019, 6:39 pm
First I agree with jsmorley, I also don't have any kind of issue with this plugin. It works perfectly for me.
Secondly, it's not very clear what should go on. There are two sets of bangs to unload the skins: one in the IfEqualAction option of the [FullscreenCheck] measure and another in the IfNotMatchAction option of the [CheckProcess] measure. Doesn't seem a good idea: I'd say one single set of those bangs would be enough.
On the other hand leaving the code as you have it right now, makes the skin to unload the skins whenever there is a full screen application running (by the IfEqualAction option of the [FullscreenCheck] measure). Doesn't matter which one, if there is any, the skins are unloaded. When the application isn't full screen any more, the skins are reloaded (by the IfBelowAction option of the same [FullscreenCheck] measure). The IfMatch options of the [CheckProcess] measure seem useless, because when an application is full screen the skins are anyway unloaded, so there is no reason to check if Explorer.EXE is full screen to unload the skins (done by the [CheckProcess] measure, when it is enabled).
So, long story short:
  • I can't follow the logic of the code.
  • Even if I could, I can't replicate the issue: in my case the plugin doesn't detects the desktop as it would be a full screen app.
Please check the following code as well:

Code: Select all

[Rainmeter]
Update=1000
DynamicWindowSize=1

[MeasureIsFullScreen]
Measure=Plugin
Plugin=IsFullScreen
IfCondition=(#CURRENTSECTION#>=1)
IfTrueAction=[!SetVariable ScreenMode "Full"][!UpdateMeter "MeterIsFullScreen"][!Redraw]
IfFalseAction=[!SetVariable ScreenMode "Not full"][!UpdateMeter "MeterIsFullScreen"][!Redraw]

[MeterIsFullScreen]
Meter=STRING
MeasureName=MeasureIsFullScreen
X=0
Y=0
Padding=15,5,15,5
FontColor=220,220,220
FontEffectColor=0,0,0
StringEffect=Shadow
SolidColor=0,0,0,150
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=LEFT
AntiAlias=1
Text=App: %1#CRLF#Status: #ScreenMode#
DynamicVariables=1
This code returns either Full or Not full (depending if there is or isn't a full screen app) and the name of the active application. If there is an app in full screen mode, the name of the app is the one being in full screen. You told your code unloads the skin whenever you are clicking to desktop. Please test the above code (leave loaded both skins) and tell us what this skin shows when your skins are unloaded.

Note one more (I saw this right now): an IfNotMatch option doesn't exist. IfMatch does exist, IfNotMatch doesn't. IfNotMatchAction is related to IfMatch.
Tried using both my code and the one you sent, but one unloads the other both in fullscreen and non-fullscreen.

Anyways, using only your code, when clicking on desktop it says " App:Explorer.EXE ; Status: Full".
User avatar
balala
Rainmeter Sage
Posts: 9053
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: IsFullScreen 3.0

balala » June 5th, 2019, 12:51 pm

gran172 wrote:
June 4th, 2019, 10:40 pm
Tried using both my code and the one you sent, but one unloads the other both in fullscreen and non-fullscreen.
Have you added that code as one of the skins enumerated between those deactivated by the code?
gran172 wrote:
June 4th, 2019, 10:40 pm
Anyways, using only your code, when clicking on desktop it says " App:Explorer.EXE ; Status: Full".
WEIRD! For me when clicking to desktop, the App is empty and the Status is Not full.
Don't know what to say about your result. :confused:
gran172
Posts: 16
Joined: May 16th, 2019, 3:51 am

Re: IsFullScreen 3.0

gran172 » June 5th, 2019, 5:56 pm

balala wrote:
June 5th, 2019, 12:51 pm
Have you added that code as one of the skins enumerated between those deactivated by the code?

WEIRD! For me when clicking to desktop, the App is empty and the Status is Not full.
Don't know what to say about your result. :confused:
Nope, I didn't add it as one of the skins that gets deactivated with with FullScreen Switch, simply made a .INI with it, dropped it on My Documents folder and pressed Load on Rainmeter :/
User avatar
balala
Rainmeter Sage
Posts: 9053
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: IsFullScreen 3.0

balala » June 5th, 2019, 6:06 pm

gran172 wrote:
June 5th, 2019, 5:56 pm
Nope, I didn't add it as one of the skins that gets deactivated with with FullScreen Switch, simply made a .INI with it, dropped it on My Documents folder and pressed Load on Rainmeter :/
Then I have no idea at all why is it unloaded. Could you please pack and upload the whole root config which contains the incriminated skin(s)?