Processing Ajax...

Close Dialog


Close Dialog

Close Dialog

Close Dialog

User Image
5 discussion posts
I suspect that this may be more of a feature request than a question but...


Correct me if I'm wrong, but it seems that this is the model that DisplayFusion uses to reference or locate window positions...

    The entire desktop (including all displays) is a single map or field.
    It has 2 axes, X and Y.
    The origin, the point where the 2 axes cross, is determined by the top left pixel of the primary display.
    This is position 0,0.
    Each window is located within the single map of the desktop, as an offset from, or relative to, that point.
    X values are negative left of that point and positive right of that point.
    Y values are negative above that point and positive below that point.

    Therefore, windows on secondary displays must be referred to relative to this single origin (the top left pixel of the primary display).
    There is no way to refer to a window on a secondary display relative to the top left pixel of the display that it is on, is there?

I can see why it would make sense to design the backend of the application this way.

But, from a user's perspective, this can annoying. It involves a lot of extra calculations to work out the offsets initially. And then, if the display arrangement changes (a display is added, removed, rotated or moved left or right) then every function that depends on specific X Y positions needs to be recalculated.

I have several displays including 2x monitors and 2x TVs. Yesterday, I added a phone, acting as a little portable touch display (using a nifty free utility called SpaceDesk). The vertical resolutions of the 5 displays range from 576 to 2160 pixels).

Previously, I had aligned the displays by their top edges (in Windows). This was handy for calculations in DisplayFusion because the Y position on a secondary display was always a simple offset from 0 (the same as the primary display).

But that alignment caused practical problems moving the mouse pointer from one display to the next. So, I decided to align all the displays by their bottom edge, because I find I am more likely to slide the mouse along the taskbar from one to the other than to slide it along the top edge.

But now, in order to calculate the Y position, I can't just state how far from the top edge of that display it is (eg top 0 + offset 300 = 300). Now I have to first work out the offset of the top of that display relative to the origin (the primary display, which is 1200 high). For example, for the 2160 high secondary display, the top is 1200 - 2160 = -960. If I want a window to be positioned 300 from the top of that display, I have to set the Y position to be 300 - 960 = -660.

That makes my brain hurt!


So, if I am right about everything above, then I'd like to request this feature...

When a user is creating a custom function, please add the option to:

"Move to Monitor X" AND "Specify Location" (on that monitor)

That is, to be able specify a particular display, and then to simply specify the X,Y position relative to (or offset from) the top left of that specific monitor.

I suspect that that would be quite easy to implement in DisplayFusion. It would need to store information about the environment (eg the resolution of each display, and the relative positions and offsets of each display relative to the primary display). But I'm pretty sure that the application must already need to gather that information, given the other options which are currently available.

Please consider it. I think that many people would find it easier. Not just to simplify initial calculations, but also to remove the need to recalculate after rearranging displays. Even if the index number of the display changed, it would be far easier for the user to select the new display number than to start calculating the new X axis offset.

And for those who like the current system and are happy to do the maths, there could be a toggle (either a global one in the settings, or a per function one on the "create custom function" form). If using the latter, it could even calculate the offsets on the fly.

Aug 12, 2022 (modified Aug 12, 2022)  • #1
User Image
5 discussion posts
Further to the third last paragraph of the previous message...

The existing function "Move to Monitor X, Top Left Corner" is already 95% there. It identifies the correct display, and calculates the location of its top left corner relative to the primary display. You'd just need to add the option to set the X,Y offset of the window, and its width and height parameters.

Aug 13, 2022  • #2
Owen Muhlethaler (BFS)'s profile on
I've added this to our feature request list. We don't guarantee that feature requests will be implemented, or offer timelines on possible implementation. We'll be sure to let you know if we do add it to our planned features in a future version.

Aug 16, 2022  • #3
User Image
5 discussion posts
Thanks Owen. Seems easy to implement, so hopefully it will be.

Is there a publicly viewable feature request list? I looked for one before posting, but I didn't find one.
Aug 21, 2022  • #4
Keith Lammers (BFS)'s profile on
We don't have a public facing list for the feature requests, sorry!
Aug 22, 2022  • #5
Subscribe to this discussion topic using RSS
Was this helpful?  Login to Vote(1)  Login to Vote(-)