Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

User Image
matomesc
4 discussion posts
Hi, I'm using DisplayFusion mainly to restore window positions when unlocking using the instructions from https://www.displayfusion.com/Discussions/View/automatically-saving-and-restoring-window-positions-on-dockundock. It usually works however I noticed that it can result in windows not being restored due to the trigger executing immediately after the unlock. Consider the following scenario:

- 30 second timer interval trigger is setup to save window positions
- trigger executes at 12:00:00 and saves window positions, next trigger is scheduled to run at 12:00:30
- lock at 12:00:15
- unlock at 12:00:29
- trigger executes at 12:00:30 before the windows get a chance to be restored, saving the wrong positions

One naive solution would be to pause the timer when locked and unpause the timer when unlocked. However this can also fail when locking right before the timer executes - in the scenario above if I locked at 12:00:29 and unlocked at 12:00:40 the trigger would execute at 12:00:41 which will still not be enough time for the restore to happen (the frequency and probability of this failure depends on the interval duration).

Another solution would be to use a priority queue when executing triggers and run the timer interval trigger with lowest priority - this would ensure the restore trigger is executed before the timer interval.

Yet another solution would be to cancel any active timers when locked and restart them when unlocked.

Is there any fix for this issue in v9.6.1?
Mar 5, 2020 (modified Mar 5, 2020)  • #1
Keith Lammers (BFS)'s profile on WallpaperFusion.com
In 9.6.1 we added an option to Trigger edit window called "Don't run this trigger when the desktop is locked" that should help here. Can you try enabling that in your Trigger rules?
Mar 5, 2020  • #2
User Image
matomesc
4 discussion posts
I have that setting enabled, and after doing a little more testing, it looks like the trigger is cancelled while locked and then starts again when unlocked - which is expected behavior.

Can the monitors going to sleep affect the save trigger behavior in any way? Or perhaps the restore?

I've attached my trigger configurations for save and restore.
• Attachment [protected]: DisplayFusionSettings_I2TwZLx3Ah.png [62,234 bytes]
• Attachment [protected]: DisplayFusionSettings_qmtVdqlQk3.png [61,522 bytes]
• Attachment [protected]: DisplayFusionSettings_uggmNEfvpo.png [62,481 bytes]
Mar 6, 2020 (modified Mar 6, 2020)  • #3
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Could you send me a copy of your troubleshooting info? Here are the steps:

  • Open the Settings > Troubleshooting tab
  • Click the "Export Info to File" button
  • Reply with the file attached
Mar 6, 2020  • #4
User Image
matomesc
4 discussion posts
Hi Keith, I added debug info. Let me know if you need anything else.
• Attachment [protected]: DisplayFusionDebugInfo.zip [312,014 bytes]
Mar 15, 2020  • #5
Jon Tackabury (BFS)'s profile on WallpaperFusion.com
Thank you for the information! We're a bit backed-up right now but we'll take a look as soon as we can and get back to you. Thanks! :)
Mar 19, 2020  • #6
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Thanks! If you take the "Wait" action out of the restore Trigger rule, does that make any difference? Or does that break the restore?
Mar 20, 2020  • #7
User Image
matomesc
4 discussion posts
I removed the wait from both restore triggers (desktop unlocked + monitor profile changed) and I'll keep you posted.
Mar 22, 2020  • #8
Subscribe to this discussion topic using RSS
Was this helpful?  Login to Vote(-)  Login to Vote(-)