It is currently November 29th, 2020, 7:50 pm

RainThumbnail (0.0.50.17 Beta) [Win Vista or above]

Share and get help with Plugins and Addons
User avatar
~Faradey~
Posts: 367
Joined: November 12th, 2009, 4:47 pm
Location: Ukraine

RainThumbnail (0.0.50.17 Beta) [Win Vista or above]

Post by ~Faradey~ »

RainThumbnail
Tasted on Win 7, technically it should work on Vista and Win 8 or even higher. Please inform me if it works on Win 8 or Vista if you have it installed. Tnx.
Also, DWM should also be enabled to have RainThumbnail working!
Having created skins very functional like external apps, i got myself thinking, that it would be awesome if i could treat them as actuals windows and be able to easily and quickly switch between skins or do some stuff, instead of hitting Win+D every time to get to desired skin...So i started to write an utility or app, whatever you call it, and so far so good it turned out good ;)
The apps itself does not do any changes to skins (configs) and don't change anything in Rainmeter.ini, so skins works as with as without app running.
So i did it ;), it took me awhile because i completely re-wrote code to add more functionality ;)

Without any change from your side the app will show currently loaded skins in taskbar as thumbnails, which you can close or click on then to switch between skins.

If you create file with name TaskbarThumbnailSettings.rtcfg in your config (skin) directory like: illustro\Disk, then you can open it with notepad and edit it (or add keys). The file syntax is .ini like, so should not have problems with editing.

Below is detailed information on each section and keys it holds.
[CustomSettings]
DoNotShow=1
- if 1 - then skin will not be shown
ShowMediaButtons=1
- if 1 - shows 4 media control buttons (previous, play, pause, next). Also in this case it will require to specify 'MediaMeasureName' key (see below).
MediaMeasureName=MediaPTitle
- name of the main NowPlaying.dll measure.
MButtonIcon_Prev=prev.ico
MButtonIcon_Pause=pause.ico
MButtonIcon_Play=play.ico
MButtonIcon_Next=next.ico
- custom icons for media buttons in thumbnail. You may change one or all of them at the same time. It means that you don't need to change rest of them if you want to change only one.

CustomWinIcon=winicon.ico
- icon of the window
OverlayIcon=C:\Program Files (x86)\Internet Explorer\iexplore.exe
- an overlay icon

[CustomButtons]
CustButton1=@SKINSPATH@Kotoko\Configs\LaunchIcons\Rss.basic.ico||!Log Action||Custom Text here
CustButton2=C:\Program Files (x86)\K-Lite Codec Pack\Media Player Classic\mpc-hc.exe||!Log Action2||Custom Text here 2

In this section you can create your own icons. For do this you will need to create section 'CustomButtons' and key 'CustButtonN' (where N is number of button), one for each button.
Values has special syntax so you can set icon, action and ToolTip text in one line. To do that, each value is separated with "||" symbol
path to icon || Rainmeter bang which will be executed on pressing the button || ToolTip text which will be show on hover the button.
Some info on setting the action:
- multiple bangs are supported
- all bangs, except ones which not require next, should have optional 'Config' parameter to be specified! (e.g. !Redraw "illustro\Disk")

Maximum number of icons in each thumbnail = 7. So if 'ShowMediaButtons=1' then maximum number for custom icons will = 3.

Rules of setting a path for icons:
Value can be either full path to icon or full path to .exe where this icon will be extracted in process or it may be specified using macro @SKINSPATH@ (e.g C:\Users\Username\Documents\Rainmeter\Skins\ or path for your set up)
example: @SKINSPATH@myicon.ico. --> C:\Users\Username\Documents\Rainmeter\Skins\myicon.ico
If path would not be specified, the default icon will be used. In case as value only name of the icon will be specified then root config folder+skin name will be automatically added, so if 'MButtonIcon_Prev=prev.ico' it will be the same as #ROOTCONFIGPATH##ROOTCONFIG#prev.ico.
Limitations:
- Rainmeter macros (buil-in variables) are not supported!
- Windows Environment variables are not supported! It may be added if someone thinks it necessary to be supported.

