It is currently April 27th, 2024, 4:39 pm

No color change on the shape with corresponding value

Get help with creating, editing & fixing problems with skins
User avatar
Youkai1977
Posts: 164
Joined: October 31st, 2018, 4:11 pm
Location: Germany

No color change on the shape with corresponding value

Post by Youkai1977 »

Even at the risk of being beaten to death ... I'm actually still working on another of my skins where I've already called for help here. But I need a break from this one at the moment.
PS to Yincognito: I'll answer you in the other topic in the near :-)

Anyway, I've already started working on the next skin for my suite today. But as the devil will have it, he's annoying me.
It's about the color of the button changing to green when Firefox is open. Another part of the button should also turn green, but even blink.
The part that should turn green and blink works. However, the "only" green part of the button does not turn green when Firefox is active.

My guess is that I probably have to work with "Nested Variables" here, but it's just a guess. This is due to the fact that before the color change such as the flashing of the button takes place, I exchange some values via the MouseOverAction and MouseLeaveAction, as well as LeftMouseUpAction.

This causes a problem somewhere, and I don't know why.

Anyway, if I have to work with "Nested Variables", then *cough* I think I should ask for a help example on a silver platter. Because I absolutely don't understand the "Nested Variables". Even some posts here in the forum or on the Rainmeter documentation page don't make me any smarter.

But before I write any more novels, here's the part of the code where the devil ruins my day O.O

Code: Select all

[Rainmeter]
Update=1000
AccurateText=1
DynamicWindowSize=1
OnRefreshAction=[!EnableMeasureGroup mNAEX][!UpdateMeasureGroup mNAEX][!UpdateMeasureGroup mAPPCHECK][!UpdateMeterGroup ICONS][!UpdateMeterGroup BTNs][!Redraw][!Delay 500][!DisableMeasureGroup mNAEX]

[Variables]
Images1=#@#images\
Images2=#@#images\apps\
FontFace=Courier Prime Sans
FontWeight=700
Width=80
Height=14
W=110
H=317
FS3=12
Alpha0=1
Alpha1=70
Alpha2=130
Alpha3=255
Color0=0,0,0,
Color1=255,255,255,
Color2=253,193,0,
Color3=200,0,0,
Color4=64,64,64,
Color5=255,104,67,
Color6=0,255,0,
Color7=200,200,200,
Color8=15,255,168,
Color9=100,100,100,
Browser=C:\Program Files\Mozilla Firefox\firefox.exe

;============================================
;============================================

[StAPP1ICO]
ImageName=#Images2#[mAPP1].png
ImageTint=#Color0##Alpha1#
ImageAlpha=#Alpha2#
Greyscale=1
AntiAlias=1
W=44
H=44
UpdateDivider=-1
Container=CON_BTN1_ICO
Group=ICONS

[StAPP1LABEL]
Padding=0,-6,0,-5
SolidColor=#Color0##Alpha0#
FontColor=#Color7##Alpha2#
FontFace=#FontFace1#
FontWeight=#FontWeight#
FontSize=#FS3#
StringCase=UPPER
StringAlign=LEFT
Text=BROWSER
AntiAlias=1
ClipString=2
ClipStringW=#Width#
ClipStringH=#Height#
UpdateDivider=-1
Group=BTN1 | BTNs

;============================================
;============================================

[mAPP1]
Measure=STRING
String=#Browser#
RegExpSubstitute=1
Substitute="\\(.*)\\":"","^.:":"","...\D$":""
Disabled=1
Group=mNAEX

;=== MEASURES CHECK APP 1 ====================

[mAPP1CHECK]
Measure=PLUGIN
Plugin=Process
ProcessName=[mAPP1].exe
Substitute="-1":"#Color7#","1":"#Color6#"
IfCondition=(mAPP1Check = 1)
IfTrueAction= [!EnableMeasure  mAPP1BTNFL][!UpdateMeasureGroup mAPPCHECK][!UpdateMeterGroup BTN1][!Redraw]
IfFalseAction=[!DisableMeasure mAPP1BTNFL][!UpdateMeasureGroup mAPPCHECK][!UpdateMeterGroup BTN1][!Redraw]
OnChangeAction=[!Update *]
DynamicVariables=1
Group=mAPPCHECK

