Inconsistant monitors ID

Windows use monitor index to show display. (1, 2, 3, etc) When you shutdown a monitor plugged with display port, when you unplug and replug monitor, hub with monitors on it, reinstalling GPU drivers, etc... these ID change a litle bit randomly.

In windows, monitors keep theirs good place even if index changed. But it's not the case for Stardock fence.

On my desktop computer it's not the worst deal ever. But on my laptop (that often plug and unplug to a dock with monitors on it at my office) Each day start restoring fences snapchots until I find the snapshot matching with how windows decided to index my monitors today.

Also sometime I use this computer with only one monitor (integrated screen) and sometime I use it with 3 external monitors with a dock. When I've only one monitors, all fence stack in the only one monitors I've. That make desktop just "unusable" if I don't restore snapshot that are okay for one monitor.

What Fence need :

  • Be able to assign different snapshot according the number of display you have.
  • add alternatives methods to determine which monitor should show which fences
    • Here I give some ideas to achieve it :
    • Use monitor positions instead of index, you should be able to determine the first monitor having the lowest X position.
    • Try to find alternate info than monitor index. If windows can remember monitors positions properly, it's because it clearly use another more unique id or slug. Maybe, you should explore this way.

I hope next version of Fence could see this kind of improvement. Currently it's still one of the must frustating thing about this software.

 

Have a nice day

9,450 views 6 replies
Reply #1 Top

Hello,
Sorry to hear you are having issues. Have you tried Fences 4.21 Beta yet? https://forums.stardock.com/521098. If not, please try and report back. Also, do let us know if your full Windows version number. Use Winver.exe

Thanks
Basj,
Stardock Community Assistant.

Reply #2 Top

I tried Beta. This Issue always been there since I use fences since a lot of time ago (v2).

Currently I'm on Windows 11 build 22621.1928.

As I said, to make Fences better you have to add possibility to check screen position or screen slugs, serial or whathever more consistant than the famous screens index. Screens index are not stable and reliable.

 

 

Thank you.

Reply #3 Top


Windows use monitor index to show display. (1, 2, 3, etc) When you shutdown a monitor plugged with display port, when you unplug and replug monitor, hub with monitors on it, reinstalling GPU drivers, etc... these ID change a litle bit randomly.


Have a nice day
End of quote

Hello,

Please reference this link to our multi-monitor data collection project: 

https://forums.stardock.com/516971/fences-multi-monitor-logging

 

After some use, could you submit these logs in a ticket at the following link:

https://stardock.atlassian.net/servicedesk/customer/portal/4/group/14/create/10139

 

Thanks!

Paul Scroggins
Associate Technical Support Analyst

Reply #4 Top

Ticket topics are only for order issues, I didn't seen any possibility to send technical issue.

Here I place you the two different logs :

This is the good config

