Jump to content

Mirror effect for docks


Recommended Posts

I'm releasing this for beta testing.

First, a picture is worth thousand words, so here is a screenshot:

MirrorEffect-screenshot.png

What you see is RocketDock (skin Ghostwalker's Leopard ported to RocketDock) with my mirror behind it :)

Requirements:

  • A dock. I have tested it with Rocket Dock, but it may work with other docks.
  • Disable auto-hide in your dock.
  • Disable any magnificating/zooming hover effect on your dock's icons.
  • Probably develop your own mask for the mirror to suit your skin (you can do it with Notepad and any image editing tool, or use MaskTool - read below).
  • Disable Aero on Windows Vista. I'm trying to implement compatibility with Aero, so you won't have to disable Aero in future releases of this software.

Limitations:

  • Transparent / translucent windows will not appear in the mirror.
  • Videos may not appear in the mirror.
  • It is incompatible with devrexter's bLend (this is because of the way the mirror works, nothing personal with devrexter ;) BTW give his DExpose app a try).
  • It doesn't mirror the dock icons. Use SirSmiley's iReflector for that.

How it works:

You tell it which is your dock's background window, position, size, etc... and a mask to use (which should be similar in shape to your dock skin's background). You can also specify an update rate, the faster the smoother, but at a cost of higher cpu consumption.

Artwork:

The icon is horrible. Anything better is praisedly welcome.

License terms:

In the about box.

Download:

http://matias.securityconsultant.com.ar/Mi...-2008-09-20.rar

[s]http://matias.securityconsultant.com.ar/MirrorEffect-2008-09-01.rar

Wish list:

To learn to use some mirror video driver, which supports DirectX (as a non-implemented stub), which doesn't make copies of the screen, merely intended to get update rects, so as to know wether to update the mirror, and which part of the mirror to update. This would greatly improve both smoothness and cpu usage. I examined VideoLan's interface for DF Mirage, which I didn't understand. Examples are greatly welcome.

______________________________________________________________________

If you need to do your own mask, here is a handy app that may help you:

http://matias.securityconsultant.com.ar/Mi...-2008-07-24.rar

[s]http://matias.securityconsultant.com.ar/MirrorEffect-MaskTool-2008-07-16.rar

It works, at least with Rocket Dock skins.

Added support for Object Dock skins (untested, may or may not work, please try and tell me, thank you!).

______________________________________________________________________

The mirror settings ask you about "Put behind this window:". I uploaded a new tool:

http://matias.securityconsultant.com.ar/WindowInspector.rar

Follow these steps:

  • Add a separator to your dock.
  • Run the tool.
  • Click the separator.
  • Immediately after clicking the separator, without moving the mouse, without any window being popped anywhere, press the Control key. If you moved the mouse, if a window popped, if whatever happened between clicking the separator and pressing the Control key, you're screwed, start again (start at the "click the separator" step).
  • Please note I have no idea how ObjectDock with multiple docks works, but it should do just as fine on them.
  • A text now appears in the tool window, at Class Name: (which says ROCKETDOCK if you happened to do the test with Rocket Dock). The text at Class Name is what you have to enter in "Put behind this window:" setting.

Hope this helps. At least is better than "Pray for help" ;).

Link to comment
  • Replies 75
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

That's realy nice ! good work :)

But i've my dock on the top of the screen, so that not working..

mirki2.th.jpg

If you can reverse the effect.... but Thank you :)

Try playing with the "... this far from the screen center" and "... this far from the screen edge" settings. You should set that last one mostly to the middle of the slider. If you have some app (like in nVidia's settings) to disallow windows from being overlapped or outside the screen, you'll need to disable that or add MirrorEffect.exe to the exceptions list.

Also I notice you use a squared skin, you'll need to do your own squared mask (it can be easily done even in MS Paint, see masksTest for an example).

Link to comment
Try playing with the "... this far from the screen center" and "... this far from the screen edge" settings. You should set that last one mostly to the middle of the slider.

No, that not working, you've to reverse the effect, i think.

mirqc5.th.jpg

Try yourself ;)

If you have some app (like in nVidia's settings) to disallow windows from being overlapped or outside the screen, you'll need to disable that or add MirrorEffect.exe to the exceptions list.

Where can i add MirrorEffect to the exceptions list in nvidia's settings ?

Link to comment

@Björn:

I have no idea what are you talking about... if you mean to make the mirror be behind the dock, this is acomplished in the settings dialog (double clicking the tray icon) with "Put behind this window" settings. If you mean the position of the mirror, this is with side of screen setting and the sliders. Else I didn't understand you :(

@Tardio:

I don't understand. Can you post me a "mockup" of what you think the mirror should look like? Also I see the icons are being reflected on the mirror... what dock are you using? Object Dock? RK Launcher? Which is your O.S. Windows XP, Vista, 2000, 2003, ...? Do you have Aero enabled? The icons shouldn't appear reflected in the mirror so it looks confusing to me.

@devrexster:

At first I didn't understand you :) (I slept bad and have stomach ache). Now that I undestood I can say it is a great idea, and I'll try to implement it and see what comes from this.

Link to comment

Also I was thinking if u make another version in which u implement the DWM in some fashion. I mean u are updating it continously which means u aren't using the DWM. So I was thinking if a vista version with help from the DWM wud mean less cpu cycles atleast on vista - untill somebody helps u with the "Wishlist part of ur post.

but first u need to do something about ur stomach ache ;):P

Link to comment

@devrexter:

Ok, done with the editor. http://matias.securityconsultant.com.ar/Mi...-2008-07-16.rar

It's far from perfect but it works for opaque skins (though you'll need to make opaque skins transparent later, to see the mirror behind the dock, hahaha).

Edit: I don't have Vista to test, but AFAIK DWM doesn't allow to get a window as a GDI+ image, or as a texture, so I don't know what to do there. Maybe you can put vertically inverted, and then cropped, live previews, behind the dock, and clipped according the mask... mmm...

@Tardio:

To do that you should use SirSmiley iReflector. I don't know why the mirror is reflecting your icons, but that is a mirror's bug, an error and it shouldn't happen. In my screenshot, you can see the icons are reflected, this is not by my mirror; I used SirSmiley's app there.

The app does exactly (well... almost) what Björn says (I say almost because it doesn't but what Björn says would be the ideal behavior, which I don't know how to implement :( )

@freestart:

Yes, I've noticed that. Indeed it seems RocketDock scales the skin with the icons, so a proper slider would be scale, or dock size, rather than stretch. I'll try to just abide by dock size slider and give an update on that ;)

Edit: the stretching is not dictated by the dock size solely, but by the dock's icons size. I'll have to add another slider, as you said.

Link to comment

great work, matonga!

everything works fine here (i use Objectdock) , just as i want it to, but i have one suggestion. would an autohide feature be possible? so that it leaves directly under the dock, but hides behind windows? that would be awesome :D

Link to comment

Hi this is a grate app thanks matoga! I downloaded rocket dock just to try it but what do i chose for it to be behind RK launcher :)

EDIT ive found a way: its to rocket dock 100% opaque with no icons and to put RK on top, but can eny one tell me a better way thanks

Link to comment

:(

EDIT: Shit. 3D hud dock HAS no RD port :<

EDIT2:wtf happened to the swear filter?

Also, I haxxed the 'test' thingy a bit, works nicer now.

I assume it'd be possible to configure this, or have it made possible, to reflect the dock icons properly, too?

EDIT3: Much nicer. My dock is unvisible, so I stretched it across the whole screen, and have one or two requests -

I have it set to be behind OD (Name is 'ObjectDock', btw) but it's reflecting my icons when they get bigger, and it looks silly.

I also use Samurise to have a little clock, song time, etc, and that's below the reflection (Which, at as close to too fast as I can get it without it stopping updating is almost realtime, yum as hell), so would it be possible to have a list of things for it to be behind/not reflect? (I wouldn't mind running another process to get my dock icons reflected :>

Link to comment

Hi Matonga,

well it's a cool application wut u did...anywa I found something maybe interesting for you.

It's a tutorial from the creator of Toy'd ad that guy ar amzing see wut they did

http://it.youtube.com/watch?v=EKtxa5ilW2Q

http://it.youtube.com/watch?v=YDRUKMm425w&feature=related

http://it.youtube.com/watch?v=uGJGfNWkS4Y&feature=related

also they wrote this tutorial I dunno if it can help u

http://blog.vallat.info/?page_id=57

see ya and create some good stuff!;)

Link to comment
:(

EDIT: Shit. 3D hud dock HAS no RD port :<

EDIT2:wtf happened to the swear filter?

Also, I haxxed the 'test' thingy a bit, works nicer now.

I assume it'd be possible to configure this, or have it made possible, to reflect the dock icons properly, too?

EDIT3: Much nicer. My dock is unvisible, so I stretched it across the whole screen, and have one or two requests -

I have it set to be behind OD (Name is 'ObjectDock', btw) but it's reflecting my icons when they get bigger, and it looks silly.

I also use Samurise to have a little clock, song time, etc, and that's below the reflection (Which, at as close to too fast as I can get it without it stopping updating is almost realtime, yum as hell), so would it be possible to have a list of things for it to be behind/not reflect? (I wouldn't mind running another process to get my dock icons reflected :>

I think OD skins work on RD. I'm using the 3D HUD dock on RD now...

Link to comment

Quoted from Rocket Dock's web page:

Compatible with MobyDock, ObjectDock, RK Launcher, and Y'z Dock skins

This is about Rocket Dock, not my mirror effect.

Can anyone send me both an ObjectDock skin and it's corresponding port to RocketDock? That would help me a lot to give support to those skins on MaskTool.

Link to comment

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...