I have found a bug with 2020, where a workspace has a floating panel, some docked panels on the left bottom, and a book open and a document open. If the floating panel is dragged to a second monitor that is on the right of the main monitor (so displays extended, not duplicated), the workspace saved by choosing another and exiting FrameMaker, or just exiting FrameMaker. When the workspace is chosen again, FrameMaker crashes silently. This scenario worked okay in 2019 and does also work okay in 2022.
The workaround is to have the second monitor on the left of the main screen. Alternatively the origin setting for the floating panel can be edited to bring it back to the main screen.
I cannot see anywhere in the FDK where I can register for a notification of a user changing the workspace. I can trap session end, and check the .cfws, and edit it, or I could have a thread set to monitor changes to the .cfws files. Is there a simpler approach I can use?
2022 is not an option right how, or at least until Update 1, and I do not want to have the customer go back to 2019!
BTW I have spent a not inconsiderable time putting together a the details for a bug report, but the b..y bug track site reports 'Bug Submission Failed' but without a reason why!
Now to think about something other than FrameMaker!
Copy link to clipboard
Hi Jon. There is a FA_Note_BackToUser event that registers just about every FrameMaker event that occurs. As I recall, the FDK says that it is "expensive" because it monitors so much. The iparm argument will return a unique number for each event. You may want to test and see if a Workspace change throws a notification. I was trying to find an ExtendScript example, but I don't think I have one. Here is a simple one that I used to use with FrameScript to figure out the correct parameter value to trap. FrameScript took care of a lot of the background plumbing :-).
Event NoteBackToUser // Display IParm; // EndEvent
So I have decided to go with the notification FA_Note_PostQuitSession and start an independant exe to check all the .cfws files for the problem.
@frameexpert the FA_Note_BackToUser was providing nothing I could see to use, as p_docId was always 0, p_sparm null and p_iparm 0. I even tried it with 2022, just in case. Many thanks for the suggestion anyway. 🙂