Aqua-Soft Forums: Mirror effect for docks - Aqua-Soft Forums

Jump to content

  • 4 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Mirror effect for docks Rate Topic: -----

#1 User is offline   matonga Icon

  • Group: Developers
  • Posts: 1,285
  • Joined: 04-September 06

Posted 16 July 2008 - 03:57 PM

I'm releasing this for beta testing.

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

Posted Image

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
http://matias.securi...-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
http://matias.securi...-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.securi...owInspector.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" ;).
0

#2 User is offline   schmrom Icon

  • Group: Member
  • Posts: 594
  • Joined: 23-July 07

Posted 16 July 2008 - 04:12 PM

WOW you are... oh no word for that
0

#3 User is offline   Tardio Icon

  • Group: Member
  • Posts: 15
  • Joined: 19-April 08

Posted 16 July 2008 - 04:19 PM

That's realy nice ! good work :)

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

Posted Image

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

#4 User is offline   matonga Icon

  • Group: Developers
  • Posts: 1,285
  • Joined: 04-September 06

Posted 16 July 2008 - 04:42 PM

Tardio;505405 said:

That's realy nice ! good work :)

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

Posted Image

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).
0

#5 User is offline   Björn Icon

  • Group: Member
  • Posts: 646
  • Joined: 15-December 04

Posted 16 July 2008 - 04:45 PM

If you pull the window over the dock, by holding the mouse button, the mirror will show up, when you release the mouse button.
This is how it works at the moment, or is it just me?
0

#6 User is offline   Tardio Icon

  • Group: Member
  • Posts: 15
  • Joined: 19-April 08

Posted 16 July 2008 - 04:59 PM

matonga;505407 said:

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.
Posted Image
Try yourself ;)

Quote

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 ?
0

#7 User is offline   Phoshi Icon

  • Group: Member
  • Posts: 996
  • Joined: 03-April 08

Posted 16 July 2008 - 05:04 PM

You're incredible, matonga, you do know that, right?

EDIT: Blimey, you're a genius.
In any case, I hasm bug, Put the update to absolute max and it doesn't update at all, slightly below is acceptable, however.
0

#8 User is offline   devrexster Icon

  • Group: Member
  • Posts: 108
  • Joined: 26-December 07

Posted 16 July 2008 - 05:07 PM

AWESOME !!

but I think the mask can be automatically generated if for lets say u do another side-app which generates the mask for a dock skin the user asks it to generate the mask for ?? that - kind of lessens the work up a bit ;)
0

#9 User is offline   matonga Icon

  • Group: Developers
  • Posts: 1,285
  • Joined: 04-September 06

Posted 16 July 2008 - 05:15 PM

@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.
0

#10 User is offline   devrexster Icon

  • Group: Member
  • Posts: 108
  • Joined: 26-December 07

Posted 16 July 2008 - 05:22 PM

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
0

#11 User is offline   Tardio Icon

  • Group: Member
  • Posts: 15
  • Joined: 19-April 08

Posted 16 July 2008 - 05:37 PM

Sorry, but i'm french and it's not easy, for me, to explain you ;)

Posted Image
0

#12 User is offline   Björn Icon

  • Group: Member
  • Posts: 646
  • Joined: 15-December 04

Posted 16 July 2008 - 06:26 PM

But that´s not what the programm does. It´s for mirroring windows onto the dock.
0

#13 User is offline   Tardio Icon

  • Group: Member
  • Posts: 15
  • Joined: 19-April 08

Posted 16 July 2008 - 06:31 PM

Maybe i've not understand so....

But that's works if my DOck and MirrorEffect are in the bottom... so i don't think i've not understand.... The screen is just an example... the position too.
0

#14 User is offline   Greg27 Icon

  • Group: Member
  • Posts: 86
  • Joined: 26-January 08

Posted 16 July 2008 - 10:37 PM

Wow this is fantastic Matonga! I'm going to do a mask to fit my dock now.
0

#15 User is offline   freestart Icon

  • Group: Member
  • Posts: 81
  • Joined: 16-July 08

Posted 16 July 2008 - 11:04 PM

Good work, thanks! but would it be useful if you can add in the settings two slides to widen or to tighten vertically the dock; thanks!
0

#16 User is offline   matonga Icon

  • Group: Developers
  • Posts: 1,285
  • Joined: 04-September 06

Posted 17 July 2008 - 12:23 AM

@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.
0

#17 User is offline   Björn Icon

  • Group: Member
  • Posts: 646
  • Joined: 15-December 04

Posted 17 July 2008 - 10:19 AM

Hi,

I meant if you click a window, the mirror disappears, until you leave the mouse button.

One suggestion: Could the mirror be made semitransparent, so you can see the background through (perhabs with a slider)?
0

#18 User is offline   freestart Icon

  • Group: Member
  • Posts: 81
  • Joined: 16-July 08

Posted 17 July 2008 - 11:06 AM

matonga;505443 said:

@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 ;)




Thank you very much :D
0

#19 User is offline   K8ch Icon

  • Group: Member
  • Posts: 8
  • Joined: 23-December 07

Posted 17 July 2008 - 11:11 AM

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
0

#20 User is offline   freestart Icon

  • Group: Member
  • Posts: 81
  • Joined: 16-July 08

Posted 17 July 2008 - 11:17 AM

matonga;505443 said:




I have tried your MaskTool but it don't work, it produces bmp with byte 0. Why?
0

  • 4 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users