Page 1 of 1

Taskbar/notifications issue

Posted: Sun Nov 18, 2018 2:59 am
by jmk_phd
My cross-platform Mac/Win app displays a series of geometric figures (white on a black background). To each item the test subject must respond by pressing a number key 1 through 4. (All other keys are ignored.) In order to emulate the original 1940s version of the test and avoid distraction, in the preOpenCard handler I employ hide menubar (Mac), hide taskbar (Win), set backdrop to "black", set the cursor to "none", and lock cursor, in that order.

Seems to work fine on my macOS 10.6.8 desktop and borrowed Windows Vista laptop. However, a colleague stress-testing my app in Windows 10 reports that occasionally and unpredictably either the taskbar or a notification appears, which prevents any keyboard input until it is dismissed and/or the user clicks on the application window (which may or may not even be possible, inasmuch as the cursor is locked to "none").

This is a problem because (sadly) clinicians often leave a test client unattended at the computer once the test is started. Consequently, the test client may be at a loss to know what to do if/when the taskbar or a notification appears and keyboard input is not recognized.

I fear that nothing can be done from within LiveCode to suppress this from happening. One possibility is that the problem occurs only when the computer is connected to the internet -- in which case the clinician simply must be instructed to disable internet access when running the test. Less attractive is that I must inform users to change their OS preference settings, which they may find confusing or unacceptable.

Moreover, it's possible that this may even be an issue with recent versions of macOS as well (inasmuch as these include a new Notifications preference panel).

Any suggestions or insights are much appreciated.

jeff k

Re: Taskbar/notifications issue

Posted: Sun Nov 18, 2018 10:26 am
by SparkOut
One thing that may help is that you can

Code: Select all

set the fullscreen of this stack to true

Code: Select all

set the systemWindow of this stack to true
but you will also need to code a way to set the properties back to false from within the app, otherwise the user will be stuck and unable to switch to any other programs, or exit. I don't know what effect notifications will have with the systemWindow true, but it should stay above all other windows.

Re: Taskbar/notifications issue

Posted: Mon Nov 19, 2018 5:46 am
by jmk_phd
Thanks, SparkOut.

I'd considered using systemWindow for my cross-platform app, but the LC dictionary entry states that this has no effect in macOS. (Curiously, a respondent to the corresponding entry on the LC Wiki claimed that this was not so, at least for an older version of macOS.)

Before I complicate my code, I need to know whether the problematic pop-up notifications -- whether in Windows or possibly also in recent versions of macOS -- occur only when the computer is connected to the internet. If so, it should be easy for my users simply to disconnect temporarily from the internet while administering the test, rather than mess with all sorts of taskbar and notifications system settings.

Apart from these unanticipated pop-up notifications that thwart keypress input, the app seems to work just fine as is.

jeff k

Re: Taskbar/notifications issue

Posted: Tue Nov 20, 2018 2:27 am
by jmk_phd
Update: The colleague who volunteered to stress-test the Windows version of my app reports that in fact the unwanted taskbar pop-up occurs even when not connected to the internet.

I've since learned that unwanted taskbar pop-ups have been vexing Windows users since the introduction of Windows 10.

As far as I can tell, there's still no consensus as to whether this problem is related to the debut of Cortana, to quirks involving the trackpads on some brands of PC, and/or even to a deliberate (if covert) decision by Microsoft to push taskbar notifications/ads even when the taskbar has been hidden or when the front-most application is in Windows full-screen mode.

My conclusion is that the LC "hide taskbar" command is unreliable in Windows 10, despite working fine in previous Windows versions. Given Microsoft's aggressive promotion of taskbar-related features that break other full-screen apps, I'm reluctant to recode my app to employ the full-screen-related routines.

(Just FYI, I'm still using LC Indy 8.1.10 because it is unclear whether 9.xx will run in macOS 10.6.8.)