• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

How can I monitor programmatically when a user changes the workspace

Contributor ,
Oct 27, 2022 Oct 27, 2022

Copy link to clipboard

Copied

Hi all,

 

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!

 

BugSubFail.png

TIA

Jon

Now to think about something other than FrameMaker!

 

 

TOPICS
Error , Scripting

Views

146

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 27, 2022 Oct 27, 2022

Copy link to clipboard

Copied

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

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Oct 27, 2022 Oct 27, 2022

Copy link to clipboard

Copied

Thanks Rick. I will check that notification option out later.

 

I have been able to create a bug report this morning - FRMAKER-12426 | Tracker (adobe.com)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Oct 31, 2022 Oct 31, 2022

Copy link to clipboard

Copied

LATEST

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. 🙂

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines