GameGodS3/DropPoint

DropPoint doesn't appear across External Monitors

Opened this issue · 1 comments

Describe the bug

Similar to Dragging and dropping across workspaces and apps, I tried to drag and drop files to a window in my external monitor. But I am having to drag the DropPoint window to the other monitor to have it visible there.

To Reproduce

Steps to reproduce the behavior:

  1. Connect to an external monitor
  2. Open up DropPoint in either of the monitors
  3. DropPoint window only shows up in One of them and has to be dragged to the other to drop something there.

Expected behavior

DropPoint window should appear across all monitors similar to appearing across desktops.

Desktop:

  • OS: macOS
  • OS Version/Build: Big Sur v11.5.2
  • DropPoint Version: v1.1.2

Upon trying to think up some solutions, I realised how complex this could get.

Unlike workspaces, multiple monitors are only considered as just an extra surface area of the same desktop screen. Which means, what you are essentially asking for, is to have instances of DropPoint equal to the number of screens you have.

From what I read, Electron API can detect external screens, and through some interesting methods, identify them uniquely. So, identifying where the screens are wouldn't be much big of a hassle.

What would be a hassle, is to have the instance come in all of them. For this, we have to implement the following changes:

  • Currently DropPoint is designed to have only one active instance at a time. It is written to prevent the creation of more than one, and if at all we find a way to open multiple instances, it will throw errors. So multiple instance support must be added
  • Content must be synchronized between these said instances. Each electron window is independent of each other, and so to have them all have the same content, excess code must be written.
  • Thirdly, positioning. Every single instance should get dragged when one window is dragged so that it stays consistent in other screens.

It would be a nice feature to implement, but I would really appreciate any help or contribution for the same. Hence, I shall be marking this as 'help wanted'
Cheers