arcanosa84 wrote: ↑August 4th, 2023, 3:02 pm
Ah that coincides with what I saw or read from a post
[...]
Thank you very much, and sorry for the inconvenience.
Two things:
- the code you posted isn't enough, because it references other files that only you have (I could search for the skin myself, but I won't do that, see below)
- the code you posted is from an old skin, and I don't do ressurrection work for other people's skins, let alone make a fully fledged skin for someone else
That being said, I can help you with a decent start and direction for what you'd like to achieve, with the tweaking and further development up to you. Now, I'm not sure whether this is what you want or close to what you envision since I have no idea if it's actually 3 folders or just 1 you want to include in the drop down list, if you're interested in having the files in the drop down list or not, but this will probably work no matter what...
...[SkinFolder]\@Resources\Launcher.png (same image you uploaded, but correctly attached to the post):
Launcher.png
...[SkinFolder]\Skin.ini (must be saved encoded as UTF-16 LE in Notepad, or UTF-16 LE BOM in Notepad++, so the Unicode icons are
seen by Rainmeter):
Code: Select all
[Variables]
FontFace=Consolas
FontSize=12
LauncherW=120
LineW=240
LineH=24
StrokeW=2
LineGap=5
Corner=6
FolderPath="%USERPROFILE%\Documents"
Lines=3
[Rainmeter]
Update=1000
AccurateText=1
DynamicWindowSize=1
---Measures---
[Folder]
Measure=Plugin
Plugin=FileView
Path="#FolderPath#"
ShowDotDot=1
ShowFolder=1
Count=#Lines#
FinishAction=[!UpdateMeasureGroup Elements][!UpdateMeter *][!Redraw]
UpdateDivider=-1
[ElementName1]
Group=Elements
Measure=Plugin
Plugin=FileView
Path=[Folder]
Type=FileName
Index=1
[ElementType1]
Group=Elements
Measure=Plugin
Plugin=FileView
Path=[Folder]
Type=FileType
Index=1
[ElementIcon1]
Group=Elements
Measure=String
String="[ElementName1]|[ElementType1]"
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+[|].+$":"📄","^.+[|]$":"📁","^[|]$":""
IfMatch=^$
IfMatchAction=[!SetOption ElementText1 H 0]
IfNotMatchAction=[!SetOption ElementText1 H (#LineH#)]
IfMatchMode=1
DynamicVariables=1
[ElementName2]
Group=Elements
Measure=Plugin
Plugin=FileView
Path=[Folder]
Type=FileName
Index=2
[ElementType2]
Group=Elements
Measure=Plugin
Plugin=FileView
Path=[Folder]
Type=FileType
Index=2
[ElementIcon2]
Group=Elements
Measure=String
String="[ElementName2]|[ElementType2]"
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+[|].+$":"📄","^.+[|]$":"📁","^[|]$":""
IfMatch=^$
IfMatchAction=[!SetOption ElementText2 H 0]
IfNotMatchAction=[!SetOption ElementText2 H (#LineH#)]
IfMatchMode=1
DynamicVariables=1
[ElementName3]
Group=Elements
Measure=Plugin
Plugin=FileView
Path=[Folder]
Type=FileName
Index=3
[ElementType3]
Group=Elements
Measure=Plugin
Plugin=FileView
Path=[Folder]
Type=FileType
Index=3
[ElementIcon3]
Group=Elements
Measure=String
String="[ElementName3]|[ElementType3]"
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+[|].+$":"📄","^.+[|]$":"📁","^[|]$":""
IfMatch=^$
IfMatchAction=[!SetOption ElementText3 H 0]
IfNotMatchAction=[!SetOption ElementText3 H (#LineH#)]
IfMatchMode=1
DynamicVariables=1
---Styles---
[Texts]
Hidden=1
X=0r
Y=(#LineGap#)R
W=(#LineW#-#StrokeW#*2)
FontEffectColor=0,0,0,255
FontColor=255,255,255,255
StringEffect=Shadow
FontFace=#FontFace#
FontSize=#FontSize#
AntiAlias=1
ClipString=2
UpdateDivider=-1
MouseOverAction=[!SetOption #CURRENTSECTION# SolidColor "255,128,64,128"][!UpdateMeter #CURRENTSECTION#][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# SolidColor ""][!UpdateMeter #CURRENTSECTION#][!Redraw]
DynamicVariables=1
---Meters---
[FolderName]
Meter=Image
X=((#LineW#-#LauncherW#)/2)
W=(#LauncherW#)
ImageName=#@#Launcher.png
UpdateDivider=-1
LeftMouseUpAction=[!ToggleMeterGroup ElementLines][!Redraw]
DynamicVariables=1
[DropDownBox]
Group=ElementLines
Hidden=1
Y=(#LineGap#)R
Meter=Shape
Shape=Rectangle (#StrokeW#/2),(#StrokeW#/2),(#LineW#-#StrokeW#),(#LineH#*#Lines#+#LineGap#*(#Lines#+1)),#Corner# | StrokeWidth #StrokeW# | Stroke Color 255,255,255,128 | Fill Color 0,0,0,128
UpdateDivider=-1
MouseScrollUpAction=[!CommandMeasure Folder "IndexUp"][!UpdateMeasure Folder][!UpdateMeasureGroup Elements][!UpdateMeter *][!Redraw]
MouseScrollDownAction=[!CommandMeasure Folder "IndexDown"][!UpdateMeasure Folder][!UpdateMeasureGroup Elements][!UpdateMeter *][!Redraw]
DynamicVariables=1
[ElementText1]
Group=ElementLines
Meter=String
MeterStyle=Texts
X=(#StrokeW#)r
Y=(#LineGap#)r
MeasureName=ElementName1
MeasureName2=ElementIcon1
Text=%2 %1
LeftMouseUpAction=[!CommandMeasure ElementName1 "FollowPath"][!UpdateMeasure Folder][!UpdateMeasureGroup Elements][!UpdateMeter *][!Redraw]
[ElementText2]
Group=ElementLines
Meter=String
MeterStyle=Texts
MeasureName=ElementName2
MeasureName2=ElementIcon2
Text=%2 %1
LeftMouseUpAction=[!CommandMeasure ElementName2 "FollowPath"][!UpdateMeasure Folder][!UpdateMeasureGroup Elements][!UpdateMeter *][!Redraw]
[ElementText3]
Group=ElementLines
Meter=String
MeterStyle=Texts
MeasureName=ElementName3
MeasureName2=ElementIcon3
Text=%2 %1
LeftMouseUpAction=[!CommandMeasure ElementName3 "FollowPath"][!UpdateMeasure Folder][!UpdateMeasureGroup Elements][!UpdateMeter *][!Redraw]
This is a simple code that you could have done as well, bar some little tricks here and there. Ideally, it would have been shorter if using only the [Folder] and [ElementName...]
FileView measures for a drop down list with names only, but it looked awkward so I detected the [ElementType...] as well in order to add some file / folder indicator as Unicode icon characters and some existence test in [ElementIcon...]. The meters are simple, just the launcher image, the drop down box rectangle, and the lines with the icons and names. They've been added bangs to show/hide stuff, scroll stuff up and down, and executing stuff on click as necessary. These meters use
meter styles to avoid typing the same options for each one of them, and are either highlighted with a different color on hover or reset to their original background color on mouse leave. Most of the things can be controlled by changing the value of the corresponding variables in the [Variables] section, and more lines can be added by increasing the value of the Lines variable while at the same time adding an appropriate number of additional measures (ElementName..., ElementType..., ElementIcon...) and meters (ElementText...).
Feel free to adjust things to your preference. Also, use the links to understand why and how stuff is used in the code.
You do not have the required permissions to view the files attached to this post.