It is currently April 19th, 2024, 6:58 pm

HDD pie graph text "wrapping"

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

Re: HDD pie graph text "wrapping"

Post by balala »

StArL0rd84 wrote:Had to go to bed.
Will try new code tomorrow.
:thumbup:
User avatar
StArL0rd84
Posts: 424
Joined: February 8th, 2015, 10:07 pm
Location: EU, Denmark.

Re: HDD pie graph text "wrapping"

Post by StArL0rd84 »

balala wrote:This?

Code: Select all

[MeterString1]
...
TransformationMatrix=(Cos(-PI*([mPercent1]<0.5)-PI/2-2*PI*([mPercent1]/2)));(-Sin(-PI*([mPercent1]<0.5)-PI/2-2*PI*([mPercent1]/2)));(Sin(-PI*([mPercent1]<0.5)-PI/2-2*PI*([mPercent1]/2)));(Cos(-PI*([mPercent1]<0.5)-PI/2-2*PI*([mPercent1]/2)));(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)-(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Cos(-PI*([mPercent1]<0.5)-PI/2-2*PI*([mPercent1]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Sin(-PI*([mPercent1]<0.5)-PI/2-2*PI*([mPercent1]/2))));(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)+(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Sin(-PI*([mPercent1]<0.5)-PI/2-2*PI*([mPercent1]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Cos(-PI*([mPercent1]<0.5)-PI/2-2*PI*([mPercent1]/2))))

[MeterString2]
...
TransformationMatrix=(Cos(-PI*(([mpercent1]+[mPercent2]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]/2)));(-Sin(-PI*(([mpercent1]+[mPercent2]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]/2)));(Sin(-PI*(([mpercent1]+[mPercent2]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]/2)));(Cos(-PI*(([mpercent1]+[mPercent2]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]/2)));(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)-(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Cos(-PI*(([mpercent1]+[mPercent2]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Sin(-PI*(([mpercent1]+[mPercent2]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]/2))));(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)+(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Sin(-PI*(([mpercent1]+[mPercent2]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Cos(-PI*(([mpercent1]+[mPercent2]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]/2))))

[MeterString3]
...
TransformationMatrix=(Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)));(-Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)));(Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)));(Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)));(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)-(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2))));(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)+(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2))))

[MeterString4]
...
TransformationMatrix=(Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)));(-Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)));(Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)));(Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)));(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)-(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2))));(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)+(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2))))

[MeterString5]
...
TransformationMatrix=(Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)));(-Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)));(Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)));(Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)));(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)-(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2))));(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)+(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Sin(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Cos(-PI*(([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)<0.5)-PI/2-2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2))))
Not really what i was looking for, sorry.
But still REALLY amazing. I'm sure ill find another application for it some time though.
I think i'm gonna stick with the horizontal text for now.

