System progs preventing WB screenmode change.

A forum for general AmigaOS 4.x support questions that are not platform-specific
xenic
Posts: 1185
Joined: Sun Jun 19, 2011 12:06 am

System progs preventing WB screenmode change.

Post by xenic »

After reading mritter's topic "Cx locks WB" I wondered if any system programs block WB screenmode changes and here is what I found:

System programs that prevent a Workbench screenmode change until their windows are closed:

SYS:System/Format
SYS:System/Media ToolBox
SYS:System/Mounter
SYS:Prefs/Picasso96Mode
SYS:Prefs/ScreenBlanker
SYS:Prefs/Updates
SYS:Internet/Edit Connection
SYS:Internet/New Connection
Sys:Utilities/PlayCD
Sys:Utilities/SGrab/Sgrab

System programs that prevent a Workbench screenmode change and cause the Workbench "close windows" requester to continuously close and reopen at least several times. In some cases a screenmode change isn't possible after the window is closed and occasionally made my system unstable:

SYS:Utilities/FileCompare
SYS:Utilities/KeyShow
SYS:Utilities/USBInspector

Can someone confirm the above problems and report them in the OS4 bugzilla??
AmigaOne X1000 with 2GB memory - OS4.1 FE
User avatar
Amigo1
Posts: 221
Joined: Sun Jan 01, 2012 3:32 pm

Re: System progs preventing WB screenmode change.

Post by Amigo1 »

I can confirm your findings. But I'm no beta tester and can't submit a buzzkill a.
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1479
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: System progs preventing WB screenmode change.

Post by tonyw »

To fix the problem, the program must be updated to support iconification and un-iconification. Workbench sends an "Iconify" command to each open window, then, after redrawing the screen, sends an "un-iconify" command to each window again to reopen it.

Some of those programs are really old and from a time when iconify was not heard of. It's not a trivial matter to modify them. A case in point: I took a look at PlayCD some years ago when I added the ability to play through AHI. The GUI code is so old that I'm not prepared to touch it.
cheers
tony
xenic
Posts: 1185
Joined: Sun Jun 19, 2011 12:06 am

Re: System progs preventing WB screenmode change.

Post by xenic »

tonyw wrote:To fix the problem, the program must be updated to support iconification and un-iconification. Workbench sends an "Iconify" command to each open window, then, after redrawing the screen, sends an "un-iconify" command to each window again to reopen it.
I searched the Workbench autodoc and includes for a command, tag or define related to an "iconify" or "uniconify" command and was unable to identify anything related to such commands. Could you be more specific about those commands (mesage type, flags etc.) so other programmers can react to them in their programs??
Some of those programs are really old and from a time when iconify was not heard of. It's not a trivial matter to modify them. A case in point: I took a look at PlayCD some years ago when I added the ability to play through AHI. The GUI code is so old that I'm not prepared to touch it.
I don't think SYS:Utilities/FileCompare, SYS:Utilities/USBInspector or SYS:Prefs/Updates are old programs.
AmigaOne X1000 with 2GB memory - OS4.1 FE
User avatar
thomasrapp
Posts: 310
Joined: Sat Jun 18, 2011 11:22 pm

Re: System progs preventing WB screenmode change.

Post by thomasrapp »

A program has to register with Intiution's StartScreenNotify function before it receives any such message.
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1479
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: System progs preventing WB screenmode change.

Post by tonyw »

I searched the Workbench autodoc and includes for a command, tag or define related to an "iconify" or "uniconify" command and was unable to identify anything related to such commands.
Wrong place. The window class sends WMHI_ICONIFY and WMHI_UNICONIFY messages to the program through the window's message port. In your program, you have to listen for WMHI_xxx messages. See include/include_h/classes/window.h.
I don't think SYS:Utilities/FileCompare, SYS:Utilities/USBInspector or SYS:Prefs/Updates are old programs.
No, but they support Iconify properly. There is something else wrong there.
BTW, I have never had a problem iconifying FileCompare. I do it frequently when chasing bugs. I don't use the others very often.
cheers
tony
xenic
Posts: 1185
Joined: Sun Jun 19, 2011 12:06 am

Re: System progs preventing WB screenmode change.

Post by xenic »

tonyw wrote: Wrong place. The window class sends WMHI_ICONIFY and WMHI_UNICONIFY messages to the program through the window's message port. In your program, you have to listen for WMHI_xxx messages. See include/include_h/classes/window.h.
O.K. Window class simplifies program iconification in response to WorkBench close/reopen. I work on some older programs (ported from OS3) and thomasrapp's suggestion probably applies better to fixing old programs.
No, but they support Iconify properly. There is something else wrong there.
BTW, I have never had a problem iconifying FileCompare. I do it frequently when chasing bugs. I don't use the others very often.
FileCompare will iconify if you click the iconify gadget but it doesn't iconify or close it's window automatically when WorkBench changes screenmodes and needs to close and reopen. Most system programs close their windows automatically when you make a WorkBench screenmode change. FileCompare is worse than programs that do nothing at all when WorkBench needs to close. When the FileCompare window is open when you attempt a WorkBench screenmode change, WorkBench throws up the "close windows" requester and closes it immediately and then does the same repeatedly. On my X1000, I can't even click the cancel gadget in the requester until it finally stops repeating the open/close of the requester.
AmigaOne X1000 with 2GB memory - OS4.1 FE
xenic
Posts: 1185
Joined: Sun Jun 19, 2011 12:06 am

Re: System progs preventing WB screenmode change.

Post by xenic »

@all
The maximum value of any excuse is zero. It's extremely discouraging when one reports a real verifiable problem in an effort to get verification that the problem is added to the OS4 bugzilla but fail.
AmigaOne X1000 with 2GB memory - OS4.1 FE
User avatar
mritter0
Posts: 214
Joined: Mon Aug 25, 2014 9:41 pm
Location: Bettendorf, IA, USA

Re: System progs preventing WB screenmode change.

Post by mritter0 »

WB doesn't send iconify and uniconify messages. It sends SNOTIFY_BEFORE_CLOSEWB and SNOTIFY_AFTER_OPENWB through IIntuition->StartScreenNotifyTags() system.
Workbench Explorer - A better way to browse drawers
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1479
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: System progs preventing WB screenmode change.

Post by tonyw »

Added BZ for filecompare: #9248.
cheers
tony
Post Reply