It is currently March 29th, 2024, 12:33 pm

Fileview - Setting the topmost folder

Get help with creating, editing & fixing problems with skins
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Fileview - Setting the topmost folder

Post by balala »

hyprdmg wrote: January 13th, 2020, 8:21 pm So it looks like even with the code provided and trying with both hardware acceleration on/off, I seem to have issues with setting the update to 1000.

1000 Example: https://gfycat.com/angryrarealbertosaurus

50 Example: https://gfycat.com/wellmadeicygull
Ok, use it with Update=50 if it seems better this way. However this loads a little bit more the CPU than with Update=1000.
hyprdmg wrote: January 13th, 2020, 8:21 pm Also, I ended up taking out all [!Update] sections, and it seems to be running fine.
If the Update is set to 50 as described above, this is alright. However if the Update would be set to 1000, all MouseOverAction and MouseLeaveAction options of all meters from [Link1] up to [Link40] would require some updating and redrawing bangs:

Code: Select all

[LinkXX]
Meter=String
MeasureName=mNameXX
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink38 FollowPath]
MouseOverAction=[!SetOption #CURRENTSECTION# FontColor "#MouseOverColour#"][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# FontColor "#TextColor#"][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
Note that additionally I also replaced the first parameter of the above !SetOption bangs with #CURRENTSECTION#, which makes them much easier to be copied / pasted and added some quotes around the color codes. Adding this quotes might be important: https://forum.rainmeter.net/viewtopic.php?f=5&t=26350&p=137607#p137628
User avatar
hyprdmg
Posts: 44
Joined: May 23rd, 2010, 5:05 pm

Re: Fileview - Setting the topmost folder

Post by hyprdmg »

I've tried to use the update at 1000 a few times with some of the redraws, but it still seems to be giving me issues with some of the text not appearing right away, so for now I'm sticking with 50 as it doesn't seem to be putting me higher than 3% CPU, and that's only when mousing over multiple texts rapidly.

I did, however, move the [!UpdateMeter "#CURRENTSECTION#"][!Redraw] section to the StyleString section, and that helped reduce a lot of the code for all the links.

I also added a timer to the skin to return to the original path after a set time. I had to include a workaround for the skin if it was already at the top level. I'm sure the code is a bit sloppy, but getting it to work was pretty fun.

Code: Select all

[Rainmeter]
Update=50
SolidColor=0,0,0,1
BackgroundMode=2
MouseScrollDownAction=[!CommandMeasure MeasureFolder IndexDown]
MouseScrollUpAction=[!CommandMeasure MeasureFolder IndexUp]
MouseLeaveAction=[!EnableMeasure ResetTimer][!SetVariable Reset 1]
MouseOverAction=[!DisableMeasure ResetTimer]
DynamicWindowSize=1

[Variables]
TextColor=0,255,0
MouseOverColour=255,255,255
TextSize=12
Font=ModeSeven
AntiAlias=1
ScreenHeight=#SCREENAREAHEIGHT@2#
TopMargin=10
LeftMargin=15
Spacing=15
NumOfApps=(#ScreenHeight#/(#TextSize#+#Spacing#))
Reset=0
TopCheck=0

[StringStyle]
X=#LeftMargin#
Y=(#Spacing#+#TextSize#)r
Text=%1
FontColor=#TextColor#
FontSize=12
FontFace=ModeSeven
AntiAlias=1
MouseOverAction=[!SetOption #CURRENTSECTION# FontColor #MouseOverColour#][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# FontColor #TextColor#][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
DynamicVariables=1

[MeasureFolder]
Measure=Plugin
Plugin=FileView
Path=#@#Shortcuts
Count=#NumOfApps#
ShowDotDot=1
HideExtensions=1
IfMatch=Shortcuts\\$
IfMatchAction=[!DisableMouseAction Link1 "LeftMouseUpAction"][!SetVariable TopCheck 1]
IfNotMatchAction=[!EnableMouseAction Link1 "LeftMouseUpAction"][!SetVariable TopCheck 0]

[ResetTimer]
Measure=Calc
Formula=(ResetTimer+1)*#Reset#
MaxValue=155
IfCondition=(ResetTimer >= 150) && (Reset2 = 1)
IfTrueAction=[!SetVariable Reset 0]
IfCondition2=(ResetTimer >= 150) && (Reset2 = 0)
IfTrueAction2=[!CommandMeasure mLink1 FollowPath][!SetVariable Reset 0]
DynamicVariables=1

[Reset2]
Measure=Calc
Formula=#TopCheck#
DynamicVariables=1

;---Measures---

[mLink1]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=1

[mLink2]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=2
[mName2]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=2

[mLink3]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=3
[mName3]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=3

[mLink4]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=4
[mName4]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=4

[mLink5]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=5
[mName5]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=5

[mLink6]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=6
[mName6]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=6

[mLink7]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=7
[mName7]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=7

[mLink8]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=8
[mName8]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=8

[mLink9]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=9
[mName9]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=9

[mLink10]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=10
[mName10]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=10

[mLink11]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=11
[mName11]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=11

[mLink12]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=12
[mName12]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=12

[mLink13]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=13
[mName13]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=13

[mLink14]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=14
[mName14]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=14

[mLink15]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=15
[mName15]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=15

[mLink16]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=16
[mName16]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=16

[mLink17]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=17
[mName17]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=17

[mLink18]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=18
[mName18]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=18

[mLink19]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=19
[mName19]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=19

[mLink20]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=20
[mName20]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=20

[mLink21]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=21
[mName21]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=21

[mLink22]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=22
[mName22]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=22

[mLink23]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=23
[mName23]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=23

[mLink24]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=24
[mName24]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=24

[mLink25]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=25
[mName25]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=25

[mLink26]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=26
[mName26]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=26

[mLink27]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=27
[mName27]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=27

[mLink28]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=28
[mName28]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=28

[mLink29]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=29
[mName29]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=29

[mLink30]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=30
[mName30]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=30

[mLink31]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=31
[mName31]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=31

[mLink32]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=32
[mName32]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=32

[mLink33]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=33
[mName33]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=33

[mLink34]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=34
[mName34]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=34

[mLink35]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=35
[mName35]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=35

[mLink36]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=36
[mName36]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=36


[mLink37]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=37
[mName37]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=37

[mLink38]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=38
[mName38]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=38

[mLink39]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=39
[mName39]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=39

[mLink40]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=40
[mName40]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=40

;---Links---


[Link1]
Meter=String
MeasureName=mName1
MeterStyle=StringStyle
Y=#TopMargin#
Text=>../Home
LeftMouseUpAction=[!CommandMeasure mLink1 FollowPath]

[Link2]
Meter=String
MeasureName=mName2
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink2 FollowPath]

[Link3]
Meter=String
MeasureName=mName3
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink3 FollowPath]

[Link4]
Meter=String
MeasureName=mName4
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink4 FollowPath]

[Link5]
Meter=String
MeasureName=mName5
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink5 FollowPath]

[Link6]
Meter=String
MeasureName=mName6
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink6 FollowPath]

[Link7]
Meter=String
MeasureName=mName7
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink7 FollowPath]

[Link8]
Meter=String
MeasureName=mName8
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink8 FollowPath]

[Link9]
Meter=String
MeasureName=mName9
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink9 FollowPath]

[Link10]
Meter=String
MeasureName=mName10
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink10 FollowPath]

[Link11]
Meter=String
MeasureName=mName11
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink11 FollowPath]

[Link12]
Meter=String
MeasureName=mName12
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink12 FollowPath]

[Link13]
Meter=String
MeasureName=mName13
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink13 FollowPath]

[Link14]
Meter=String
MeasureName=mName14
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink14 FollowPath]

[Link15]
Meter=String
MeasureName=mName15
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink15 FollowPath]

[Link16]
Meter=String
MeasureName=mName16
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink16 FollowPath]

[Link17]
Meter=String
MeasureName=mName17
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink17 FollowPath]

[Link18]
Meter=String
MeasureName=mName18
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink18 FollowPath]

[Link19]
Meter=String
MeasureName=mName19
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink19 FollowPath]

[Link20]
Meter=String
MeasureName=mName20
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink20 FollowPath]

[Link21]
Meter=String
MeasureName=mName21
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink21 FollowPath]

[Link22]
Meter=String
MeasureName=mName22
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink22 FollowPath]

[Link23]
Meter=String
MeasureName=mName23
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink23 FollowPath]

[Link24]
Meter=String
MeasureName=mName24
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink24 FollowPath]

[Link25]
Meter=String
MeasureName=mName25
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink25 FollowPath]

[Link26]
Meter=String
MeasureName=mName26
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink26 FollowPath]

[Link27]
Meter=String
MeasureName=mName27
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink27 FollowPath]

[Link28]
Meter=String
MeasureName=mName28
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink28 FollowPath]

[Link29]
Meter=String
MeasureName=mName29
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink29 FollowPath]

[Link30]
Meter=String
MeasureName=mName30
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink30 FollowPath]

[Link31]
Meter=String
MeasureName=mName31
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink31 FollowPath]

[Link32]
Meter=String
MeasureName=mName32
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink32 FollowPath]

[Link33]
Meter=String
MeasureName=mName33
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink33 FollowPath]

[Link34]
Meter=String
MeasureName=mName34
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink34 FollowPath]

[Link35]
Meter=String
MeasureName=mName35
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink35 FollowPath]

[Link36]
Meter=String
MeasureName=mName36
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink36 FollowPath]

[Link37]
Meter=String
MeasureName=mName37
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink37 FollowPath]

[Link38]
Meter=String
MeasureName=mName38
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink38 FollowPath]

[Link39]
Meter=String
MeasureName=mName39
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink39 FollowPath]

[Link40]
Meter=String
MeasureName=mName40
MeterStyle=StringStyle
LeftMouseUpAction=[!CommandMeasure mLink40 FollowPath]
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Fileview - Setting the topmost folder

Post by balala »

hyprdmg wrote: January 14th, 2020, 4:51 pm I've tried to use the update at 1000 a few times with some of the redraws, but it still seems to be giving me issues with some of the text not appearing right away, so for now I'm sticking with 50 as it doesn't seem to be putting me higher than 3% CPU, and that's only when mousing over multiple texts rapidly.

I did, however, move the [!UpdateMeter "#CURRENTSECTION#"][!Redraw] section to the StyleString section, and that helped reduce a lot of the code for all the links.
Probably it doesn't load the CPU too much, however I still think the default Update=1000 is a better option. To make it to work more quicker, you have to update some measures and meters. Here is what you can do.
First replace the Update=50 with Update=1000. I'm sorry I still insist on this, but for the skins controlled by mouse, there is no reason to have such a low Update.
Add a Group=Items option to the [StringStyle] section (take care it is [StringStyle], not [StyleString]).
Finally add the [!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!UpdateMeterGroup "Items"][!Redraw] bangs to the end of LeftMouseUpAction options of all meters from [Link1] to [Link40]. For instance the LeftMouseUpAction option of [Link1] will become:

Code: Select all

[Link1]
...
LeftMouseUpAction=[!CommandMeasure mLink1 FollowPath][!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!UpdateMeterGroup "Items"][!Redraw]
Does it work quicker now?
hyprdmg wrote: January 14th, 2020, 4:51 pm I also added a timer to the skin to return to the original path after a set time. I had to include a workaround for the skin if it was already at the top level. I'm sure the code is a bit sloppy, but getting it to work was pretty fun.
No need for the [Reset2] measure. Generally speaking, the less measures, the better it is. So you can completely renounce to this useless measure and check the value of the #TopCheck# variable directly into the IfCondition options of [ResetTimer] measure. Also note that I'd add a Limit (or whatever) variable to the [Variables] section, which is the time limit after that the skin resets and would use this into the measure. The advantage is that changing the limit is much easier if anytime later you want to change it:

Code: Select all

[Variables]
...
Limit=20

...

[ResetTimer]
Measure=Calc
Formula=(ResetTimer+1)*#Reset#
MaxValue=155
IfCondition=(ResetTimer >= #Limit#) && (#TopCheck# = 1)
IfTrueAction=[!SetVariable Reset 0]
IfCondition2=(ResetTimer >= #Limit#) && (#TopCheck# = 0)
IfTrueAction2=[!CommandMeasure mLink1 FollowPath][!SetVariable Reset 0]
DynamicVariables=1

;[Reset2]
;Measure=Calc
;Formula=#TopCheck#
;DynamicVariables=1
User avatar
hyprdmg
Posts: 44
Joined: May 23rd, 2010, 5:05 pm

Re: Fileview - Setting the topmost folder

Post by hyprdmg »

I added the Group=Items to the [StringStyle] and tried to add the [!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!UpdateMeterGroup "Items"][!Redraw] to the LeftMouseUpActions, but same result, some of the text was delayed at random.

I did add LeftMouseUpAction=[!CommandMeasure "m#CURRENTSECTION# FollowPath][!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!Redraw] to the [StringStyle], which let me remove more from the Links below, which is nice.

I have also removed unneeded measure, not sure how I missed the obvious redundancy here.

Code: Select all

[Rainmeter]
Update=50
SolidColor=0,0,0,1
BackgroundMode=2
MouseScrollDownAction=[!CommandMeasure MeasureFolder IndexDown]
MouseScrollUpAction=[!CommandMeasure MeasureFolder IndexUp]
MouseLeaveAction=[!EnableMeasure ResetTimer][!SetVariable Reset 1]
MouseOverAction=[!DisableMeasure ResetTimer]
DynamicWindowSize=1

[Variables]
TextColor=0,255,0
MouseOverColour=255,255,255
TextSize=12
Font=ModeSeven
AntiAlias=1
ScreenHeight=#SCREENAREAHEIGHT@2#
TopMargin=10
LeftMargin=15
Spacing=15
NumOfApps=(#ScreenHeight#/(#TextSize#+#Spacing#))
Reset=0
TopCheck=0
Limit=90

[StringStyle]
X=#LeftMargin#
Y=(#Spacing#+#TextSize#)r
Text=%1
FontColor=#TextColor#
FontSize=12
FontFace=ModeSeven
AntiAlias=1
MouseOverAction=[!SetOption #CURRENTSECTION# FontColor #MouseOverColour#][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# FontColor #TextColor#][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
LeftMouseUpAction=[!CommandMeasure "m#CURRENTSECTION# FollowPath][!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!Redraw]
DynamicVariables=1

[MeasureFolder]
Measure=Plugin
Plugin=FileView
Path=#@#Shortcuts
Count=#NumOfApps#
ShowDotDot=1
HideExtensions=1
IfMatch=Shortcuts\\$
IfMatchAction=[!DisableMouseAction Link1 "LeftMouseUpAction"][!SetVariable TopCheck 1]
IfNotMatchAction=[!EnableMouseAction Link1 "LeftMouseUpAction"][!SetVariable TopCheck 0]

[ResetTimer]
Measure=Calc
Formula=(ResetTimer+1)*#Reset#
MaxValue=100
IfCondition=(ResetTimer >= #Limit#) && (#TopCheck# = 1)
IfTrueAction=[!SetVariable Reset 0]
IfCondition2=(ResetTimer >= #Limit#) && (#TopCheck# = 0)
IfTrueAction2=[!CommandMeasure mLink1 FollowPath][!SetVariable Reset 0]
DynamicVariables=1

;---Measures---

[mLink1]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=1

[mLink2]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=2
[mName2]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=2

[mLink3]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=3
[mName3]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=3
...

...
;---Links---


[Link1]
Meter=String
MeasureName=mName1
MeterStyle=StringStyle
Y=#TopMargin#
Text=>../Home

[Link2]
Meter=String
MeasureName=mName2
MeterStyle=StringStyle

[Link3]
Meter=String
MeasureName=mName3
MeterStyle=StringStyle

....
Other than the Update not being 100% 'clean', I'm not sure I have other updates I plan on making for this. I wanted something kinda lightweight and snappy, and this seems to satisfy that need.
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Fileview - Setting the topmost folder

Post by balala »

hyprdmg wrote: January 14th, 2020, 8:44 pm I added the Group=Items to the [StringStyle] and tried to add the [!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!UpdateMeterGroup "Items"][!Redraw] to the LeftMouseUpActions, but same result, some of the text was delayed at random.

I did add LeftMouseUpAction=[!CommandMeasure "m#CURRENTSECTION# FollowPath][!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!Redraw] to the [StringStyle], which let me remove more from the Links below, which is nice.
A [!UpdateMeterGroup "Items"] bangs is missing from the LeftMouseUpAction option added to the [StringStyle] section. So, take care not to miss any bang, because if you do, I'm not surprised on the delay. The [StringStyle] now look this way for me:

Code: Select all

[StringStyle]
X=#LeftMargin#
Y=(#Spacing#+#TextSize#)r
Text=%1
FontColor=#TextColor#
FontSize=12
FontFace=ModeSeven
AntiAlias=1
MouseOverAction=[!SetOption #CURRENTSECTION# FontColor #MouseOverColour#][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# FontColor #TextColor#][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
LeftMouseUpAction=[!CommandMeasure "m#CURRENTSECTION#" "FollowPath"][!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!UpdateMeterGroup "Items"][!Redraw]
DynamicVariables=1
Group=Items
hyprdmg wrote: January 14th, 2020, 8:44 pm Other than the Update not being 100% 'clean', I'm not sure I have other updates I plan on making for this. I wanted something kinda lightweight and snappy, and this seems to satisfy that need.
It does work quickly enough for me:

Code: Select all

[Rainmeter]
Update=1000
SolidColor=0,0,0,100
BackgroundMode=2
MouseScrollDownAction=[!CommandMeasure MeasureFolder IndexDown]
MouseScrollUpAction=[!CommandMeasure MeasureFolder IndexUp]
MouseLeaveAction=[!EnableMeasure ResetTimer][!SetVariable Reset 1]
MouseOverAction=[!DisableMeasure ResetTimer]
DynamicWindowSize=1

[Variables]
TextColor=0,255,0
MouseOverColour=255,255,255
TextSize=12
Font=ModeSeven
AntiAlias=1
ScreenHeight=#SCREENAREAHEIGHT@2#
TopMargin=10
LeftMargin=15
Spacing=15
NumOfApps=(#ScreenHeight#/(#TextSize#+#Spacing#))
Reset=0
TopCheck=0
Limit=20

[StringStyle]
X=#LeftMargin#
Y=(#Spacing#+#TextSize#)r
Text=%1
FontColor=#TextColor#
FontSize=12
FontFace=ModeSeven
AntiAlias=1
MouseOverAction=[!SetOption #CURRENTSECTION# FontColor #MouseOverColour#][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# FontColor #TextColor#][!UpdateMeter "#CURRENTSECTION#"][!Redraw]
LeftMouseUpAction=[!CommandMeasure "m#CURRENTSECTION#" "FollowPath"][!UpdateMeasure "MeasureFolder"][!UpdateMeasure "m#CURRENTSECTION#"][!UpdateMeterGroup "Items"][!Redraw]
DynamicVariables=1
Group=Items

[MeasureFolder]
Measure=Plugin
Plugin=FileView
Path=#@#Shortcuts
Count=#NumOfApps#
ShowDotDot=1
HideExtensions=1
IfMatch=Shortcuts\\$
IfMatchAction=[!DisableMouseAction Link1 "LeftMouseUpAction"][!SetVariable TopCheck 1]
IfNotMatchAction=[!EnableMouseAction Link1 "LeftMouseUpAction"][!SetVariable TopCheck 0]

[ResetTimer]
Measure=Calc
Formula=(ResetTimer+1)*#Reset#
MaxValue=155
IfCondition=(ResetTimer >= #Limit#) && (#TopCheck# = 1)
IfTrueAction=[!SetVariable Reset 0]
IfCondition2=(ResetTimer >= #Limit#) && (#TopCheck# = 0)
IfTrueAction2=[!CommandMeasure mLink1 FollowPath][!SetVariable Reset 0]
DynamicVariables=1

;[Reset2]
;Measure=Calc
;Formula=#TopCheck#
;DynamicVariables=1

;---Measures---

[mLink1]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=1

[mLink2]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=2
[mName2]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=2

[mLink3]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=3
[mName3]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=3

[mLink4]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=4
[mName4]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=4

[mLink5]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=5
[mName5]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=5

[mLink6]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=6
[mName6]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=6

[mLink7]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=7
[mName7]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=7

[mLink8]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=8
[mName8]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=8

[mLink9]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=9
[mName9]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=9

[mLink10]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=10
[mName10]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=10

[mLink11]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=11
[mName11]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=11

[mLink12]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=12
[mName12]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=12

[mLink13]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=13
[mName13]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=13

[mLink14]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=14
[mName14]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=14

[mLink15]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=15
[mName15]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=15

[mLink16]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=16
[mName16]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=16

[mLink17]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=17
[mName17]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=17

[mLink18]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=18
[mName18]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=18

[mLink19]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=19
[mName19]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=19

[mLink20]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=20
[mName20]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=20

[mLink21]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=21
[mName21]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=21

[mLink22]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=22
[mName22]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=22

[mLink23]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=23
[mName23]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=23

[mLink24]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=24
[mName24]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=24

[mLink25]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=25
[mName25]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=25

[mLink26]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=26
[mName26]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=26

[mLink27]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=27
[mName27]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=27

[mLink28]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=28
[mName28]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=28

[mLink29]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=29
[mName29]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=29

[mLink30]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=30
[mName30]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=30

[mLink31]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=31
[mName31]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=31

[mLink32]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=32
[mName32]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=32

[mLink33]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=33
[mName33]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=33

[mLink34]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=34
[mName34]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=34

[mLink35]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=35
[mName35]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=35

[mLink36]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=36
[mName36]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=36


[mLink37]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=37
[mName37]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=37

[mLink38]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=38
[mName38]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=38

[mLink39]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=39
[mName39]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=39

[mLink40]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FilePath
Index=40
[mName40]
Measure=Plugin
Plugin=FileView
Path=[MeasureFolder]
Type=FileName
Index=40

;---Links---


[Link1]
Meter=String
MeasureName=mName1
MeterStyle=StringStyle
Y=#TopMargin#
Text=>../Home

[Link2]
Meter=String
MeasureName=mName2
MeterStyle=StringStyle

[Link3]
Meter=String
MeasureName=mName3
MeterStyle=StringStyle

[Link4]
Meter=String
MeasureName=mName4
MeterStyle=StringStyle

[Link5]
Meter=String
MeasureName=mName5
MeterStyle=StringStyle

[Link6]
Meter=String
MeasureName=mName6
MeterStyle=StringStyle

[Link7]
Meter=String
MeasureName=mName7
MeterStyle=StringStyle

[Link8]
Meter=String
MeasureName=mName8
MeterStyle=StringStyle

[Link9]
Meter=String
MeasureName=mName9
MeterStyle=StringStyle

[Link10]
Meter=String
MeasureName=mName10
MeterStyle=StringStyle

[Link11]
Meter=String
MeasureName=mName11
MeterStyle=StringStyle

[Link12]
Meter=String
MeasureName=mName12
MeterStyle=StringStyle

[Link13]
Meter=String
MeasureName=mName13
MeterStyle=StringStyle

[Link14]
Meter=String
MeasureName=mName14
MeterStyle=StringStyle

[Link15]
Meter=String
MeasureName=mName15
MeterStyle=StringStyle

[Link16]
Meter=String
MeasureName=mName16
MeterStyle=StringStyle

[Link17]
Meter=String
MeasureName=mName17
MeterStyle=StringStyle

[Link18]
Meter=String
MeasureName=mName18
MeterStyle=StringStyle

[Link19]
Meter=String
MeasureName=mName19
MeterStyle=StringStyle

[Link20]
Meter=String
MeasureName=mName20
MeterStyle=StringStyle

[Link21]
Meter=String
MeasureName=mName21
MeterStyle=StringStyle

[Link22]
Meter=String
MeasureName=mName22
MeterStyle=StringStyle

[Link23]
Meter=String
MeasureName=mName23
MeterStyle=StringStyle

[Link24]
Meter=String
MeasureName=mName24
MeterStyle=StringStyle

[Link25]
Meter=String
MeasureName=mName25
MeterStyle=StringStyle

[Link26]
Meter=String
MeasureName=mName26
MeterStyle=StringStyle

[Link27]
Meter=String
MeasureName=mName27
MeterStyle=StringStyle

[Link28]
Meter=String
MeasureName=mName28
MeterStyle=StringStyle

[Link29]
Meter=String
MeasureName=mName29
MeterStyle=StringStyle

[Link30]
Meter=String
MeasureName=mName30
MeterStyle=StringStyle

[Link31]
Meter=String
MeasureName=mName31
MeterStyle=StringStyle

[Link32]
Meter=String
MeasureName=mName32
MeterStyle=StringStyle

[Link33]
Meter=String
MeasureName=mName33
MeterStyle=StringStyle

[Link34]
Meter=String
MeasureName=mName34
MeterStyle=StringStyle

[Link35]
Meter=String
MeasureName=mName35
MeterStyle=StringStyle

[Link36]
Meter=String
MeasureName=mName36
MeterStyle=StringStyle

[Link37]
Meter=String
MeasureName=mName37
MeterStyle=StringStyle

[Link38]
Meter=String
MeasureName=mName38
MeterStyle=StringStyle

[Link39]
Meter=String
MeasureName=mName39
MeterStyle=StringStyle

[Link40]
Meter=String
MeasureName=mName40
MeterStyle=StringStyle
User avatar
hyprdmg
Posts: 44
Joined: May 23rd, 2010, 5:05 pm

Re: Fileview - Setting the topmost folder

Post by hyprdmg »

I realized my rainmeter was a bit old (4.3 instead of 4.4) so I updated to see if that would help, and I tried using the code you provided and the problem still exists with the update set to 1000.
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Fileview - Setting the topmost folder

Post by balala »

hyprdmg wrote: January 14th, 2020, 9:29 pm I realized my rainmeter was a bit old (4.3 instead of 4.4) so I updated to see if that would help, and I tried using the code you provided and the problem still exists with the update set to 1000.
Although using the latest version is always a good idea, this probably doesn't have any influence on the speed. But in this case, use it with Update=50. I'm surprised it is still slow, but use the low Update version in order to get it working well. Usually this has no great impact on the computer. :thumbup:
User avatar
hyprdmg
Posts: 44
Joined: May 23rd, 2010, 5:05 pm

Re: Fileview - Setting the topmost folder

Post by hyprdmg »

Thank you for all the help with the code, and the cleanup!

Works a lot better than when I started!

https://gfycat.com/viciouswhichguineapig
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Fileview - Setting the topmost folder

Post by balala »

hyprdmg wrote: January 14th, 2020, 9:43 pm Works a lot better than when I started!
I'm glad if it does.