But i'm toying with the idea of having lines going from the text, pointing to the corresponding slice.
Could probably be done with the shape meter.
([mWorkTime] = 1 ? #Work# : ([mEnergyLoss:%] >= 70% ? #Chillmode# : </>))
User avatar
balala
Rainmeter Sage
Posts: 16145
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: HDD pie graph text "wrapping"

Post by balala »

StArL0rd84 wrote:I think i'm gonna stick with the horizontal text for now.
As you wish.
StArL0rd84 wrote:But i'm toying with the idea of having lines going from the text, pointing to the corresponding slice.
Could probably be done with the shape meter.
Not really sure it worth to work with, because you have the corresponding strings in position, next to the appropriate part of the pie. Probably it indeed can be done, I'm just not sure it worth.
User avatar
StArL0rd84
Posts: 424
Joined: February 8th, 2015, 10:07 pm
Location: EU, Denmark.

Re: HDD pie graph text "wrapping"

Post by StArL0rd84 »

balala wrote:Not really sure it worth to work with, because you have the corresponding strings in position, next to the appropriate part of the pie. Probably it indeed can be done, I'm just not sure it worth.
Yeah, don't know if i'll actually use it.
But i figured it out using your wizardry X&Y magic.

Code: Select all

[MeterShapes]
Meter=Shape
Shape=Line ([MeterNumber1:X]+[MeterNumber1:W]/2+((25+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((25+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))),([MeterNumber1:X]+[MeterNumber1:W]/2+((1+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((1+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))) | StrokeWidth 2 | Stroke Color #Color5#
DynamicVariables=1
([mWorkTime] = 1 ? #Work# : ([mEnergyLoss:%] >= 70% ? #Chillmode# : </>))
User avatar
balala
Rainmeter Sage
Posts: 16145
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: HDD pie graph text "wrapping"

Post by balala »

StArL0rd84 wrote:Yeah, don't know if i'll actually use it.
But i figured it out using your wizardry X&Y magic.
Very good. I suppose you've added five such meters, one for each roundline. About these meters, I'd modify them, to have their size bound to the previously added Dist variable.
And I'd do one more thing. I suppose some of the sections are related to removable drives. If so, I'd add some sections which can detect if those drives are removed and if they are, would hide the related meters:

Code: Select all

[Rainmeter]
Update=1000
AccurateText=1
DynamicWindowSize=1

[Variables]
Color1=60,242,24
Color2=80,160,240
Color3=220,60,90
Color4=220,250,30
Color5=255,255,255
PieSize=200
LineStart=(#PieSize#/2)-10
Drive1=C
Drive2=D
Drive3=J
Drive4=X
Dist=25

[mDriveUsed1]
Measure=FreeDiskSpace
Drive=#Drive1#:
InvertMeasure=1
IgnoreRemovable=0

[mDriveUsed2]
Measure=FreeDiskSpace
Drive=#Drive2#:
InvertMeasure=1
IgnoreRemovable=0

[mDriveUsed3]
Measure=FreeDiskSpace
Drive=#Drive3#:
InvertMeasure=1
IgnoreRemovable=0

[mDriveUsed4]
Measure=FreeDiskSpace
Drive=#Drive4#:
InvertMeasure=1
IgnoreRemovable=0

[mDriveFree1]
Measure=FreeDiskSpace
Drive=#Drive1#:
IgnoreRemovable=0

[mDriveFree2]
Measure=FreeDiskSpace
Drive=#Drive2#:
IgnoreRemovable=0

[mDriveFree3]
Measure=FreeDiskSpace
Drive=#Drive3#:
IgnoreRemovable=0

[mDriveFree4]
Measure=FreeDiskSpace
Drive=#Drive4#:
IgnoreRemovable=0

[mDriveTotal1]
Measure=FreeDiskSpace
Drive=#Drive1#:
Total=1
IgnoreRemovable=0
IfCondition=(#CURRENTSECTION#=0)
IfTrueAction=[!HideMeterGroup "Disk1"]
IfFalseAction=[!ShowMeterGroup "Disk1"]

[mDriveTotal2]
Measure=FreeDiskSpace
Drive=#Drive2#:
Total=1
IgnoreRemovable=0
IfCondition=(#CURRENTSECTION#=0)
IfTrueAction=[!HideMeterGroup "Disk2"]
IfFalseAction=[!ShowMeterGroup "Disk2"]

[mDriveTotal3]
Measure=FreeDiskSpace
Drive=#Drive3#:
Total=1
IgnoreRemovable=0
IfCondition=(#CURRENTSECTION#=0)
IfTrueAction=[!HideMeterGroup "Disk3"]
IfFalseAction=[!ShowMeterGroup "Disk3"]

[mDriveTotal4]
Measure=FreeDiskSpace
Drive=#Drive4#:
Total=1
IgnoreRemovable=0
IfCondition=(#CURRENTSECTION#=0)
IfTrueAction=[!HideMeterGroup "Disk4"]
IfFalseAction=[!ShowMeterGroup "Disk4"]

[mTotalFree]
Measure=Calc
Formula=( mDriveFree1 + mDriveFree2 + mDriveFree3 + mDriveFree4 )

[mPercent1]
Measure=Calc
Formula=( mDriveUsed1 / ( mDriveUsed1 + mDriveUsed2 + mDriveUsed3 + mDriveUsed4 + mTotalFree ))

[mPercent2]
Measure=Calc
Formula=( mDriveUsed2 / ( mDriveUsed1 + mDriveUsed2 + mDriveUsed3 + mDriveUsed4 + mTotalFree ))

[mPercent3]
Measure=Calc
Formula=( mDriveUsed3 / ( mDriveUsed1 + mDriveUsed2 + mDriveUsed3 + mDriveUsed4 + mTotalFree ))

[mPercent4]
Measure=Calc
Formula=( mDriveUsed4 / ( mDriveUsed1 + mDriveUsed2 + mDriveUsed3 + mDriveUsed4 + mTotalFree ))

[mPercent5]
Measure=Calc
Formula=( mTotalFree / ( mDriveUsed1 + mDriveUsed2 + mDriveUsed3 + mDriveUsed4 + mTotalFree ))

[mPercent1%]
Measure=Calc
Formula=( 100 * mPercent1 )

[mPercent2%]
Measure=Calc
Formula=( 100 * mPercent2 )

[mPercent3%]
Measure=Calc
Formula=( 100 * mPercent3 )

[mPercent4%]
Measure=Calc
Formula=( 100 * mPercent4 )

[mPercent5%]
Measure=Calc
Formula=( 100 * mPercent5 )

[MeterNumber1]
Meter=Roundline
MeasureName=mPercent1
X=100
Y=100
W=#PieSize#
H=#PieSize#
StartAngle=0
RotationAngle=6.283
LineStart=#LineStart#
LineLength=(#PieSize#/2)
LineColor=#Color1#
Solid=1
AntiAlias=1
DynamicVariables=1
Group=Disk1

[MeterNumber2]
Meter=Roundline
MeasureName=mPercent2
X=r
Y=r
W=#PieSize#
H=#PieSize#
StartAngle=(2*PI*[mPercent1])
RotationAngle=6.283
LineStart=#LineStart#
LineLength=(#PieSize#/2)
LineColor=#Color2#
Solid=1
AntiAlias=1
DynamicVariables=1
Group=Disk2

[MeterNumber3]
Meter=Roundline
MeasureName=mPercent3
X=r
Y=r
W=#PieSize#
H=#PieSize#
StartAngle=(2*PI*([mPercent1]+[mPercent2]))
RotationAngle=6.283
LineStart=#LineStart#
LineLength=(#PieSize#/2)
LineColor=#Color3#
Solid=1
AntiAlias=1
DynamicVariables=1
Group=Disk3

[MeterNumber4]
Meter=Roundline
MeasureName=mPercent4
X=r
Y=r
W=#PieSize#
H=#PieSize#
StartAngle=(2*PI*([mPercent1]+[mPercent2]+[mPercent3]))
RotationAngle=6.283
LineStart=#LineStart#
LineLength=(#PieSize#/2)
LineColor=#Color4#
Solid=1
AntiAlias=1
DynamicVariables
Group=Disk4

[MeterNumber5]
Meter=Roundline
MeasureName=mPercent5
X=r
Y=r
W=#PieSize#
H=#PieSize#
StartAngle=(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]))
RotationAngle=6.283
LineStart=#LineStart#
LineLength=(#PieSize#/2)
LineColor=#Color5#,100
Solid=1
AntiAlias=1
DynamicVariables=1
Group=Disk5

[MeterShapes1]
Meter=Shape
Shape=Line ([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]/2)))),([MeterNumber1:X]+[MeterNumber1:W]/2+((1+#PieSize#/2)*Cos(2*PI*([mPercent1]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((1+#PieSize#/2)*Sin(2*PI*([mPercent1]/2)))) | StrokeWidth 2 | Stroke Color #Color5#
DynamicVariables=1
Group=Disk1

[MeterShapes2]
Meter=Shape
Shape=Line ([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]/2)))),([MeterNumber1:X]+[MeterNumber1:W]/2+((1+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((1+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]/2)))) | StrokeWidth 2 | Stroke Color #Color5#
DynamicVariables=1
Group=Disk2

[MeterShapes3]
Meter=Shape
Shape=Line ([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)))),([MeterNumber1:X]+[MeterNumber1:W]/2+((1+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((1+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2)))) | StrokeWidth 2 | Stroke Color #Color5#
DynamicVariables=1
Group=Disk3

[MeterShapes4]
Meter=Shape
Shape=Line ([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)))),([MeterNumber1:X]+[MeterNumber1:W]/2+((1+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((1+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2)))) | StrokeWidth 2 | Stroke Color #Color5#
DynamicVariables=1
Group=Disk4

[MeterShapes5]
Meter=Shape
Shape=Line ([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))),([MeterNumber1:X]+[MeterNumber1:W]/2+((1+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))),([MeterNumber1:Y]+[MeterNumber1:H]/2+((1+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2)))) | StrokeWidth 2 | Stroke Color #Color5#
DynamicVariables=1
Group=Disk5

[MeterString1]
MeasureName=mPercent1%
Meter=STRING
X=([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]/2))))
Y=([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]/2))))
FontColor=#Color1#
SolidColor=0,0,0
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=CENTERCENTER
NumOfDecimals=0
AntiAlias=1
Text=#Drive1#: %1%
DynamicVariables=1
Group=Disk1

[MeterString2]
MeasureName=mPercent2%
Meter=STRING
X=([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]/2))))
Y=([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]/2))))
FontColor=#Color2#
SolidColor=0,0,0
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=CENTERCENTER
NumOfDecimals=0
AntiAlias=1
Text=#Drive2#: %1%
DynamicVariables=1
Group=Disk2

