It is currently March 28th, 2024, 11:38 pm

Silmeria Dock help query

Get help with creating, editing & fixing problems with skins
dsotm44
Posts: 23
Joined: September 26th, 2020, 12:14 pm

Silmeria Dock help query

Post by dsotm44 »

Hi All

I wanted to use the Silmeria Dock to minimise the real estate required for Rm. Does anyone know if there is a way to get Silmeria to hide/reveal a bunch of icons as laid out as a grid below, instead of just a single line of them?

2022-05-06_10-18-57.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
sl23
Posts: 1140
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: Silmeria Dock help query

Post by sl23 »

Yep, you could even have the line of icons remain but show only when you hover the mouse near them. :D

You can either have a visible button, shape or area, or an invisible one. That's up to you.

Personally I'd make a narrow rectangle along the side of the screen which, when hovered, would show the icon launcher. When the mouse leaves, it hides it again.

Just use:

Code: Select all

MouseOverAction=[!ToggleMeterGroup MyIcons]
MouseLeaveAction=[!ToggleMeterGroup MyIcons]
you may need to insert double quotes around the group name "MyIcons" in this case. And don't forget to add Group=MyIcons to relevant meters.
- MuLab -
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5384
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Silmeria Dock help query

Post by eclectic-tech »

Sl23 gives you an idea of how this might be done, but this skin uses the same "Icon.ini" file for the icons and modifies each variants action area, background, line, and orientation to match the desires display.

To have the icons appear in a grid pattern requires creating a new variant by modifying the 3 sections: [MeterActionZone], [MeterBackground], [MeterLine], and [MeasureOrientation].

The action area section size is used to hide/show the icons, the background section is purely cosmetic (a color), the line sets the always visible meter, and the orientation sets the X and Y positions of the icon display.

Here is a new variant created by editing those 4 section values.
I named it 'TopDock3Column.ini' since it will arrange the icons in 3 columns for up to 12 icons. If you add more or have fewer icons, you need to change the values in those sections.

I reduced the width and height of the action area, line, and background to 3 icon widths plus spacing, and the action and background to 4 icon heights plus spacing.
I modified the X and Y options in the orientation to position the icons in a 3 by 4 grid.

Those are the sections you would need to modify to create other variants that open from the bottom, left, or right orientations.

Here is the code fora 'TopDock3Column.ini':

Code: Select all

[Rainmeter]
Update=1000
ContextTitle=Settings.ini
ContextAction=["#@#Settings.ini"]
ContextTitle2=Icons.ini
ContextAction2=["#@#Icons.ini"]

[Metadata]
Name=TopDock
Author=MixSilmeria
Version=Re;Birth (3.0)
License=Creative Commons BY-NC-SA 3.0
Information=Simple icon dock skin easily customizable. Made it with love, from Argentina to the world.

[Variables]
@include=#@#Settings.ini
MinAlpha=#Alpha#

[MeasureFade]
Measure=Plugin
Plugin=ActionTimer
Group=Sliders
ActionList1=Repeat FadeIn,5,6
ActionList2=Repeat FadeOut,5,6
FadeIn=[!SetVariable Alpha "(Clamp(#Alpha#+50,#MinAlpha#,255))"][!UpdateMeasure MeasureFade][!UpdateMeter MeterIcon1][!UpdateMeterGroup Icons][!Redraw]
FadeOut=[!SetVariable Alpha "(Clamp(#Alpha#-50,#MinAlpha#,255))"][!UpdateMeasure MeasureFade][!UpdateMeter MeterIcon1][!UpdateMeterGroup Icons][!Redraw]
DynamicVariables=1
UpdateDivider=-1
IgnoreWarnings=1

