It is currently April 19th, 2024, 4:08 am

[Request][Help] Support For Docklets/Docked Subfolders/Stacks/Running Application Indicator/Fan-Grid Menu

General topics related to Rainmeter.
User avatar
Yincognito
Rainmeter Sage
Posts: 7125
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: [Request][Help] Support For Docklets/Docked Subfolders/Stacks/Running Application Indicator/Fan-Grid Menu

Post by Yincognito »

AlphaRomeo wrote: March 16th, 2022, 12:52 am Just came across something very similar on Reddit Anyone trying to achieve it,

https://www.reddit.com/r/Rainmeter/comments/3mpawd/how_to_make_a_collapseable_icon/
https://www.reddit.com/r/Rainmeter/comments/3mga9t/can_anyone_help_me_with_this/

Goodluck
Adios
Something like this?
Dock_1.0.0.rmskin
ezgif.com-gif-maker (2).gif
Or, you can check the skins that provided the basis for this here (credit to the Rainmeter Team). In the interest of simplicity, I removed the ActionTimer system and used TransformationMatrix instead, adding the menu / collapseable like functionality. The names of variables and sections must stay the same since I extensively used the #CURRENTSECTION# built-in variable and they match the names of the icons in the @Resources subfolder, but one can add or improve this by copy pasting and changing indexes and such. I didn't place icons in arcs, use labels, rotate the elements or use animations, just kept it simple. Applications with spaces in their paths obviously need to be enclosed in quotes. The entire code is this:

Code: Select all

