josephsl / wintenApps

Windows App Essentials NVDA add-on
GNU General Public License v2.0
24 stars 9 forks source link

Virtual desktop switch announcement: handle it inside a new app module for CSRSS (client/server runtime subsystem) #77

Closed josephsl closed 1 year ago

josephsl commented 2 years ago

Hi,

After extensive testing, an alternative approach for fixing nvaccess/nvda#5641:

It turns out virtual desktop switch announcements come from name change event fired by CSRSS (client/server runtime subsystem/Windows subsystem process) which houses the desktop window as seen by NVDA. Therefore, instead of handling it from global plugin portion, use a new app module for CSRSS to handle name change event. This necessarily conflicts with the mentioned NVDA Core issue (for which a pull request exists but is stalled), namely name change event being handled by a process that is potentially protected (process handle is 0/NULL). Or, it might be possible that CSRSS way may help virtual desktop switch announcement resolution in that CSRSS raises this event before others can get a chance to raise gain focus event when virtual desktops are switched. In either case, at least try CSRSS app module method from the ad-on and see if it resolves virtual desktop announcement issue somewhat.

Thanks.

josephsl commented 1 year ago

Hi,

Now part of add-on 22.12.