Code: xml
  1. ===Fences MultiMon Debug Log===
  2. ===Time: ld, UpTime ld===
  3.  
  4. ===Display Devices===
  5. Monitor: \\.\DISPLAY1\Monitor0, ID: \\?\DISPLAY#DELA021#5&1ccf10e9&0&UID4355#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}, Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003, String: Generic PnP Monitor, State: 3, (-1200, 261 / 1200 x 1600)
  6. Monitor: \\.\DISPLAY2\Monitor0, ID: \\?\DISPLAY#SAM0C4C#5&1ccf10e9&0&UID4352#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}, Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001, String: Generic PnP Monitor, State: 3, (3840, 0 / 3840 x 2160)
  7. Monitor: \\.\DISPLAY3\Monitor0, ID: \\?\DISPLAY#SAM0C4D#5&1ccf10e9&0&UID4353#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}, Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0002, String: Generic PnP Monitor, State: 3, (0, 0 / 3840 x 2160)
  8.  
  9. ===Monitors (3; -1200,0; 8880x2160)===
  10. Monitor: \\.\DISPLAY1, IsPrimary: 0, DPI: 144, (-1200, 261 / 1200 x 1600)
  11. Monitor: \\.\DISPLAY2, IsPrimary: 0, DPI: 144, (3840, 0 / 3840 x 2160)
  12. Monitor: \\.\DISPLAY3, IsPrimary: 1, DPI: 144, (0, 0 / 3840 x 2160)
  13.  
  14. ===Groups===
  15. 0-3|5021|1990|3856|227|0|Desk` |\\.\DISPLAY3` |1200|0|3840|2160|0|0|255|0|` |-1|0|0|0|0|{EBA4CCF5-B036-4F32-94B1-7A05798C17FB}|
  16. 1-4|1236|107|1814|1250|0|Trash` |\\.\DISPLAY3` |1200|0|3840|2160|0|0|255|0|` |-1|0|0|0|0|{CD8C5033-7D4E-49B7-B198-C1E06635FB10}|
  17. 2-5|562|322|631|204|0|Outils` |\\.\DISPLAY1` |0|261|1200|1600|0|0|255|0|D:\All`Users\Misc` |-1|0|0|1|0|{A83E44F5-D15C-4940-92BD-805F4934EA7D}|
  18. 3-6|5037|77|3850|1837|0|Sendbox` |\\.\DISPLAY3` |1200|0|3840|2160|0|0|255|0|D:\Claude\Desktop\Sendbox` |-1|0|0|0|0|{8FFF4BD4-9E70-4D35-8125-88FE276FC32F}|
  19.  
  20. ===Settings===
  21. AdjustGroupsForResolution=1
  22. AdjustGroupsForResolution_FollowPrimary=-1
  23. StoreGroupDataPerResolution=1
  24. ResolutionLast=[-1200|261|1200|1600|0|\\.\DISPLAY1];[3840|0|3840|2160|0|\\.\DISPLAY2];[0|0|3840|2160|1|\\.\DISPLAY3];
  25.  

 

And here is the bad

Code: xml
  1. ===Fences MultiMon Debug Log===
  2. ===Time: ld, UpTime ld===
  3.  
  4. ===Display Devices===
  5. Monitor: \\.\DISPLAY1\Monitor0, ID: \\?\DISPLAY#SAM0C4D#5&1ccf10e9&0&UID4353#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}, Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0002, String: Generic PnP Monitor, State: 3, (0, 0 / 3840 x 2160)
  6. Monitor: \\.\DISPLAY2\Monitor0, ID: \\?\DISPLAY#DELA021#5&1ccf10e9&0&UID4355#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}, Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003, String: Generic PnP Monitor, State: 3, (-1200, 261 / 1200 x 1600)
  7. Monitor: \\.\DISPLAY3\Monitor0, ID: \\?\DISPLAY#SAM0C4C#5&1ccf10e9&0&UID4352#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}, Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001, String: Generic PnP Monitor, State: 3, (3840, 0 / 3840 x 2160)
  8.  
  9. ===Monitors (3; -1200,0; 8880x2160)===
  10. Monitor: \\.\DISPLAY2, IsPrimary: 0, DPI: 144, (-1200, 261 / 1200 x 1600)
  11. Monitor: \\.\DISPLAY3, IsPrimary: 0, DPI: 144, (3840, 0 / 3840 x 2160)
  12. Monitor: \\.\DISPLAY1, IsPrimary: 1, DPI: 144, (0, 0 / 3840 x 2160)
  13.  
  14. ===Groups===
  15. 0-3|-8|1106|1607|168|0|Desk` |\\.\DISPLAY2` |0|0|1600|1200|0|0|255|0|` |-1|0|0|0|0|{EBA4CCF5-B036-4F32-94B1-7A05798C17FB}|
  16. 1-4|1636|107|1814|1250|0|Trash` |\\.\DISPLAY3` |1600|0|3840|2160|0|0|255|0|` |-1|0|0|0|0|{CD8C5033-7D4E-49B7-B198-C1E06635FB10}|
  17. 2-5|750|46|842|153|0|Outils` |\\.\DISPLAY2` |0|0|1600|1200|0|0|255|0|D:\All`Users\Misc` |-1|0|0|1|0|{A83E44F5-D15C-4940-92BD-805F4934EA7D}|
  18. 3-6|-1|43|1604|1021|0|Sendbox` |\\.\DISPLAY2` |0|0|1600|1200|0|0|255|0|D:\Claude\Desktop\Sendbox` |-1|0|0|0|0|{8FFF4BD4-9E70-4D35-8125-88FE276FC32F}|
  19.  
  20. ===Settings===
  21. AdjustGroupsForResolution=1
  22. AdjustGroupsForResolution_FollowPrimary=-1
  23. StoreGroupDataPerResolution=1
  24. ResolutionLast=[0|0|1600|1200|1|\\.\DISPLAY2];[1600|0|3840|2160|0|\\.\DISPLAY3];
  25.  

Reply #5 Top

Quoting imagicalFantasy, reply 4

Ticket topics are only for order issues, I didn't seen any possibility to send technical issue
End of imagicalFantasy's quote

I authorize you to send these via a ticket, like stated (they go to me). You can just pick the ask a question and use the subject of "multi-monitor logging"

 

Reply #6 Top

We have always been working to improve the reliability of Fences placement on the Desktop.  What has made this challenging over the years are all the variables that are involved:

  • Quantity of monitors

  • Connection types 

  • DPI \ Scale \ Resolution

  • Waking from sleep \ hibernate states

  • The evolution of Windows itself and how it manages items on the desktop

That said, we have a Fences 5 Alpha build in the early stages that we believe addresses most scenarios and we are looking for users who are willing to test this version of our updated engine.

The build

https://cdn.stardock.us/support/uploads/Fences5_5.5.0.2-j46-Setup.exe

NOTE: As stated, this is an early Fences 5 build that you will need to have a license for or an active Object Desktop subscription.  The alternative is to activate a trial if you did not have a license.

Also, while internal tests have been promising, no one should install this on a PC if they are not willing to do considerable work to resolve unforeseen issues. 

Post-install \ reboot (<-important)

Backups -> Store my layout on a per-monitor-configuration basis

image-20240319-161545.png

Reporting an issue

Please include the following for anything found:

  • Exact Windows version \ build (winver.exe)

  • Detailed steps to recreate the issue seen

  • Screenshots and videos are very helpful.  Videos can be uploaded to a cloud drive service (GoogleDrive, DropBox, OneDrive, YouTube), with a shared link included in your post.  Images can be copied and pasted directly into a post.

  • If there are specific apps that the app does not work (well) with, please note what apps and their exact versions.  If any app is not common, a link to a trial version would be appreciated.

We are very much looking forward to your feedback on this.

Sean Drohan
Stardock Product Lifecycle Manager