------------

To change tray icon:
• Create file with name TaskbarThumbnailSettings.rtcfg in the same folder with RainThumbnail.exe.
• Open TaskbarThumbnailSettings.rtcfg with notepad
• Add section [GlobalSettings]
• Add key TrayIcon and set path to icon*
* Rules for tray icon are similar to Rules of setting a path for icons: (see above), with some difference. If you not specify full path but just icon name, that means that icon should be in the same folder as RainThumbnail.exe in.
Window Messages
Using a WindowMessage plug-in you can send messages to RainThumbnail
Using those you can:
• to show/hide thumbnail of the particular skin
• to send progress (e.g. progress of currently playing media using measure in your skin)
• show/hide/change settings of buttons for the particular thumbnail. It may be all buttons at once or by specifying the index of button.
• change state of icon in taskbar, like:
- NoProgress
- Indeterminate
- Normal
- Error
- Paused
- Flash

Message codes:
(MsgID)
MAIN_MESSAGE = 33994

(wParam )
; sets the state for progress:
PROGRESS = 110 {lParam = 0} (sets the value of the progress)
NoProgress = 100 {lParam = 0} (Stops displaying progress and returns the button to its normal state)
Indeterminate = 101 {lParam = 0} (The progress indicator does not grow in size, but cycles repeatedly along the length of the taskbar button.)
Normal = 102 {lParam = 0} (The progress indicator grows in size from left to right in proportion to the estimated amount of the operation completed.)
Error = 103 {lParam = 0} (The progress indicator turns red to show that an error has occurred in one of the windows that is broadcasting progress.)
Paused = 104 {lParam = 0} (The progress indicator turns yellow to show that progress is currently stopped in one of the windows but can be resumed by the user.)
FLASH = 105 {lParam = number of times} (Flashes a window icon in the taskbar number of times) - this may be removed in future, depends on how it will work, was having some issues with this.