[MeterString3]
MeasureName=mPercent3%
Meter=STRING
X=([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2))))
Y=([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]/2))))
FontColor=#Color3#
SolidColor=0,0,0
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=CENTERCENTER
NumOfDecimals=0
AntiAlias=1
Text=#Drive3#: %1%
DynamicVariables=1
Group=Disk3

[MeterString4]
MeasureName=mPercent4%
Meter=STRING
X=([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2))))
Y=([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]/2))))
FontColor=#Color4#
SolidColor=0,0,0
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=CENTERCENTER
NumOfDecimals=0
AntiAlias=1
Text=#Drive4#: %1%
DynamicVariables=1
Group=Disk4

[MeterString5]
MeasureName=mPercent5%
Meter=STRING
X=([MeterNumber1:X]+[MeterNumber1:W]/2+((#Dist#+#PieSize#/2)*Cos(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2))))
Y=([MeterNumber1:Y]+[MeterNumber1:H]/2+((#Dist#+#PieSize#/2)*Sin(2*PI*([mPercent1]+[mPercent2]+[mPercent3]+[mPercent4]+[mPercent5]/2))))
FontColor=#Color5#,130
SolidColor=0,0,0
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=CENTERCENTER
NumOfDecimals=0
AntiAlias=1
Text=Free %1%
DynamicVariables=1
Group=Disk5
User avatar
StArL0rd84
Posts: 424
Joined: February 8th, 2015, 10:07 pm
Location: EU, Denmark.

Re: HDD pie graph text "wrapping"

Post by StArL0rd84 »

balala wrote:Very good. I suppose you've added five such meters, one for each roundline. About these meters, I'd modify them, to have their size bound to the previously added Dist variable.
And I'd do one more thing. I suppose some of the sections are related to removable drives. If so, I'd add some sections which can detect if those drives are removed and if they are, would hide the related meters:
Yeah, my suite adapts and only show connected drives using the DriveList plugin.
https://forum.rainmeter.net/viewtopic.php?p=95856#p95856
Added support for 18 drives at the moment.
https://giphy.com/gifs/9rgi2PLBfRYjbHLz0R/fullscreen
([mWorkTime] = 1 ? #Work# : ([mEnergyLoss:%] >= 70% ? #Chillmode# : </>))
User avatar
balala
Rainmeter Sage
Posts: 16145
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: HDD pie graph text "wrapping"

Post by balala »

StArL0rd84 wrote:Yeah, my suite adapts and only show connected drives using the DriveList plugin.
https://forum.rainmeter.net/viewtopic.php?p=95856#p95856
I'm not sure you need a plugin for this. As you can see in my last post, this can be done using simple FreeDiskSpace measures.
But it definitely is up to you how you make it.
User avatar
StArL0rd84
Posts: 424
Joined: February 8th, 2015, 10:07 pm
Location: EU, Denmark.

Re: HDD pie graph text "wrapping"

Post by StArL0rd84 »

balala wrote:I'm not sure you need a plugin for this. As you can see in my last post, this can be done using simple FreeDiskSpace measures.
But it definitely is up to you how you make it.
I also use drivelist because it auto detects the drive letters.
With FreeDiskSpace alone, you gotta set them manually. #Drive1# #Drive2# #Drive3# etc.

Code: Select all

[mDriveList1]
 Measure=Plugin
 Plugin=DriveList.dll
 DefaultString="..."
 Removable=1
 Network=1
 Fixed=1
 Index=0
 NumberType=Count
 DynamicVariables=1
 OnChangeAction=[!UpdateMeasureGroup DriveMeasures][!UpdateMeasureGroup DriveSettingsMeasures][!UpdateMeter *][!Redraw]
 Disabled=1
 Group=DriveMeasures | DriveSettingsMeasures
[mDriveList2]
 Measure=Plugin
 Plugin=DriveList.dll
 Parent=mDriveList1
 Index=1
 UpdateDivider=2
 Disabled=1
 Group=DriveMeasures | DriveSettingsMeasures
[mDriveList3]
 Measure=Plugin
 Plugin=DriveList.dll
 Parent=mDriveList1
 Index=2
 UpdateDivider=5
 Disabled=1
 Group=DriveMeasures | DriveSettingsMeasures


[mDrive1]
 Measure=FreeDiskSpace
 Drive=[mDriveList1]
 InvertMeasure=1
 MaxValue=100
 IgnoreRemovable=0
 DynamicVariables=1
 UpdateDivider=5
 Disabled=1
 Group=DriveMeasures
[mDrive2]
 Measure=FreeDiskSpace
 Drive=[mDriveList2]
 InvertMeasure=1
 MaxValue=100
 IgnoreRemovable=0
 DynamicVariables=1
 UpdateDivider=5
 Disabled=1
 Group=DriveMeasures
[mDrive3]
 Measure=FreeDiskSpace
 Drive=[mDriveList3]
 InvertMeasure=1
 MaxValue=100
 IgnoreRemovable=0
 DynamicVariables=1
 UpdateDivider=5
 Disabled=1
 Group=DriveMeasures
([mWorkTime] = 1 ? #Work# : ([mEnergyLoss:%] >= 70% ? #Chillmode# : </>))
User avatar
balala
Rainmeter Sage
Posts: 16145
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: HDD pie graph text "wrapping"

Post by balala »

StArL0rd84 wrote:I also use drivelist because it auto detects the drive letters.
With FreeDiskSpace alone, you gotta set them manually. #Drive1# #Drive2# #Drive3# etc.
Yes, you have to add such variables, but the measures can figure out which of these drives exist and which don't. I think this is not a so great problem.
About the appropriate FreeDiskSpace measures, the basic idea is to create so many FreeDiskspace measures as many drives you want to check, one for each drive. These FreeDiskSpace measures should have to return the total space of the appropriate drives. If the total space of a drive is zero, means that drive is missing, otherwise it is present:

Code: Select all

[MeasureDrive1Total]
Measure=FreeDiskSpace
Drive=#Drive1#
Total=1
IfCondition=(#CURRENTSECTION#=0)
IfTrueAction=[!Log "#Drive1# not present"]
IfFalseAction=[!Log "#Drive1# present"]
User avatar
StArL0rd84
Posts: 424
Joined: February 8th, 2015, 10:07 pm
Location: EU, Denmark.

Re: HDD pie graph text "wrapping"

Post by StArL0rd84 »

balala wrote:Yes, you have to add such variables, but the measures can figure out which of these drives exist and which don't. I think this is not a so great problem.
About the appropriate FreeDiskSpace measures, the basic idea is to create so many FreeDiskspace measures as many drives you want to check, one for each drive. These FreeDiskSpace measures should have to return the total space of the appropriate drives. If the total space of a drive is zero, means that drive is missing, otherwise it is present
I see your point now
([mWorkTime] = 1 ? #Work# : ([mEnergyLoss:%] >= 70% ? #Chillmode# : </>))