[MeterActionZone]
Meter=Image
X=0
Y=0
W=((3 * (#SpaceIcons# + #IconSize#)) - #SpaceIcons# + 20)
H=((4 * (#IconSize# + #SpaceLineIcons#)) + #LineThickness# +10)
SolidColor=0,0,0,1
MouseOverAction=[!CommandMeasure MeasureFade "Stop 2"][!CommandMeasure MeasureFade "Execute 1"]
MouseLeaveAction=[!CommandMeasure MeasureFade "Stop 1"][!CommandMeasure MeasureFade "Execute 2"]
DynamicVariables=1

[MeterBackground]
Meter=Image
X=0
Y=#LineThickness#
W=((3 * (#SpaceIcons# + #IconSize#)) - #SpaceIcons# + 20)
H=((4 * (#IconSize# + #SpaceLineIcons#)) +10)
SolidColor=#BackgroundColor#
DynamicVariables=1

[MeterLine]
Meter=Image
X=0
Y=0
W=((3 * (#SpaceIcons# + #IconSize#)) - #SpaceIcons# + 20)
H=#LineThickness#
SolidColor=#LineColor#

[MeasureOrientation]
Measure=String
String=3ColumnTop
IfMatch=3ColumnTop
IfMatchAction=[!SetOption MeterIcon1 X "10"][!SetOption MeterIcon1 Y "(#LineThickness# + #SpaceLineIcons#)"][!SetOptionGroup Icons X "(#SpaceIcons# + #IconSize#)r"][!SetOptionGroup Icons Y "r"][!SetOption MeterIcon4 X "10"][!SetOption MeterIcon4 Y "(#LineThickness# + #SpaceLineIcons#) + (#SpaceIcons# + #IconSize#)"][!SetOption MeterIcon7 X "10"][!SetOption MeterIcon7 Y "(#LineThickness# + #SpaceLineIcons# * 2) + (#SpaceIcons# + #IconSize# * 2)"][!SetOption MeterIcon10 X "10"][!SetOption MeterIcon10 Y "(#LineThickness# + #SpaceLineIcons# * 3) + (#SpaceIcons# + #IconSize# * 3)"]
IfMatchMode=0


@include=#@#Icons.ini
On mouseover action it will show a grid of the icons.
3column.gif
You do not have the required permissions to view the files attached to this post.
dsotm44
Posts: 23
Joined: September 26th, 2020, 12:14 pm

Re: Silmeria Dock help query

Post by dsotm44 »

Many thanks!

Thanks for the quick and detailed reply - I will mess around with this over the weekend and report back

Brian
dsotm44
Posts: 23
Joined: September 26th, 2020, 12:14 pm

Re: Silmeria Dock help query

Post by dsotm44 »

Hi

Again, many thanks for the code - it is awesome!

Quick question - I have managed to change everything except one item to a 4 column width - however - where would I need to make the change to display 4 vertical columns instead of 3?

Regards
Brian
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5384
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Silmeria Dock help query

Post by eclectic-tech »

dsotm44 wrote: May 6th, 2022, 4:39 pm Hi

Again, many thanks for the code - it is awesome!

Quick question - I have managed to change everything except one item to a 4 column width - however - where would I need to make the change to display 4 vertical columns instead of 3?

Regards
Brian
To have four columns, a 4 x 3 grid, change the multipliers in the action, line, and background sections; change all '4' values to '3' and change '3' values to '4'.

Then in the orientation section, change 'Meter4' to 'Meter5' and 'Meter7' to 'Meter9' and remove the the !SetOption bangs for 'Meter10'; Basically resetting the X and Y for every fifth meter back to the beginning of the next row...

Here is a 4-column skin: 'TopDock4Column'.

Code: Select all

[Rainmeter]
Update=1000
ContextTitle=Settings.ini
ContextAction=["#@#Settings.ini"]
ContextTitle2=Icons.ini
ContextAction2=["#@#Icons.ini"]

[Metadata]
Name=TopDock
Author=MixSilmeria
Version=Re;Birth (3.0)
License=Creative Commons BY-NC-SA 3.0
Information=Simple icon dock skin easily customizable. Made it with love, from Argentina to the world.

[Variables]
@include=#@#Settings.ini
MinAlpha=#Alpha#

[MeasureFade]
Measure=Plugin
Plugin=ActionTimer
Group=Sliders
ActionList1=Repeat FadeIn,5,6
ActionList2=Repeat FadeOut,5,6
FadeIn=[!SetVariable Alpha "(Clamp(#Alpha#+50,#MinAlpha#,255))"][!UpdateMeasure MeasureFade][!UpdateMeter MeterIcon1][!UpdateMeterGroup Icons][!Redraw]
FadeOut=[!SetVariable Alpha "(Clamp(#Alpha#-50,#MinAlpha#,255))"][!UpdateMeasure MeasureFade][!UpdateMeter MeterIcon1][!UpdateMeterGroup Icons][!Redraw]
DynamicVariables=1
UpdateDivider=-1
IgnoreWarnings=1

[MeterActionZone]
Meter=Image
X=0
Y=0
W=((4 * (#SpaceIcons# + #IconSize#)) - #SpaceIcons# + 20)
H=((3 * (#IconSize# + #SpaceLineIcons#)) + #LineThickness# +10)
SolidColor=0,0,0,1
MouseOverAction=[!CommandMeasure MeasureFade "Stop 2"][!CommandMeasure MeasureFade "Execute 1"]
MouseLeaveAction=[!CommandMeasure MeasureFade "Stop 1"][!CommandMeasure MeasureFade "Execute 2"]
DynamicVariables=1

[MeterBackground]
Meter=Image
X=0
Y=#LineThickness#
W=((4 * (#SpaceIcons# + #IconSize#)) - #SpaceIcons# + 20)
H=((3 * (#IconSize# + #SpaceLineIcons#)) +10)
SolidColor=#BackgroundColor#
DynamicVariables=1

[MeterLine]
Meter=Image
X=0
Y=0
W=((4 * (#SpaceIcons# + #IconSize#)) - #SpaceIcons# + 20)
H=#LineThickness#
SolidColor=#LineColor#

[MeasureOrientation]
Measure=String
String=4ColumnTop
IfMatch=4ColumnTop
IfMatchAction=[!SetOption MeterIcon1 X "10"][!SetOption MeterIcon1 Y "(#LineThickness# + #SpaceLineIcons#)"][!SetOptionGroup Icons X "(#SpaceIcons# + #IconSize#)r"][!SetOptionGroup Icons Y "r"][!SetOption MeterIcon5 X "10"][!SetOption MeterIcon5 Y "(#LineThickness# + #SpaceLineIcons#) + (#SpaceIcons# + #IconSize#)"][!SetOption MeterIcon9 X "10"][!SetOption MeterIcon9 Y "(#LineThickness# + #SpaceLineIcons# * 2) + (#SpaceIcons# + #IconSize# * 2)"]
IfMatchMode=0

@include=#@#Icons.ini
dsotm44
Posts: 23
Joined: September 26th, 2020, 12:14 pm

Re: Silmeria Dock help query

Post by dsotm44 »

Hi All done!

I changed the settings.ini to use a single image and the icons.ini to change the mouse over/leave states with an ImageTint

Code: Select all

[Variables]
NormalColor=255,153,51,127
HoverColor=0,255,0,255

[MeterIcon1]
Meter=Image
W=#IconSize#
H=#IconSize#
ImageName=#Icon1#
ImageAlpha=#Alpha#
ImageTint=#NormalColor#
MouseOverAction=[!SetOption #CURRENTSECTION# ImageTint #HoverColor#"][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# ImageTint #NormalColor#"][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
LeftMouseUpAction=#Icon1Action#
Antialias=1
DynamicVariables=1
Very happy with the result! Many thanks again for the help :)

I was thinking of a refinement: is there a way to make the ActionArea only the size of the Line when in the off state. Then when you mouseover the Line the ActionArea expands to full size for the duration until you Mouseleave or select an Action? This eliminates having a giant hidden button on screen when not being used.
2022-05-07_12-10-37.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5384
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Silmeria Dock help query

Post by eclectic-tech »

dsotm44 wrote: May 7th, 2022, 11:23 am Hi All done!

I changed the settings.ini to use a single image and the icons.ini to change the mouse over/leave states with an ImageTint

Code: Select all

[Variables]
NormalColor=255,153,51,127
HoverColor=0,255,0,255

[MeterIcon1]
Meter=Image
W=#IconSize#
H=#IconSize#
ImageName=#Icon1#
ImageAlpha=#Alpha#
ImageTint=#NormalColor#
MouseOverAction=[!SetOption #CURRENTSECTION# ImageTint #HoverColor#"][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# ImageTint #NormalColor#"][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
LeftMouseUpAction=#Icon1Action#
Antialias=1
DynamicVariables=1
Very happy with the result! Many thanks again for the help :)

I was thinking of a refinement: is there a way to make the ActionArea only the size of the Line when in the off state. Then when you mouseover the Line the ActionArea expands to full size for the duration until you Mouseleave or select an Action? This eliminates having a giant hidden button on screen when not being used.
Happy to help!

As for changing the action area or the size of the overall skin, would require changing how the skin functions. Currently, your icons are always displayed, but with a zero-alpha value; the alpha value is modified to fade the icons in and out using the action timer. The overall skin size is always going to be the size of your icon grid pattern or background.

You could add a container meter that expands to the height of the background and contracts to the height of the line when the mouse hovers to achieve a skin that only occupies the displayed sections. That is going to change how the action timer works, so it now controls the container size rather than the alpha values.

That pretty much means redesigning the skin's function which is more than I care to undertake at this time.
dsotm44
Posts: 23
Joined: September 26th, 2020, 12:14 pm

Re: Silmeria Dock help query

Post by dsotm44 »

No problem

It was an idea only - many thanks for the further clarification and help

Regards
Brian