; thumbnail
HIDE_THUMB = 120 {lParam = 0} (hides skin's thumbnail)
SHOW_THUMB = 121 {lParam = 0} (shows skin's thumbnail, but only if DoNotShow=0)

; buttons
BUTTONSSTATEALL = 200 {lParam = one or combination of the BUTTONSSTATE_* (see below)} (applies on all buttons for skin's thumbnail)

*(lParam for BUTTONSSTATEALL and wParam if setting/changing state of one button)

(applies only on one button for skin's thumbnail)
BUTTONSSTATE_ENABLE = 0 {lParam = button index starting from 1}
BUTTONSSTATE_DISABLE = 1 {lParam = button index starting from 1}
BUTTONSSTATE_DISMISSONCLICK = 2 {lParam = button index starting from 1}
BUTTONSSTATE_NOBACKGROUND = 4 {lParam = button index starting from 1}
BUTTONSSTATE_HIDE = 8 {lParam = button index starting from 1}
BUTTONSSTATE_NONINTERACTIVE = 10 {lParam = button index starting from 1}

to set state 'show' in case you 'hide' button send BUTTONSSTATE_ENABLE.
to combine states simply add values e.g. to set BUTTONSSTATE_NOBACKGROUND and BUTTONSSTATE_DISMISSONCLICK, set lParam to 6 (because 2+4=6).
DOWNLOAD RainThumbnail.exe (~1 Mb)
File hashes:
CRC32: EB836D0E
MD5: 87CA21DEC47C2ABAF6D75FC6142E8B46
SHA-1: 28E2AB6EE23B51C5A95072B294BBE6A245AA67EF
Last edited by ~Faradey~ on October 1st, 2013, 4:21 pm, edited 3 times in total.
User avatar
thatsIch
Posts: 464
Joined: August 7th, 2012, 9:18 pm

Re: [app] Skins on Taskbar Thumbnail Live Previews (Win7) [W

Post by thatsIch »

Is it an AutoIt script?
User avatar
jsmorley
Developer
Posts: 21552
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: [app] Skins on Taskbar Thumbnail Live Previews (Win7) [W

Post by jsmorley »

~Faradey~ wrote: I also wanted to know if i'm not braking any license rules or anything else Rainmeter related?

On top of that i would like to know what do you think about this (esp. devs) and will you be interested in having this?, also please leave any suggestions you like, if it would not be beyond my knowledge and would be actually possible i will probably add it.

Thanx. :)
As far as licensing, Rainmeter is GNU and open source, so assuming someone doesn't try to create a fork of it and actually just call it Rainmeter, there is little one can do that would run afoul of any legal license issues.

As far as our reaction, we would probably have some heartburn if someone attempted to sell for profit anything leveraging off of our work, or created something that conflicted with existing functionality or caused confusion for our end-users. We would probably attempt to "ignore-to-death" any such activity. Certainly no mention of it would be allowed here, on the main site, the Rainmeter Group on deviantART, Customize.org, or anywhere else we had any influence over.

As far as this addon in particular, I'd be interested to see it in action and have some understanding of how it works under the covers. I would reserve judgement until then.

On a strictly personal note, it may come as no surprise that I am skeptical of trying to make Rainmeter into an "application development" tool. While there certainly are things added over time that go beyond the original "measure this, display that" concept that Rainmeter originally had, it remains the current title-holder for the "World's Absolutely Worst Application Development Tool". It was never intended for that, and creating things with it that actually behave the way an application in Windows is supposed to behave is at best hideously complicated, and at worst doomed to failure.

Making Rainmeter into even a halfway decent tool for creating apps or "applets" would mean drastic changes to the DNA of the tool, and really without almost starting over, I would never expect anything better than "crap" to result.

That being said, I am not pre-judging your effort, and look forward to seeing more about it. It sounds like it might be a fun and useful little addon utility.
User avatar
moshi
Posts: 1850
Joined: November 13th, 2012, 9:53 pm

Re: [app] Skins on Taskbar Thumbnail Live Previews (Win7) [W

Post by moshi »

that sure looks interesting.
it would be cool if one could:
- exclude skins (things like a bar at the top for example) from being displayed in the taskbar.
actually might be even better if skins are opt-in instead of opt-out
- and maybe even define an icon for a skin.
(i think an extra config file in a skin's folder would be nice for that)

what i do not like is that the !About window is grouped together with the skins.
User avatar
~Faradey~
Posts: 367
Joined: November 12th, 2009, 4:47 pm
Location: Ukraine

Re: [app] Skins on Taskbar Thumbnail Previews (Win7) [WIP]

Post by ~Faradey~ »

thatsIch wrote:Is it an AutoIt script?
yeah, why do you asking? :)

jsmorley,
ok, thanx for answer :)
moshi wrote:that sure looks interesting.
it would be cool if one could:
- exclude skins (things like a bar at the top for example) from being displayed in the taskbar.
actually might be even better if skins are opt-in instead of opt-out
Nice idea, it's doable i think, but opt-out is better i think , because in case of many skins it would require more work to add than exclude skins, i mean when you'll actually see how they look on Thumbnail and then decide whether you what it to be shown or not.
moshi wrote:- and maybe even define an icon for a skin.
that's is what i was gonna to add so i will
moshi wrote:(i think an extra config file in a skin's folder would be nice for that)
now here is a little bit of dilemma
a) what if, such options would be in skin's config, like creating a section & keys for it, or add them to Rainmeter or Metadata section, which i don't think is good idea because it may cause some misunderstanding for users
b) separate file which would hold settings and be placed in skin's folder
c) somewhere else, like AppData will be one config file in which will be all options for all skins and these options may be edited manually or from Setting which will require to make then.
moshi wrote:what i do not like is that the !About window is grouped together with the skins.
so you think it would be better to have a separate icon on taskbar, be grouped-out and shows only skins?
that's actually may open some more futures, but will require rebuilt the script, it's only in my mind, will see, i need to test thing out...

does tray menus needed?
User avatar
moshi
Posts: 1850
Joined: November 13th, 2012, 9:53 pm

Re: [app] Skins on Taskbar Thumbnail Previews (Win7) [WIP]

Post by moshi »

~Faradey~ wrote:now here is a little bit of dilemma
a) what if, such options would be in skin's config, like creating a section & keys for it, or add them to Rainmeter or Metadata section, which i don't think is good idea because it may cause some misunderstanding for users
b) separate file which would hold settings and be placed in skin's folder
c) somewhere else, like AppData will be one config file in which will be all options for all skins and these options may be edited manually or from Setting which will require to make then.
agree on option a): not good at all. i don't think settings for a third party application should be stored in the INI files.
i like a combination of b) and c). in c) there should be the the settings a user makes. but in the case i like your application and i end up using it, i would like to create some default settings (if there will be any, like the path to an icon for example) in a skin's folder, so it can be part of an RMSKIN.

~Faradey~ wrote:so you think it would be better to have a separate icon on taskbar, be grouped-out and shows only skins?
that's only me. 99% of all Rainmeter users probably never use the !About window. as i create skins, i use it very often though. so an extra click to get there would be really annoying.

~Faradey~ wrote:does tray menus needed?
no. at least what is visible in the screenshot offers nothing of value, and a second Rainmeter icon in the tray would just confuse people.
User avatar
~Faradey~
Posts: 367
Joined: November 12th, 2009, 4:47 pm
Location: Ukraine

RainThumbnail (0.0.50.17 Beta) [Win Vista or above]

Post by ~Faradey~ »

First Beta is available! :great:
Please try it and let me know what you think :)
Please read first post for more info and download!
User avatar
moshi
Posts: 1850
Joined: November 13th, 2012, 9:53 pm

Re: RainThumbnail (0.0.50.17 Beta) [Win Vista or above]

Post by moshi »

very, very nice. this has more configuration options than i hoped for. :)

i crashes pretty often here with this error message:

Code: Select all

---------------------------
AutoIt Error
---------------------------
Line 19709  (File "C:\Users\Alex\Downloads\RainThumbnail.exe"):


Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.
---------------------------
OK   
---------------------------
using Windows 7, 64-bit, all updates
Rainmeter 3.0.0 beta r2097 64-bit

i think the crashes happen most often with a media player skin that displays album covers and also has a variable size.


not sure about the icon, it reminds me a lot of tnl's LS icon https://tnl.deviantart.com/art/Big-LiteStep-Logo-81838. but then this is rather old and i am probably the only one that remembers LS here.
User avatar
moshi
Posts: 1850
Joined: November 13th, 2012, 9:53 pm

Re: RainThumbnail (0.0.50.17 Beta) [Win Vista or above]

Post by moshi »

is it by design that it seems to use 32x32 icons only or am i doing something wrong?

i created a CustomWinIcon ICO file that contains both 16x16 and 32x32 sized icons. the 32x32 icon is used for the taskbar (as it should), but also for the thumbnail title where i would expect the 16x16 icon.

are there guidelines for OverlayIcon? i can't really get this working. the IE example works sometimes, but i didn't have much success with ICO files or c:\program files\rainmeter\rainmeter.exe
User avatar
moshi
Posts: 1850
Joined: November 13th, 2012, 9:53 pm

Re: RainThumbnail (0.0.50.17 Beta) [Win Vista or above]

Post by moshi »

what always crashes it is the Notifications skin from my Sphynx suite.
https://moshiab.deviantart.com/art/Sphynx-367551856

what it does is: skin is launched, slides in from the right edge of screen, stays there for a while, moves out, exits

error message is the same as above.