[mAPP1BTNFL]
Measure=CALC
Formula=(1-mAPP1BTNFL)
Substitute="0":"#Alpha1#","1":"#Alpha3#"
Disabled=1
DynamicVariables=1
Group=mAPPCHECK

;==================================================
;=== CONTAINER FOR APP-LAUNCHER ===================
;==================================================

[CONTAINER_ALB]
Meter=IMAGE
SolidColor=#Color1##Alpha3#
W=#W#
H=#H#
X=0
Y=0
UpdateDivider=-1

;==================================================
;=== APP BUTTONS LAUNCHER =========================
;==================================================

;=== APP 1 BUTTON =================================

[APP1_BTN]
Meter=SHAPE
X=0
Y=0
Shape= Rectangle 1  ,1 ,100,40,0,0 | Extend FRAME
Shape2=Rectangle 3  ,3 ,96 ,36,0,0 | Extend BTNBG
Shape3=Rectangle 89 ,35,10  ,4,0,0 | Extend LED1
Shape4=Rectangle 106,0 ,4  ,42,0,0 | Extend LED1
FRAME=StrokeWidth 2 | Fill Color #Color0##Alpha0# | Stroke Color [mAPP1CHECK]#Alpha2# 
BTNBG=StrokeWidth 0 | Fill Color [mAPP1CHECK]#Alpha1# 
LED1 =StrokeWidth 0 | Fill Color [mAPP1CHECK][mAPP1BTNFL]
MouseOverAction=  [!SetOption #CURRENTSECTION# FRAME "StrokeWidth 2 | Fill Color #Color0##Alpha0# | Stroke Color     #Color2##Alpha3#"][!SetOption #CURRENTSECTION# BTNBG "StrokeWidth 0 | Fill Color     #Color2##Alpha2#"][!SetOption APP1_LABEL FontColor "#Color0##Alpha3#"][!UpdateMeterGroup BTN1][!Redraw]
MouseLeaveAction= [!SetOption #CURRENTSECTION# FRAME "StrokeWidth 2 | Fill Color #Color0##Alpha0# | Stroke Color [mAPP1CHECK]#Alpha2#"][!SetOption #CURRENTSECTION# BTNBG "StrokeWidth 0 | Fill Color [mAPP1CHECK]#Alpha1#"][!SetOption APP1_LABEL FontColor "#Color7##Alpha2#"][!UpdateMeterGroup BTN1][!Redraw]
LeftMouseUpAction=[!CommandMeasure VoiceOutput "#BrowserSpeech#"][!Delay 1000]["#Browser#"]
UpdateDivider=1
DynamicVariables=1
Container=CONTAINER_ALB
Group=BTN1 | BNTs

[CON_BTN1_ICO]
Meter=SHAPE
X=r
Y=r
Shape= Rectangle 3  ,3 ,96 ,36,0,0 | Extend BTNBG
BTNBG=StrokeWidth 0   | Fill Color #Color7##Alpha1# 
UpdateDivider=-1
DynamicVariables=1

[APP1_ICO]
Meter=IMAGE
MeterStyle=StAPP1ICO
X=r
Y=r

[APP1_LABEL]
Meter=STRING
MeterStyle=StAPP1LABEL
X=10r
Y=16r
The error or problem probably lies somewhere between the [mAPP1CECK]-Measure and the [APP1_BTN]-Meter.
The color values are exchanged by said mouse actions, where it ultimately does not work that the Extend FRAME and Extend BTNBG have the green color value, as well as the flashing when Firefox is open.

Ok, I hope I have described my problem as well as I can. If not -> :x <- get out and ask me :oops:

On end of this Post is an screenshot. There you can see that the Extend LED1 Shapes are green (and also blinking ... of course not in the screenshot :Whistle )
BUT the button itself remains gray.
Here the Extend FRAME and Extend BTNBG should now also color them green, but this does NOT happen. :???: :confused:
You do not have the required permissions to view the files attached to this post.
- Win11 Pro x64 (23H2 - 22631.3085)
- Rainmeter 4.5.18
- Gigabyte B550i AORUS Pro AX V1.2
- Corsair Venegeance LPX 2x 16GB (32GB) DDR4 3200MHz
- RYZEN 7 5800X
- PowerColor RX570 8GB
- Samsung 980Pro 250GB (NVMe) - Drive C: Windows
- Kingston SNV2S1000G (NVMe) - Drive D: Rainmeter, Skins & Others - Drive D: Games
- NAS Synology DS216j - 2x 1GB HDDs - My Main Backup & Data Storage in my Home-Network
- Mon 1: 24" HP 24f (1920 x 1080 @ 75Hz) - Primary
- Mon 2: 22" Philips 226VL (1920 x 1080 @ 60Hz) - Secondary 1
- Mon 3: 50" Philips 50PUS7304/12 (3840 x 2160 @ 60Hz) - Secondary 2
- Corsair CX 650M Power Supply
- NZXT H210 Case
- ISP Vodafone with 1000/50 Mbit Cable Internet

The absolutly High-End Machine on 2024 ... at least the graphics card :oops: O.O :rofl:
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5407
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: No color change on the shape with corresponding value

Post by eclectic-tech »

In [StAPP1ICO] section remove the contradicting 'Alpha' setting and change W=44 to W=110:

Code: Select all

[StAPP1ICO]
ImageName=#Images2#[mAPP1].png
ImageTint=#Color0##Alpha1#
; ImageAlpha=#Alpha2#
Greyscale=1
AntiAlias=1
W=110
H=44
UpdateDivider=-1
Container=CON_BTN1_ICO
Group=ICONS
Then remove UpdateDivider=-1 in section [CON_BTN1_ICO]:

Code: Select all

[CON_BTN1_ICO]
Meter=SHAPE
X=r
Y=r
Shape= Rectangle 3  ,3 ,96 ,36,0,0 | Extend BTNBG
BTNBG=StrokeWidth 0   | Fill Color #Color7##Alpha1# 
; UpdateDivider=-1
DynamicVariables=1
The first change corrected a shading issue in the image.
The removal of UpdateDivider=-1 allowed your IfCondition actions to redraw the entire BTN1 group and the BTN1 shape.
User avatar
Yincognito
Rainmeter Sage
Posts: 7177
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: No color change on the shape with corresponding value

Post by Yincognito »

Based on what eclectic-tech said, the issue is probably related to the fact that you didn't add CON_BTN1_ICO to the BTN1 group so it can be updated by the bangs in the IfCondition (or, if it has to be out of the group, the fact that you didn't update it as well in the IfCondition). Just saying, I didn't test the skin.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
Youkai1977
Posts: 164
Joined: October 31st, 2018, 4:11 pm
Location: Germany

Re: No color change on the shape with corresponding value

Post by Youkai1977 »

Hello everyone and thank you for your answers and help.
Unfortunately, not a single one of them works, and only the vertical bar and the small rectangle in the button turn green. But unfortunately not even the button itself.
Only when I right-click on the skin "Update Skin" and the browser is already active, the button turns green.

But apart from that, why should I take out the "ImageAlpha" and the W=44 / H=44 information. I need the latter because the source image is larger than needed, and with the 44px specification at W and H I make it as large as I need it. Also, it's not quite clear to me why I have to take out the container for the icon [CON_BTN1_ICO] of the UpdateDivider, or set it from -1 to 1.
The container is only used for the icon, and is excluded from the planned color changes that are to take place. The icon should always remain gray (Greyscale=1) regardless of the program status.

As I said, I'm not rejecting your tips/help now, please don't get me wrong. I have now implemented this as a test in my skin. But unfortunately, they don't work either. I'll upload the skin. Maybe it's easier to understand what I intend to do when the entire skin is available.

!!! PS.: The *.rmskin file I uploaded is WITHOUT your tips/ideas. This has the original state. !!!
You do not have the required permissions to view the files attached to this post.
- Win11 Pro x64 (23H2 - 22631.3085)
- Rainmeter 4.5.18
- Gigabyte B550i AORUS Pro AX V1.2
- Corsair Venegeance LPX 2x 16GB (32GB) DDR4 3200MHz
- RYZEN 7 5800X
- PowerColor RX570 8GB
- Samsung 980Pro 250GB (NVMe) - Drive C: Windows
- Kingston SNV2S1000G (NVMe) - Drive D: Rainmeter, Skins & Others - Drive D: Games
- NAS Synology DS216j - 2x 1GB HDDs - My Main Backup & Data Storage in my Home-Network
- Mon 1: 24" HP 24f (1920 x 1080 @ 75Hz) - Primary
- Mon 2: 22" Philips 226VL (1920 x 1080 @ 60Hz) - Secondary 1
- Mon 3: 50" Philips 50PUS7304/12 (3840 x 2160 @ 60Hz) - Secondary 2
- Corsair CX 650M Power Supply
- NZXT H210 Case
- ISP Vodafone with 1000/50 Mbit Cable Internet

The absolutly High-End Machine on 2024 ... at least the graphics card :oops: O.O :rofl:
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5407
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: No color change on the shape with corresponding value

Post by eclectic-tech »

Okay, my initial answer was premature, it is not always easy to see what an author is trying to do with just snippets of code, so I took another look at your button code...

I have found when using !SetOption it is best to always 'escape' any measures and variables values you set; doing that will set the option to the actual measure and variable name and they will respond to changes in those items. If you do not 'escape' them, then the !SetOption sets them to their current value, and they will not respond to any changes.

So, to have the button respond (turn 'green') when Firefox is running, all you need to do is to 'escape' the measures and variable in the mouseover/mouseleave action bangs in the [APP1_BTN] section:

Code: Select all

MouseOverAction=  [!SetOption #CURRENTSECTION# FRAME "StrokeWidth 2 | Fill Color #*Color0*##*Alpha0*# | Stroke Color     #*Color2*##*Alpha3*#"][!SetOption #CURRENTSECTION# BTNBG "StrokeWidth 0 | Fill Color     #*Color2*##*Alpha2*#"][!SetOption APP1_LABEL FontColor "#*Color0*##*Alpha3*#"][!UpdateMeterGroup BTN1][!Redraw]
MouseLeaveAction= [!SetOption #CURRENTSECTION# FRAME "StrokeWidth 2 | Fill Color #*Color0*##*Alpha0*# | Stroke Color [*mAPP1CHECK*]#*Alpha2*#"][!SetOption #CURRENTSECTION# BTNBG "StrokeWidth 0 | Fill Color [*mAPP1CHECK*]#*Alpha1*#"][!SetOption APP1_LABEL FontColor "#*Color7*##*Alpha2*#"][!UpdateMeterGroup BTN1][!Redraw]

Making only that change to your initial code corrected your issue for me,
Hopefully if you remember to 'escape' when using !SetOption things will react as expected.

Aside: I do not think adding a comma to the end of your color variables (e.g. Color0=0,0,0,) so you can add an alpha value without having a comma separator in the code is a good idea; yes, it may reduce the code by 1 character each time, but it just feels unnatural to me.
Just my opinion so feel free to ignore it
User avatar
Youkai1977
Posts: 164
Joined: October 31st, 2018, 4:11 pm
Location: Germany

Re: No color change on the shape with corresponding value

Post by Youkai1977 »

@eclectic-tech:

So yes, I did need these "Nested Variables", I thought so. It finally works the way I want it to, thank you very, very much, you are my hero. :bow: :thumbup: :great:

I had also tried my hand at these "Nested Variables" myself, but as already mentioned, I break off every time and could bite the keyboard. I don't know why, but my brain just doesn't get it. When it's presented to me as an example, as you have now, it's always like "Yes, of course, that's how it has to be ... oh man am I hollow"

As for the Color=0,0,0, thing, yes, I know that I'm going down a very unconventional path. I've been using this method in my skins for a while now. But I think I'll have a think about your suggestion to change it.
Because I have now realized that it can possibly cause problems when I want to use a variable created in this way in a measure with the Substitute-Function.

I will test it right away. Because I noticed that in my measure [mAPP1CHECK] under Substitute="-1": "#Color7#", "1": "#Color6#" the color value 192,192,192, (my variables -> #Color7#) was changed by the substitute to -> 0,255,0,92 or something similar and then the desired colors were not correct.
To get around this, I turned 192,192,192 into 200,200,200, because I suspected that the "-1" or "1" in Substitute had something to do with it. Maybe in BUG in Rainmeter, or am I misunderstanding the Substitute function here. I think you mentioned something in your suggestion about how I specify the color code variables.

EDIT 1: So, I implemented your tip and removed the last , in the color codes and inserted them in the respective lines of code instead. Works as desired.
BBUUTT, there really seems to be a problem somewhere with the Substitute and the color code 192,192,192.
This is converted to 0,255,0.
You are welcome to try it out, I think you still have my skin.
So I'm just asking for the sake of interest, do I have a lack of knowledge about the Substitute-Function or is this a BUG?

EDIT 2: Is there actually a possibility in Rainmeter, which works similar to the PlugIn=Process, where it is checked whether a program is active, also for web links?
I'm asking because I have a button in my skin that opens a link. Of course only the browser button starts blinking in green. But the button for the link remains gray, because a link is opened and not a process in the form of e.g. C\Program Files\ProgramXYZ\xyz.exe
- Win11 Pro x64 (23H2 - 22631.3085)
- Rainmeter 4.5.18
- Gigabyte B550i AORUS Pro AX V1.2
- Corsair Venegeance LPX 2x 16GB (32GB) DDR4 3200MHz
- RYZEN 7 5800X
- PowerColor RX570 8GB
- Samsung 980Pro 250GB (NVMe) - Drive C: Windows
- Kingston SNV2S1000G (NVMe) - Drive D: Rainmeter, Skins & Others - Drive D: Games
- NAS Synology DS216j - 2x 1GB HDDs - My Main Backup & Data Storage in my Home-Network
- Mon 1: 24" HP 24f (1920 x 1080 @ 75Hz) - Primary
- Mon 2: 22" Philips 226VL (1920 x 1080 @ 60Hz) - Secondary 1
- Mon 3: 50" Philips 50PUS7304/12 (3840 x 2160 @ 60Hz) - Secondary 2
- Corsair CX 650M Power Supply
- NZXT H210 Case
- ISP Vodafone with 1000/50 Mbit Cable Internet

The absolutly High-End Machine on 2024 ... at least the graphics card :oops: O.O :rofl:
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5407
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: No color change on the shape with corresponding value

Post by eclectic-tech »

Nested variables is NOT what is needed. :uhuh:

I am referring to Escaped syntax when using !SetOption to set Variables and Measures. (Documentation)
When using !SetOption it is always necessary to consider if you want to set the option to the value of the measure or variable or to the literal measure or variable name.

As an example, you have a meter named MyMeter and a variable Color0=0,0,0.

When used in a !SetOption bang action:
[!SetOption MyMeter FontColor "#Color0#"]
the variable will be evaluated and the FontColor in MyMeter will be set to FontColor=0,0,0.

If I change the value of #Color0# with [!SetVariable Color0 "255,255,255"], the FontColor of MyMeter will remain 0,0,0.

If I wanted MyMeter to always display the value of #Color0# when it changes, I have to ESCAPE #Color0# when I use it in a !SetOption bang:
[!SetOption MyMeter FontColor "#*Color0*#"].
Notice the asterisk around the variable name #*Color0*#.
This will set MyMeter to the literal phrase FontColor=#Color0#.

Now MyMeter will change colors when a #Color0# value changes. (DynamicVariables=1 must be set in MyMeter).

In your code, you need to escape all of the measurenames and variables in your !SetOption bangs so the meter follow changes in those measures and variables (as I described previously).

-=-

The color issue is not due to Substation errors. Your substitutions are working fine.
I beleive the BLUE color is due to missing adding a comma between the 2 measurenames when setting the value of LED1 in your shape meter parameters of [App1_Btn] and [App2_Btn] sections.
LED1 =StrokeWidth 0 | Fill Color [mAPP1CHECK],[mAPP1BTNFL]

Modified Code (Escaped !SetOption changes and comma's added for alpha)

I removed the ending comma's from your variable values and used Firefox as both links to test.
This code will highlight on mouseover, blink and turn green when corresponding apps are running.

Code: Select all

[Rainmeter]
Update=1000
LocalFont=#@#fonts\Courier Prime Sans.ttf
AccurateText=1
DynamicWindowSize=1
OnRefreshAction=[!EnableMeasureGroup mNAEX][!UpdateMeasureGroup mNAEX][!UpdateMeasureGroup mAPPCHECK][!UpdateMeterGroup ICONS][!UpdateMeterGroup BTNs][!Redraw][!Delay 500][!DisableMeasureGroup mNAEX]

[Metadata]
Name=APP BUTTON LAUNCHER
Author=Youkai1977
Version=02-24.V1a <> 10.02.2024
Information=This Meter is a Part of M.A.R.S.- 2024 Skin Package
License=Creative Commons Attribution-Non-Commercial-Share Alike 4.0

;==================================================
;=== VARIABLES ====================================
;==================================================
[Variables]
@include= links.inc
@include2=applauncherdata.inc

;==============================================================
;=== VOICE OUTPUT =============================================
;==============================================================
;===                                                         ==
;=== FOR MORE INFO TO SPEECH-PLUGIN                          ==
;=== https://forum.rainmeter.net/viewtopic.php?f=127&t=31161 ==
;===                                                         ==
;==============================================================

[VoiceOutput]
Measure=PLUGIN
Plugin=Speech
Name=#VoiceName#
;Index=#IndexName# 
;Gender=#VoiceGender#
Debug=#DebugModus#
Volume=#VoiceVolume#
Rate=#SpeechRate#
UpdateDivider=-1

;==================================================
;=== MEASURES APPs NAME EXTRACT (Browser & Mail) ==
;==================================================

[mAPP1]
Measure=STRING
String=#Browser#
RegExpSubstitute=1
Substitute="\\(.*)\\":"","^.:":"","...\D$":""
Disabled=1
Group=mNAEX

[mAPP2]
Measure=STRING
String=#Email#
RegExpSubstitute=1
Substitute="\\(.*)\\":"","^.:":"","...\D$":""
Disabled=1
Group=mNAEX

;==================================================
;=== MEASURES CHECK APPS ACTIVE STATUS ============
;==================================================

;=== MEASURES CHECK APP 1 =========================

[mAPP1CHECK]
Measure=PLUGIN
Plugin=Process
ProcessName=[mAPP1].exe
Substitute="-1":"#Color7#","1":"#Color6#"
IfCondition=(mAPP1Check = 1)
IfTrueAction= [!EnableMeasure  mAPP1BTNFL][!UpdateMeasureGroup mAPPCHECK][!UpdateMeterGroup BTN1][!Redraw]
IfFalseAction=[!DisableMeasure mAPP1BTNFL][!UpdateMeasureGroup mAPPCHECK][!UpdateMeterGroup BTN1][!Redraw]
OnChangeAction=[!Update *]
DynamicVariables=1
Group=mAPPCHECK

[mAPP1BTNFL]
Measure=CALC
Formula=(1-mAPP1BTNFL)
Substitute="0":"#Alpha1#","1":"#Alpha3#"
Disabled=1
DynamicVariables=1
Group=mAPPCHECK

;=== MEASURES CHECK APP 2 =========================

[mAPP2CHECK]
Measure=PLUGIN
Plugin=Process
ProcessName=[mAPP2].exe
Substitute="-1":"#Color7#","1":"#Color6#"
IfCondition=(mAPP2Check = 1)
IfTrueAction= [!EnableMeasure  mAPP2BTNFL][!UpdateMeasureGroup mAPPCHECK][!UpdateMeterGroup BTN2][!Redraw]
IfFalseAction=[!DisableMeasure mAPP2BTNFL][!UpdateMeasureGroup mAPPCHECK][!UpdateMeterGroup BTN2][!Redraw]
OnChangeAction=[!Update *]
DynamicVariables=1
Group=mAPPCHECK

[mAPP2BTNFL]
Measure=CALC
Formula=(1-mAPP2BTNFL)
Substitute="0":"#Alpha1#","1":"#Alpha3#"
Disabled=1
DynamicVariables=1
Group=mAPPCHECK

;##################################################
;##################################################
;##################################################
;##################################################
;##################################################
;##################################################

;==================================================
;=== APP BUTTONS LAUNCHER (BROWSER & EMAIL) =======
;==================================================

;=== APP 1 BUTTON (BROWSER) =======================

[APP1_BTN]
Meter=SHAPE
X=0
Y=0
Shape= Rectangle 1  ,1 ,100,40,0,0 | Extend FRAME
Shape2=Rectangle 3  ,3 ,96 ,36,0,0 | Extend BTNBG
Shape3=Rectangle 89 ,35,10  ,4,0,0 | Extend LED1
Shape4=Rectangle 106,0 ,4  ,42,0,0 | Extend LED1
FRAME=StrokeWidth 2 | Fill Color #Color0#,#Alpha0# | Stroke Color [mAPP1CHECK],#Alpha2# 
BTNBG=StrokeWidth 0 | Fill Color [mAPP1CHECK],#Alpha1# 
LED1 =StrokeWidth 0 | Fill Color [mAPP1CHECK],[mAPP1BTNFL]
MouseOverAction=  [!SetOption #CURRENTSECTION# FRAME "StrokeWidth 2 | Fill Color #*Color0*#,#*Alpha0*# | Stroke Color     #*Color2*#,#*Alpha3*#"][!SetOption #CURRENTSECTION# BTNBG "StrokeWidth 0 | Fill Color     #*Color2*#,#*Alpha2*#"][!SetOption APP1_LABEL FontColor "#*Color0*#,#*Alpha3*#"][!UpdateMeterGroup BTN1][!Redraw]
MouseLeaveAction= [!SetOption #CURRENTSECTION# FRAME "StrokeWidth 2 | Fill Color #*Color0*#,#*Alpha0*# | Stroke Color [*mAPP1CHECK*],#*Alpha2*#"][!SetOption #CURRENTSECTION# BTNBG "StrokeWidth 0 | Fill Color [*mAPP1CHECK*],#*Alpha1*#"][!SetOption APP1_LABEL FontColor "#*Color7*#,#*Alpha2*#"][!UpdateMeterGroup BTN1][!Redraw]
LeftMouseUpAction=[!CommandMeasure VoiceOutput "#BrowserSpeech#"][!Delay 1000]["#Browser#"]
UpdateDivider=1
DynamicVariables=1
Group=BTN1 | BTNs

[CON_BTN1_ICO]
Meter=SHAPE
X=r
Y=r
Shape= Rectangle 3  ,3 ,96 ,36,0,0 | Extend BTNBG
BTNBG=StrokeWidth 0   | Fill Color #Color7#,#Alpha1# 
UpdateDivider=-1

[APP1_ICO]
Meter=IMAGE
MeterStyle=StAPP1ICO
X=58r
Y=r

[APP1_LABEL]
Meter=STRING
MeterStyle=StAPP1LABEL
X=10r
Y=17r

;=== APP 2 BUTTON (EMAIL) =========================

[APP2_BTN]
Meter=SHAPE
X=-10r
Y=33r
Shape= Rectangle 1  ,1 ,100,40,0,0 | Extend FRAME
Shape2=Rectangle 3  ,3 ,96 ,36,0,0 | Extend BTNBG
Shape3=Rectangle 89 ,35,10  ,4,0,0 | Extend LED1
Shape4=Rectangle 106,0 ,4  ,42,0,0 | Extend LED1
FRAME=StrokeWidth 2 | Fill Color #Color0#,#Alpha0# | Stroke Color [mAPP2CHECK],#Alpha2# 
BTNBG=StrokeWidth 0 | Fill Color [mAPP2CHECK],#Alpha1# 
LED1 =StrokeWidth 0 | Fill Color [mAPP2CHECK],[mAPP2BTNFL]
MouseOverAction=  [!SetOption #CURRENTSECTION# FRAME "StrokeWidth 2 | Fill Color #*Color0*#,#*Alpha0*# | Stroke Color     #*Color2*#,#*Alpha3*#"][!SetOption #CURRENTSECTION# BTNBG "StrokeWidth 0 | Fill Color     #*Color2*#,#*Alpha2*#"][!SetOption APP2_LABEL FontColor "#*Color0*#,#*Alpha3*#"][!UpdateMeterGroup BTN2][!Redraw]
MouseLeaveAction= [!SetOption #CURRENTSECTION# FRAME "StrokeWidth 2 | Fill Color #*Color0*#,#*Alpha0*# | Stroke Color [*mAPP2CHECK*],#*Alpha2*#"][!SetOption #CURRENTSECTION# BTNBG "StrokeWidth 0 | Fill Color [*mAPP2CHECK*],#*Alpha1*#"][!SetOption APP2_LABEL FontColor "#*Color7*#,#*Alpha2*#"][!UpdateMeterGroup BTN2][!Redraw]
LeftMouseUpAction=[!CommandMeasure VoiceOutput "#EmailSpeech#"][!Delay 1000]["#Email#"]
UpdateDivider=1
DynamicVariables=1
Group=BTN2 | BTNs

[CON_BTN2_ICO]
Meter=SHAPE
X=r
Y=r
Shape= Rectangle 3  ,3 ,96 ,36,0,0 | Extend BTNBG
BTNBG=StrokeWidth 0   | Fill Color #Color7#,#Alpha1# 
UpdateDivider=-1

[APP2_ICO]
Meter=IMAGE
MeterStyle=StAPP2ICO
X=58r
Y=r

[APP2_LABEL]
Meter=STRING
MeterStyle=StAPP2LABEL
X=10r
Y=17r
Let us know if you still have issues