It is currently March 29th, 2024, 3:11 pm

Help me get better!

Get help with creating, editing & fixing problems with skins
User avatar
Aesop
Posts: 14
Joined: August 10th, 2010, 5:15 am

Help me get better!

Post by Aesop »

I've completed my first skin that I pretty much coded by myself. I'm trying to challenge myself and figure out how to do certain things. With this skin, I wanted an RSS feed reader that when you hovered over the links they would change color, actually in this case the alpha. Sounds easy enough, but as it turned out for a beginner like myself it wasn't so simple. But, I searched and searched and found out a way to do it.

What I want is for someone to look over my code and give me some pointers as to what you would've done different to streamline it.

Code: Select all

[Rainmeter]
	
	BackgroundMode=2
	SolidColor=0,0,0,1
	BackgroundMargins=10,10,10,10
	
	;	VARIABLES
	
[Variables]

	URL=http://feeds.feedburner.com/Bittbox
	Title=Bittbox
	Update=1000
	FontSize=10
	FontColor=255,255,255,200
	HoverColor=255,255,255,255
	Width=225
	Height=20
	FontFace=Segoe UI
	SubFeed="&apos;":"'",""":"","&Quot;":"","&":"&","<br>":"","![CDATA[":"","]]":"","...":"","<":"",">":"","/PRE>":"","PRE>":"","<":"","'":"'","&#228;":"ä","&#246;":"ö","&#8211;":"–"
	SubLink="&":"&","<![CDATA[":"","]]>":""
	BG=Images\bg1.png
	
	;	MEASURES

[Feed]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=#URL#
	RegExp="(?siU)<title.*>(.*)</title>.*<link.*>(.*)</link>.*<item.*<title.*>(.*)</title>.*<link.*>(.*)</link>(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)(?(?=.*<item).*<title.*>(.*)</title>.*<link.*>(.*)</link>)"
	UpdateRate=#Update#
	StringIndes=1
	Substitute=#SubFeed#
	
[FeedURL]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=2
	Substitute=#SubFeed#
	
[MeasureItem1]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=3
	Substitute=#SubFeed#
	
[MeasureLink1]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=4
	Substitute=#SubLink#

	;----------------------
	
[MeasureItem2]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=5
	Substitute=#SubFeed#
	
[MeasureLink2]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=6
	Substitute=#SubLink#

	;----------------------

[MeasureItem3]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=7
	Substitute=#SubFeed#
	
[MeasureLink3]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=8
	Substitute=#SubLink#

	;----------------------
	
[MeasureItem4]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=9
	Substitute=#SubFeed#
	
[MeasureLink4]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=10
	Substitute=#SubLink#

	;----------------------
	
[MeasureItem5]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=11
	Substitute=#SubFeed#
	
[MeasureLink5]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=12
	Substitute=#SubLink#

	;----------------------
	
[MeasureItem6]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=13
	Substitute=#SubFeed#
	
[MeasureLink6]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=14
	Substitute=#SubLink#

	;----------------------
	
[MeasureItem7]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=15
	Substitute=#SubFeed#
	
[MeasureLink7]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=16
	Substitute=#SubLink#

	;----------------------
	
[MeasureItem8]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=17
	Substitute=#SubFeed#
	
[MeasureLink8]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=18
	Substitute=#SubLink#

	;----------------------
	
[MeasureItem9]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=19
	Substitute=#SubFeed#
	
[MeasureLink9]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=20
	Substitute=#SubLink#

	;----------------------
	
[MeasureItem10]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=21
	Substitute=#SubFeed#
	
[MeasureLink10]

	Measure=Plugin
	Plugin=Plugins\WebParser.dll
	Url=[Feed]
	StringIndex=22
	Substitute=#SubLink#

	;----------------------
	
	;	STYLES

	
[ItemStyle]

;	X=0
;	Y=0
	H=#Height#
	W=#Width#
	ClipString=1
	StringStyle=NORMAL
	FontColor=#FontColor#
	FontSize=#FontSize#
	FontFace=#FontFace#
	AntiAlias=1
	
[LinkStyle]

;	X=0
;	Y=0
	H=#Height#
	W=#Width#
	ClipString=1
	StringStyle=NORMAL
	FontColor=#FontColor#
	FontSize=#FontSize#
	FontFace=#FontFace#
	AntiAlias=1
	Hidden=1
	
[HoverStyle]

;	X=0
;	Y=0
	H=#Height#
	W=#Width#
	ClipString=1
	StringStyle=NORMAL
	FontColor=#HoverColor#
	FontSize=#FontSize#
	FontFace=#FontFace#
	AntiAlias=1
	Hidden=1
	
	;	Background
	
[BG]

	Meter=IMAGE
	ImageName=#BG#
	W=250
	H=340
	
	;	Title
	
[Title]

	Meter=String
	FontColor=#FontColor#
	FontFace=#FontFace#
	FontSize=20
	Text=#Title#
	AntiAlias=1
	X=5
	Y=5
	
	;	Items

[Item1Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem1
	Y=45
	X=12

[Item1Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=45
	MouseOverAction=!Execute [!RainmeterHideMeter Item1][!RainmeterShowMeter Item1Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item1Hover][!RainmeterShowMeter Item1][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink1]][!RainmeterShowMeter Item1][!RainmeterHideMeter Link1][!RainmeterRedraw]

[Item1]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem1
	Y=45
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link1][!RainmeterHideMeter Item1][!RainmeterRedraw]
	
[Link1]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem1
	LeftMouseUpAction=!Execute [[MeasureLink1]][!RainmeterShowMeter Item1][!RainmeterHideMeter Link1][!RainmeterRedraw]

	;-------------------------------

[Item2Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem2
	Y=60
	X=12

[Item2Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=60
	MouseOverAction=!Execute [!RainmeterHideMeter Item2][!RainmeterShowMeter Item2Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item2Hover][!RainmeterShowMeter Item2][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink2]][!RainmeterShowMeter Item2][!RainmeterHideMeter Link2][!RainmeterRedraw]

[Item2]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem2
	Y=60
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link2][!RainmeterHideMeter Item2][!RainmeterRedraw]
	
[Link2]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem2
	LeftMouseUpAction=!Execute [[MeasureLink2]][!RainmeterShowMeter Item2][!RainmeterHideMeter Link2][!RainmeterRedraw]

	;-------------------------------

[Item3Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem3
	Y=75
	X=12

[Item3Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=75
	MouseOverAction=!Execute [!RainmeterHideMeter Item3][!RainmeterShowMeter Item3Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item3Hover][!RainmeterShowMeter Item3][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink3]][!RainmeterShowMeter Item3][!RainmeterHideMeter Link3][!RainmeterRedraw]

[Item3]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem3
	Y=75
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link3][!RainmeterHideMeter Item3][!RainmeterRedraw]
	
[Link3]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem3
	LeftMouseUpAction=!Execute [[MeasureLink3]][!RainmeterShowMeter Item3][!RainmeterHideMeter Link3][!RainmeterRedraw]

	;-------------------------------

[Item4Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem4
	Y=90
	X=12

[Item4Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=90
	MouseOverAction=!Execute [!RainmeterHideMeter Item4][!RainmeterShowMeter Item4Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item4Hover][!RainmeterShowMeter Item4][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink4]][!RainmeterShowMeter Item3][!RainmeterHideMeter Link4][!RainmeterRedraw]

[Item4]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem4
	Y=90
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link4][!RainmeterHideMeter Item4][!RainmeterRedraw]
	
[Link4]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem4
	LeftMouseUpAction=!Execute [[MeasureLink4]][!RainmeterShowMeter Item4][!RainmeterHideMeter Link4][!RainmeterRedraw]

	;-------------------------------

[Item5Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem5
	Y=105
	X=12

[Item5Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=105
	MouseOverAction=!Execute [!RainmeterHideMeter Item5][!RainmeterShowMeter Item5Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item5Hover][!RainmeterShowMeter Item5][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink5]][!RainmeterShowMeter Item5][!RainmeterHideMeter Link5][!RainmeterRedraw]

[Item5]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem5
	Y=105
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link5][!RainmeterHideMeter Item5][!RainmeterRedraw]
	
[Link5]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem5
	LeftMouseUpAction=!Execute [[MeasureLink5]][!RainmeterShowMeter Item5][!RainmeterHideMeter Link5][!RainmeterRedraw]

	;-------------------------------

[Item6Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem6
	Y=120
	X=12

[Item6Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=120
	MouseOverAction=!Execute [!RainmeterHideMeter Item6][!RainmeterShowMeter Item6Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item6Hover][!RainmeterShowMeter Item6][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink6]][!RainmeterShowMeter Item6][!RainmeterHideMeter Link6][!RainmeterRedraw]

[Item6]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem6
	Y=120
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link6][!RainmeterHideMeter Item6][!RainmeterRedraw]
	
[Link6]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem6
	LeftMouseUpAction=!Execute [[MeasureLink6]][!RainmeterShowMeter Item6][!RainmeterHideMeter Link6][!RainmeterRedraw]

	;-------------------------------

[Item7Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem7
	Y=135
	X=12

[Item7Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=135
	MouseOverAction=!Execute [!RainmeterHideMeter Item7][!RainmeterShowMeter Item7Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item7Hover][!RainmeterShowMeter Item7][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink7]][!RainmeterShowMeter Item7][!RainmeterHideMeter Link7][!RainmeterRedraw]

[Item7]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem7
	Y=135
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link7][!RainmeterHideMeter Item7][!RainmeterRedraw]
	
[Link7]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem7
	LeftMouseUpAction=!Execute [[MeasureLink7]][!RainmeterShowMeter Item7][!RainmeterHideMeter Link7][!RainmeterRedraw]

	;-------------------------------

[Item8Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem8
	Y=150
	X=12

[Item8Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=150
	MouseOverAction=!Execute [!RainmeterHideMeter Item8][!RainmeterShowMeter Item8Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item8Hover][!RainmeterShowMeter Item8][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink8]][!RainmeterShowMeter Item8][!RainmeterHideMeter Link8][!RainmeterRedraw]

[Item8]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem8
	Y=150
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link8][!RainmeterHideMeter Item8][!RainmeterRedraw]
	
[Link8]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem8
	LeftMouseUpAction=!Execute [[MeasureLink8]][!RainmeterShowMeter Item8][!RainmeterHideMeter Link8][!RainmeterRedraw]

	;-------------------------------

[Item9Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem9
	Y=165
	X=12

[Item9Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=165
	MouseOverAction=!Execute [!RainmeterHideMeter Item9][!RainmeterShowMeter Item9Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item9Hover][!RainmeterShowMeter Item9][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink9]][!RainmeterShowMeter Item9][!RainmeterHideMeter Link9][!RainmeterRedraw]

[Item9]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem9
	Y=165
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link9][!RainmeterHideMeter Item9][!RainmeterRedraw]
	
[Link9]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem9
	LeftMouseUpAction=!Execute [[MeasureLink9]][!RainmeterShowMeter Item9][!RainmeterHideMeter Link9][!RainmeterRedraw]

	;-------------------------------

[Item10Hover]

	Meter=STRING
	MeterStyle=HoverStyle
	MeasureName=MeasureItem10
	Y=180
	X=12

[Item10Hover1]

	Meter=IMAGE
	BackgroundMode=2
	SolidColor=255,0,255,1
	W=#Width#
	H=15
	X=12
	Y=180
	MouseOverAction=!Execute [!RainmeterHideMeter Item10][!RainmeterShowMeter Item10Hover][!RainmeterRedraw]
	MouseLeaveAction=!Execute [!RainmeterHideMeter Item10Hover][!RainmeterShowMeter Item10][!RainmeterRedraw]
	LeftMouseUpAction=!Execute [[MeasureLink10]][!RainmeterShowMeter Item10][!RainmeterHideMeter Link10][!RainmeterRedraw]

[Item10]

	Meter=STRING
	MeterStyle=ItemStyle
	MeasureName=MeasureItem10
	Y=180
	X=12
	LeftMouseDownAction=!execute [!RainmeterShowMeter Link9][!RainmeterHideMeter Item9][!RainmeterRedraw]
	
[Link10]

	Meter=STRING
	MeterStyle=LinkStyle
	MeasureName=MeasureItem10
	LeftMouseUpAction=!Execute [[MeasureLink10]][!RainmeterShowMeter Item10][!RainmeterHideMeter Link10][!RainmeterRedraw]
and if you end up wanting to test it yourself, the bg1.png is located here http://img844.imageshack.us/img844/8922/bg1rf.png

And I know the BG picture is a bit long. :P
[img]http://img251.imageshack.us/img251/4161/sigcopy.jpg[/img]
Aarowaim
Posts: 97
Joined: July 25th, 2010, 7:23 am

Re: Help me get better!

Post by Aarowaim »

Very well done, the only part that can be streamlined is the hovers. If you use the button meters, you could easily streamline the item1hover1, item2hover1 and so on simply by making an image that has multiple layers or frames. read more here:
http://forum.rainmeter.net/viewtopic.php?f=23&t=124. If you are not an experienced photo editor or the images you are using for your hovers come from the feed, then you have it as streamlined as possible. Good job and I hope you enjoy scripting for rainmeter. If you have any further questions, please don't be afraid to ask; We'll be happy to answer.
Away for a while :(
Programming isn't a hobby, it's a lifestyle choice.
[url=http://www.rainmeter.net/forum/viewtopic.php?f=83&t=1207][b]T34M V.1.5.0.|2[/b][/url] <----I'ts l33t, look it up

Coding Skills: [color=#00FFFF]4.5[/color]
Answering Skills: [color=#00FFFF]4[/color]
Image Editing: [color=#00FFFF]3[/color]
Knowledge: [color=#00FFFF]4.5[/color]
Technical Skills: [color=#00FFFF]3[/color]
User avatar
Aesop
Posts: 14
Joined: August 10th, 2010, 5:15 am

Re: Help me get better!

Post by Aesop »

So, you can do a button meter for the variables called in from the feed? Like each different topic? And it would have the exact same effect as I've done?
[img]http://img251.imageshack.us/img251/4161/sigcopy.jpg[/img]
Aarowaim
Posts: 97
Joined: July 25th, 2010, 7:23 am

Re: Help me get better!

Post by Aarowaim »

[Item1Hover1]
Meter=IMAGE
BackgroundMode=2
SolidColor=255,0,255,1
W=#Width#
H=15
X=12
Y=45
MouseOverAction=!Execute [!RainmeterHideMeter Item1][!RainmeterShowMeter Item1Hover][!RainmeterRedraw] MouseLeaveAction=!Execute [!RainmeterHideMeter Item1Hover][!RainmeterShowMeter Item1][!RainmeterRedraw] LeftMouseUpAction=!Execute [[MeasureLink1]][!RainmeterShowMeter Item1][!RainmeterHideMeter Link1][!RainmeterRedraw
Ok, I see now, your using the above part as a "filler" meter that covers the feed and activates the hover version of the corresponding item meter. In that case, your code is fine the way it is.
Away for a while :(
Programming isn't a hobby, it's a lifestyle choice.
[url=http://www.rainmeter.net/forum/viewtopic.php?f=83&t=1207][b]T34M V.1.5.0.|2[/b][/url] <----I'ts l33t, look it up

Coding Skills: [color=#00FFFF]4.5[/color]
Answering Skills: [color=#00FFFF]4[/color]
Image Editing: [color=#00FFFF]3[/color]
Knowledge: [color=#00FFFF]4.5[/color]
Technical Skills: [color=#00FFFF]3[/color]