Lorenz Cuno Klopfenstein

Posts tagged "OnTopReplica"

It's been a long time, but I've been finally able to fix some of the issues of OnTopReplica and pushed out version 3.3 this evening.

OnTopReplica 3.3

So, what are the new features?

  • First of all, a brand new Spanish translation. Thanks you very much Raúl!
  • OnTopReplica now can attempt to restore the last cloned window on start up: this works by storing the cloned window's title, class and handle on shutdown. When enabled (check the Advanced menu) it will try to guess a window to clone. This is (and cannot) be 100% exact, but it appears to be working in most cases.
  • All “side panels” now open in a separate modal window instead of being embedded in the main form itself. This simplifies the code and makes the application more reliable.
  • Brand new settings panel that features some basic settings (and will be expanded in the future).
  • Improved command-line parameters.
  • Improved main window behavior: opacity, taskbar grouping and other issues have been fixed.
  • Ton of small bugfixes and improvements.

Perhaps most importantly, the code looks way better and I feel I don't have to be ashamed as much as before for putting the source code on CodePlex. However, one of the regressions caused by the code clean-up is that the main form is displayed in the ALT+TAB window list. I haven't been able to fix the issue in a reliable way for now.

Anyway, you can download the installer or the standalone executable if you want to try it out.

I hope you enjoy the new release. As usual, I'm eagerly waiting for any feedback and bug report. Let me know!

I already have a list of new features that are coming up for the next release (hopefully).  :)

Posted on Monday, April 04, 2011
Tagged as
608 Views
4 comments posted

OnTopReplica

The new version of OnTopReplica is out (get the installer) with a couple of new features and some bug fixes.

First of all, some annoying bugs have been corrected (involving window resizing, chrome enabling/disabling, etc.), which is nice. I also tried to reduce the amount of memory required by the app (which is still higher than I'd like) and to improve start-up time. New features include the following:

Size/Position restore: had been removed in an earlier version, but is now back.  :) OnTopReplica will remember its last position and size when it is closed and will restore it when started again. Can be enabled through the “Resize” menu. I'll rearrange the menus sometime in the future.

Position lock: there always was an option to dock OnTopReplica in one corner of the screen. This time though I added position “locking”. When enabled, the window will automatically dock again in the screen corner you picked after you move or resize it.

And most importantly, Command Line Scripting! You can launch OnTopReplica with the /help parameter to get a list of available parameters. This opens up a lot of nice scripting scenarios. It is still impossible to interact with a running instance of the application, but that is coming too.

Hope you enjoy it.  :) In the meantime, I switched to CodePlex to track issues and feature requests, so head there if you'd like to submit an idea (or write a comment).

Posted on Saturday, October 16, 2010
Tagged as
510 Views
0 comments posted

In the last weeks I've received several mails about OnTopReplica, which was apparently crashing for a lot of users. After some tinkering, my installed copy started crashing too for some reason (which is when I decided I had to do something about it  :)). What I found out is that the app wasn't crashing, but failed to start for some unknown reason.

Even if I'm still unsure about the exact reason why OnTopReplica would crash, it appeared to be related to ClickOnce and the way the app is launched. So I decided to ditch ClickOnce (which is unfortunate, since it did work pretty well until now and I liked the auto-updating feature).

Anyhow, if you install OnTopReplica now you will get a custom NSIS installer instead of the ClickOnce .application file. I still tried to keep the installer as noninvasive as possible: user elevation is not required!
The installer will only write to the current user's registry and extract the executable to the local application data folder (i.e. C:\Users\User\AppData\Local\OnTopReplica), exactly like Google Chrome. Automatic updating must yet be implemented, but the app will notify you if updates are available.

If you installed OnTopReplica via ClickOnce, please uninstall it and reinstall the new version. Sorry about the inconvenience (but as a bonus: the new version includes a fix for a memory leak... so, there you go  :D).

Posted on Monday, August 23, 2010
Tagged as
683 Views
0 comments posted

After a long time without updates, I'm finally releasing the next version of OnTopReplica. This time it's version 3.0 and it includes some nice new Windows 7 specific features (while still keeping Windows Vista compatibility, obviously).

Of course there have been also some more basic changes which improve the usability or fix some strange behavior. And a brand new icon!

OnTopReplica icon

The following is a vague description of the changes you'll find in the application:

Improved resizing: now you would think that resizing a window would be pretty simple and that OnTopReplica, being a simple resizable clone of a window, would implement it correctly. But truth is, you're wrong! Resizing is pretty easy, but there are a lot of cases in which trying to keep the aspect-ratio of the original window can be computed or rounded wrongly and result in a slightly deformed window. This is now completely fixed, finally.

Windows 7 integration: OnTopReplica now sports two integration modes with the host OS. On Windows Vista it will continue to create a notification icon as usual. On Windows 7 on the other hand, the application will be visible as an icon on the task bar and will integrate with Aero Peek (that is, OnTopReplica clones will show even if you're Aero-Peeking to the desktop or to some window).

Group switch mode: a special mode that has been suggested by an EVE online player nonetheless.  :) Simply put, you can enable this mode by selecting a group of windows you wish to clone. OnTopReplica will then clone the least recently used window of that group. This feature can be useful if, for instance, you need to edit a document while keeping a second document as a reference. You can select both documents in a group and switch between them, forcing OnTopReplica to always clone the one in the background.

OnTopReplica cloning a Youtube video

Better OS integration: apart from the Windows 7 features mentioned before, there are other features that apply to Vista too. For instance, the Flip 3D effect (the one you activate using [Windows]+[Tab]) now ignores OnTopReplica, leaving the cloned windows always on top. When you close a cloned window, the application will now detect it and destroy the cloned thumbnail too (before it would stay in an undefined state until you resized the window). System-wide hotkeys have been added: [CTRL]+[SHIFT]+[O] hides or shows OnTopReplica quickly. [CTRL]+[SHIFT]+[C] clones the window that currently has the user's focus. Those hotkeys aren't customizable yet, but will be eventually.

Click forwarding improvements: you can now enable “click forwarding” and forward right clicks to the cloned window as well. To disable this feature once you're done, simply push ESC.

Other stuff: there have been several bug fixes (for instance, creating a 0x0 pixel region doesn't crash the program anymore, woohoo!) and some minor improvements (the window now has a title which is displayed in the task bar, while it always stays hidden from the Alt+Tab list).

That should be all for now! Please go ahead and download the update (or wait until the app updates automatically). Let me know: suggestions, feature requests and bug reports are always welcome!  :)

By the way, I've opened a community forum about OnTopReplica on CrowdSound which will allow users to submit bugs and ideas which can be voted and commented on. Should provide a better way of organizing the project instead of blog comments and e-mails. Check it out.

Posted on Wednesday, August 04, 2010
Tagged as
20606 Views
2 comments posted

A minor update to OnTopReplica is available since a couple of days via the ClickOnce installer or on the CodePlex repository.

This new version adds some minor tweaks (alphabetic region ordering, some minor redrawing issues, etc.) and adds a new Czech translation to the ones available (italian and english at the time). Many thanks to René Mihula for the translation!  :)

In the meantime, a portoguese translation is in the works and for the upcoming 3.0 version I'm planning to integrate some Windows 7 specific features (Vista will still be supported of course).

Posted on Friday, May 14, 2010
Tagged as
620 Views
2 comments posted

I just reorganized the code of On Top Replica and finally committed it on the repository on CodePlex.

I also fixed some annoying things: first of all, resizing now works way better. The aspect ratio of the cloned window is now kept also while resizing, not only when you release the drag handle. Doing that is harder than expected in Windows Forms, but can be done by handling the right Win32 messages.

As a user suggested on the On Top Replica page, I also added region selection to the windows menu: that is, after selecting which window to clone you can also select one of the saved regions to apply directly. This should make using regions a bit easier.

The new region selection feature.

Next updates in the pipeline: refactoring the code a bit (it's messy, but piece by piece it's getting better...) and adding some cool features for Windows 7! That means I'll remove the "tray icon" and leave the application on the task bar, add some jump lists, etc...

Let me know if you find bugs or have some suggestions.
Comments welcome as always.  :)

Posted on Wednesday, November 04, 2009
Tagged as
1041 Views
0 comments posted

OnTopReplica about screen 2.7 Yesterday I released an update for OnTopReplica, which now reaches version 2.7.

I fixed a couple of things here and there (especially some localization issues), the region selection screen now draws two guides that should help you to crop the right portion of the screen more easily and some bugs with the auto-positioning have been fixed (now the cloned window correctly docks in the corner of the active monitor).

Other small changes: enabling and disabling the "chrome" works better (the clone window stays centered and doesn't move on its own), the [ALT]+[ENTER] combination to switch to/from fullscreen has been added and finally, in fullscreen mode, OnTopReplica will not be a top-level window anymore. This sounds kind of strange, but now you can watch movies in fullscreen, pull up an instant messaging window (or something like that) and write while you continue watching the big movie on the background.

That's all, I think. Get it now while it's fresh!  :)

Posted on Sunday, August 09, 2009
Tagged as
592 Views
0 comments posted

I recently received a bug report on OnTopReplica, because it did render incorrectly when in High DPI mode. Some UI elements did slip beyond the window boundaries or were misaligned.

Even if Windows Forms simplifies high DPI mode the problem (Control instances have a special AutoScaleMode property that automatically adapts your UI based on the system font size or the DPI mode), you still must be certain to never ever use constant pixel values in your code.

Essentially, the code that handled the opening and closing of the "region" side box did increase (or decrease) the width of the form of a constant value (which I tought would always match the size of the region box control). Unfortunately, Windows Forms would automatically adapt the size of said control, thus making it bigger than expected. The solution is quite easy: simply drop every constant value and always refer to the actual size of each control (in Control.Size and Control.ClientSize).

OnTopReplica in chromeless mode.

The new version can be downloaded now via ClickOnce. As seen in the screenshot above, OnTopReplica 2.6 now also includes a "chrome less" mode that will remove the classic window borders (and make the application unresizable, even if it can still be moved). Should be much nicer for videos and similar.

Unfortunately, while publishing the new version I discovered that the original license I used to sign the ClickOnce manifest had expired last month (this means OnTopReplica was first published with ClickOnce around one year ago, woot!  :)). I had to sign it with a new key: should you encounter manifest or license problems when updating the application, please update .NET to version 3.5 SP1, which should fix all manifest problems.

Posted on Sunday, May 17, 2009
Tagged as
662 Views
1 comments posted

OnTopReplica 2.5 screenshot

Today I released OnTopReplica 2.5: if you installed it via ClickOnce you should receive the update automatically. The version on CodePlex.com will be updated soon as well.

This new version includes some minor changes: for instance, the opacity of the window can't be changed anymore by using the mouse wheel (I found it extremely annoying, but tell me if you found the feature useful). A new interesting feature, which was suggested by Young Do via mail, is "click forwarding": if enabled, OnTopReplica will send fake mouse clicks on the window that is being cloned when you left click on the thumbnail. I'm starting to use it on Youtube videos and it's definitely very useful.

This new version is fully localized. At the moment, english and italian are the only languages included in the default install, but additional translations can be added in no time. If you'd enjoy making OnTopReplica more useful for other users around the world, send my an e-mail.  ;)

Posted on Tuesday, January 27, 2009
Tagged as
701 Views
1 comments posted

I recently got an e-mail from an OnTopReplica user (they exist!  :S) asking for a new feature that allows clicking on the window's thumbnail in order to generate corresponding clicks on the window that is being cloned. It's a feature I would find quite useful myself, therefore I'm currently wasting lots of time I should be using to prepare my exams to work on the next version of OnTopReplica: 2.5.

Somehow, it's strange that a seemingly "interesting" things like the generation of fake clicks on an arbitrary window (using the Win32 APIs) appearently isn't talked about at all on the internet. So, instead of blatantly stealing some code from someone else, I had to find the way to do what I wanted by digging around in the Win32 documentation. I'm not completely sure the following code is correct, but it works (mostly).

More...

Posted on Thursday, January 22, 2009
2830 Views
45 comments posted
Back to Klopfenstein.net
Clemens Klopfenstein Serena Kiefer Lukas Tiberio Klopfenstein Lorenz Cuno Klopfenstein
English German