[Variables]
ScaleIconPlain=1;0;0;1;0;0
ScaleIconSmall=(#*ScaleSmall*#);0;0;(#*ScaleSmall*#);((1-#*ScaleSmall*#)*([#*CURRENTSECTION*#:X]+[#*CURRENTSECTION*#:W]/2));((1-#*ScaleSmall*#)*([#*CURRENTSECTION*#:Y]+[#*CURRENTSECTION*#:H]/2))
ScaleIconLarge=(#*ScaleLarge*#);0;0;(#*ScaleLarge*#);((1-#*ScaleLarge*#)*([#*CURRENTSECTION*#:X]+[#*CURRENTSECTION*#:W]/2));((1-#*ScaleLarge*#)*([#*CURRENTSECTION*#:Y]+[#*CURRENTSECTION*#:H]/2))
ScaleSmall=0.75
ScaleLarge=1.25
DockBackColor=0,0,0,128
ItemBackColor=0,0,0,1
NoTintColor=255,255,255,255
TintedColor=128,128,128,255
Indent=10
IconSize=48
DockIndex=1
DockCount=5
ItemCount1=2
ItemCount2=0
ItemCount3=1
ItemCount4=3
ItemCount5=1
DockIcon1Set=[!SetVariable DockIndex 1][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon2Set=[!SetVariable DockIndex 2][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon3Set=[!SetVariable DockIndex 3][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon4Set=[!SetVariable DockIndex 4][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon5Set=[!SetVariable DockIndex 5][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon1Run=[!ToggleMeterGroup ItemIconGroup][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon2Run=[!ToggleMeterGroup ItemIconGroup][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon3Run=[!ToggleMeterGroup ItemIconGroup][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon4Run=[!ToggleMeterGroup ItemIconGroup][!UpdateMeterGroup ItemIconGroup][!Redraw]
DockIcon5Run=[!ToggleMeterGroup ItemIconGroup][!UpdateMeterGroup ItemIconGroup][!Redraw]
ItemIcon1Run=[#*DockIcon[#*DockIndex*]ItemIcon1App*]
ItemIcon2Run=[#*DockIcon[#*DockIndex*]ItemIcon2App*]
ItemIcon3Run=[#*DockIcon[#*DockIndex*]ItemIcon3App*]
ItemIcon4Run=[#*DockIcon[#*DockIndex*]ItemIcon4App*]
ItemIcon5Run=[#*DockIcon[#*DockIndex*]ItemIcon5App*]
DockIcon1ItemIcon1App=["C:\Program Files\Google\Chrome\Application\chrome.exe"]
DockIcon1ItemIcon2App=[msedge.exe]
DockIcon3ItemIcon1App=[notepad.exe]
DockIcon4ItemIcon1App=[wmplayer.exe]
DockIcon4ItemIcon2App=[mspaint.exe]
DockIcon4ItemIcon3App=[taskmgr.exe]
DockIcon5ItemIcon1App=["C:\Program Files\Rainmeter\Rainmeter.exe" !Manage]

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
MouseLeaveAction=[!HideMeterGroup ItemIconGroup][!Redraw]

---Measures---

---Styles---

[sIcon]
W=(#IconSize#)
H=(#IconSize#)
ImagePath=#@#Images\
PreserveAspectRatio=1
ImageTint=#TintedColor#
UpdateDivider=-1
MouseOverAction=[!SetOption #CURRENTSECTION# TransformationMatrix "#ScaleIconLarge#"][!SetOption #CURRENTSECTION# ImageTint "#NoTintColor#"][!UpdateMeter *][!Redraw][#[#CURRENTSECTION]Set]
MouseLeaveAction=[!SetOption #CURRENTSECTION# TransformationMatrix "#ScaleIconPlain#"][!SetOption #CURRENTSECTION# ImageTint "#TintedColor#"][!UpdateMeter *][!Redraw]
LeftMouseDownAction=[!SetOption #CURRENTSECTION# TransformationMatrix "#ScaleIconSmall#"][!UpdateMeter *][!Redraw]
LeftMouseUpAction=[!SetOption #CURRENTSECTION# TransformationMatrix "#ScaleIconLarge#"][!UpdateMeter *][!Redraw][#[#CURRENTSECTION]Run]
DynamicVariables=1

[sDockIcon]
Group=DockIconGroup
X=(#Indent#)R
Y=(0)r
ImageName=#CURRENTSECTION#.png

[sItemIcon]
Group=ItemIconGroup
Hidden=1
X=(0)r
Y=(#Indent#)R
ImageName=DockIcon#DockIndex##CURRENTSECTION#.png

---Meters---

[DockBackground]
Meter=Image
W=((#IconSize#+#Indent#)*#DockCount#+#Indent#)
H=((#IconSize#+#Indent#)*1+#Indent#)
SolidColor=#DockBackColor#
UpdateDivider=-1
MouseLeaveAction=[!SetOptionGroup DockIconGroup TransformationMatrix "#ScaleIconPlain#"][!UpdateMeterGroup *][!Redraw]
DynamicVariables=1

[DockIcon1]
Meter=Image
MeterStyle=sIcon | sDockIcon
X=(#Indent#)r
Y=(#Indent#)r

[DockIcon2]
Meter=Image
MeterStyle=sIcon | sDockIcon

[DockIcon3]
Meter=Image
MeterStyle=sIcon | sDockIcon

[DockIcon4]
Meter=Image
MeterStyle=sIcon | sDockIcon

[DockIcon5]
Meter=Image
MeterStyle=sIcon | sDockIcon

[ItemBackground]
Group=ItemIconGroup
Hidden=1
Meter=Image
X=((#IconSize#+#Indent#)*(#DockIndex#-1))
Y=(#Indent#)R
W=((#IconSize#+#Indent#)*1+#Indent#)
H=((#IconSize#+#Indent#)*[#ItemCount[#DockIndex]]+#Indent#*Sgn([#ItemCount[#DockIndex]]))
SolidColor=#ItemBackColor#
UpdateDivider=-1
MouseLeaveAction=[!SetOptionGroup ItemIconGroup TransformationMatrix "#ScaleIconPlain#"][!UpdateMeterGroup *][!Redraw]
DynamicVariables=1

[ItemIcon1]
Meter=Image
MeterStyle=sIcon | sItemIcon
X=(#Indent#)r
Y=(#Indent#)r

[ItemIcon2]
Meter=Image
MeterStyle=sIcon | sItemIcon

[ItemIcon3]
Meter=Image
MeterStyle=sIcon | sItemIcon

[ItemIcon4]
Meter=Image
MeterStyle=sIcon | sItemIcon

[ItemIcon5]
Meter=Image
MeterStyle=sIcon | sItemIcon
No measures and under 150 lines - I'd say it should be easy to understand, even for a novice. Others probably did similar stuff as well, but I'm not that good at searching, I prefer to adjust things myself. :D

P.S. Other types of collapsibles, unrelated necessarily to icons, here.
You do not have the required permissions to view the files attached to this post.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
AlphaRomeo
Posts: 6
Joined: March 13th, 2022, 11:57 pm

Re: [Request][Help] Support For Docklets/Docked Subfolders/Stacks/Running Application Indicator/Fan-Grid Menu

Post by AlphaRomeo »

Thank you Very Much. Yes very similar to this. Am getting impressed more and more as days goin, by Rainmeter :great:
:17good
User avatar
Yincognito
Rainmeter Sage
Posts: 7125
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: [Request][Help] Support For Docklets/Docked Subfolders/Stacks/Running Application Indicator/Fan-Grid Menu

Post by Yincognito »

AlphaRomeo wrote: March 16th, 2022, 8:59 pm Thank you Very Much. Yes very similar to this. Am getting impressed more and more as days goin, by Rainmeter :great:
:17good
So you'll be in awe of it when you'll be 100 years old... 8-)
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth