Window Group Profile and Window Snapping

Nov 25, 2013 at 7:52 AM
Hello.

I've been using your program a lot for EVE Online. Works wonderfully, as I didn't need a program like ISBoxer with its fancy bells and whistles, just something lightweight to let me view a few specific things.

Feature request: The ability to save a profile with the following information:
1.) How many OnTopReplica instances are open.
2.) Their position on the desktop,
3.) Each OnTopReplica's instance "Region" that they're replicating, if any.
4.) For each of these OnTopReplica instances, if the window it was replicating is open once this profile is invoked, then select that window with the aforementioned region settings, otherwise remain default and wait for customization.
5.) Any other misc settings the OnTopReplicas may have been running, like borderless, click-passthrough, etc.

This way, I can open the program once, select the profile, and bam, the program opens up the correct number of copies in their aforementioned places focused on the specific regions, as if I had never closed OnTopReplica. I tend to run 3 OnTopReplica windows, and so when I close the program, the next time I start it up I have to adjust them so that the views are the way I want them while saving enough desktop space by carefully placing them next to eachother.

Also, on the note of placing them next to eachother, have you considered a "window snapping" feature that allows OnTopReplica instances to snap to eachother? That would make saving desktop space a lot easier.

Anyhow, thanks again for the program. It's really useful!
Coordinator
Dec 1, 2013 at 7:59 AM
Hello BeAuMaN,
I'm really glad you find OnTopReplica useful! Thanks for the feedback. :)

A feature which is similar to what you requested (region+position+window settings that are auto-applied when launching the application) is coming in one of the next versions, hopefully!

The window snapping feature sound quite interesting, but OnTopReplica is not designed (at the moment) to handle multiple windows (except launching multiple instances of the app that is). However, interesting suggestion.

Thank you!
Feb 10, 2014 at 11:28 PM
Edited Feb 10, 2014 at 11:29 PM
Thanks again for the reply.

I was recently talking to somebody about your program when I noticed it was updated. Wonderful!

I hadn't noticed it before, but someone in our forum actually posted an example of a batch file to do what I mostly wanted to do.
cd C:\Where\OTR\is\OnTopReplica
:: OTR1
start OnTopReplica.exe --windowTitle="Program Name1" --region=243,137,121,350 --position=1920,0 --size=146,411
:: OTR2
start OnTopReplica.exe --windowTitle="Program Name2" --region=1341,189,333,296 --position=1920,422 --size=329,290
:: OTR3
start OnTopReplica.exe --windowTitle="Program Name3" --region=1347,881,327,145 --position=1920,719 --size=332,150
:: OTR4
start OnTopReplica.exe --windowTitle="Program Name4" --region=767,874,146,145 --position=1920,871 --size=176,175
This achieves the completely replicated window opening that I wanted as a feature. The only difficult part about this from my understanding that may take an inordinate amount of time for someone setting up one of these batch files is the "position" and "size", since you mostly have to kind of have to guess and test, unlike the region, which is provided in the program.

Googling a bit more I found the mention on your older blog that there's a "/help parameters" function on your program. Very enlightening.

Anyhow, Feature requests:
  1. Could you perhaps implement an "OTR Properties" window in the menu that displays all of the live parameter data in one place? Or even the data from when the "OTR Properties" window was opened? That would definitely help with finding the "Position" and "Size" parameter data.
  2. Whenever you get around to it, perhaps just copy-paste the parameter list from the parameter help window, as well as a basic example batch file into the codeplex "documentation" tab to get people started? Knowing about the parameters useable now, I have a much better idea on I could make better use of this program.
Thanks!
Coordinator
Feb 12, 2014 at 1:44 PM
OK, good to know that the command line interface works for your scenario. I know the documentation is terribly underdeveloped and I will absolutely try to improve it. I'm aware there are a lot of features which are quite difficult to find (and to use).

BeAuMaN wrote:
  1. Could you perhaps implement an "OTR Properties" window in the menu that displays all of the live parameter data in one place? Or even the data from when the "OTR Properties" window was opened? That would definitely help with finding the "Position" and "Size" parameter data.
Very good idea, I'll try to implement it in the next version.
Thanks for the feedback! :)
Feb 12, 2014 at 2:17 PM
Sorry to hijack this discussion, but I also play EVE Online, I wonder if its possible to get "click forwarding" to work?

At the moment it does click, but nowhere near the place its supposed to, maybe its an issue as window is not focused, or dunno :)


Other then this, great tool!

Kind regards!
Mar 24, 2014 at 6:24 AM
Edited Mar 24, 2014 at 6:29 AM
Heya,
Another EVE Online player here.
  • I'll +1 some sort of profiling feature where I can save the relevant data for multiple instances of OnTopReplica. Would make things a lot easier.
  • Resnikus is also correct about Click Forwarding not working with EVE; even when the replicated window is sized 1:1 to the main one. If this could be fixed to work in EVE that would be quite useful, however I understand it might not be possible.
Coordinator
Mar 27, 2014 at 5:41 PM
  • I'll +1 some sort of profiling feature where I can save the relevant data for multiple instances of OnTopReplica. Would make things a lot easier.
This sounds easily feasible, good idea. :)

As for click forwarding, the problem is: the way OnTopReplica does it at the moment is it generates fake mousedown and mouseup events on the target window. Mouse placement should be correct, but how this works out depends on the cloned application. Games especially sometimes have strange (different) ways of dealing with user input. I will try with some other methods to fake mouse input.