Report virtual desktop switches in Windows 10#8259
Conversation
josephsl
left a comment
There was a problem hiding this comment.
Hi,
This breaks if a virtual desktop contains File Explorer windows and this is seen as the focused item.
STR:
- Create multiple desktops.
- On One of them, open File Explorer.
Expected: desktop position is announced before File Explorer focus announcement is made.
Actual: Desktop announcement is cut off by focus announcement on File Explorer windows.
This was tested on Version 1803 (RS4/build 17134).
Thanks.
|
When you say the desktop name is cut off, do you mean you don't hear it
at all?
What exactly are you focused on when you do this. Is it a file list
item? I am finding this hard to reproduce.
I'm seeing a slightly different bug now though where NVDA is sometimes
getting the name "Desktop" when switching desktops, rather than say
"Desktop 1". But it only seems to happen sometimes when the system is a
bit slow, or when tabbed sets are getting a bit confused in Thunderbird
for example.
|
|
Hi, Cutting off: I briefly hear the first syllables of the desktop name before it is cut off by the focus announcement for File Explorer's folders list. Thanks. |
|
Actually, Narrator is having the same bug with just saying "Desktop"
sometimes in build 17666.
In both NVDA and Narrator when this occurs, there is also a bit of a
pause before hand.
I think something is broken in that build with the desktop UIAElement's
name property.
|
|
Are you running any other add-ons when testing this?
For me if I am positioned on a file called words.txt in my user
directory, and from a separate virtual desktop I switch back to this
virtual desktop I hear:
desktop 1
Michael Curran
Items view list
words.txt 60 of 60
I.e. the cancel speech occured before "Desktop 1"
|
|
Hi, no add-ons were running. Also, this was noticeable when File Explorer was open on desktop 1, and I can confirm the delay. Thanks.
From: Michael Curran <notifications@github.com>
Sent: Thursday, May 10, 2018 7:31 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Review requested <review_requested@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
Are you running any other add-ons when testing this?
For me if I am positioned on a file called words.txt in my user
directory, and from a separate virtual desktop I switch back to this
virtual desktop I hear:
desktop 1
Michael Curran
Items view list
words.txt 60 of 60
I.e. the cancel speech occured before "Desktop 1"
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub <#8259 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AHgLkBJaKM6OFSCPS8-9u-QvaaEYDrM-ks5txPfQgaJpZM4T6vwF> .
|
|
If this is the same implementation as win10AppEssentials add-on, the trouble may arise from the announcement being made after everything else is spoken. For example, if I’m focused on an inbox item, the entire list item is read along with the app and other info before “desktop x” is announced. I can also confirm that the desktop number announcement is also being cut off with Narrator. I’ll file that bug.
|
|
Hi, @michaelDCurran modified my implementation so desktop ID can be announced before any focus event that may arise due to desktop switches. Thanks.
From: PratikP1 <notifications@github.com>
Sent: Monday, May 14, 2018 10:15 AM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Review requested <review_requested@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
If this is the same implementation as win10AppEssentials add-on, the trouble may arise from the announcement being made after everything else is spoken. For example, if I’m focused on an inbox item, the entire list item is read along with the app and other info before “desktop x” is announced. I can also confirm that the desktop number announcement is also being cut off with Narrator. I’ll file that bug.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub <#8259 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AHgLkHIfxcZTQqcDYqNSzOIhYy4lyPU2ks5tybuXgaJpZM4T6vwF> .
|
|
Sorry for not noticing the pull request description. |
|
@PratikP1 If you could share the narrator bug you file, either publically or with me privately that would be much appreciated. I'd like to follow up with Microsoft internally. It looks like the call to actually get the desktop name, whether that be via MSAA or UIA hangs for 200 ms and then just returns "Desktop", if called as soon as the foreground change occurs. Thus, then NVDA and Narrator both just announce "Desktop" rather than say "Desktop 1". |
|
@michaelDCurran Here is the feedback link: https://aka.ms/AA1ajhj |
|
This seems to be working well for me now in 17692. @josephsl can you confirm this as well? |
|
If so I think we should limit this code to 17692 and above as it is broken in lower builds (including the last stable Windows 10 update). |
|
Hi, there appears to be a problem though: when I create multiple desktops and switch between them, NVDA announces “Desktop”, followed by the focused element, and then announces the title of the just switched desktop object. Thanks.
From: Michael Curran <notifications@github.com>
Sent: Tuesday, June 19, 2018 3:17 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
This seems to be working well for me now in 17692. @josephsl <https://github.com/josephsl> can you confirm this as well?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#8259 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AHgLkEu_xwDzCAj5SddjTaIyioOyQXrtks5t-XhogaJpZM4T6vwF> .
|
|
Hi, as a follow-up, it is more consistent (at least with brief testing). I’m trying to figure out a scenario that can cause our implementation to fail noticeably. Thanks.
From: Michael Curran <notifications@github.com>
Sent: Tuesday, June 19, 2018 3:17 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
This seems to be working well for me now in 17692. @josephsl <https://github.com/josephsl> can you confirm this as well?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#8259 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AHgLkEu_xwDzCAj5SddjTaIyioOyQXrtks5t-XhogaJpZM4T6vwF> .
|
|
Hi, Testing with Korean as well: looks like we might be able to do a workaround: if the name of the object is "Desktop" (for which we have translations for), then we could safely assume that we need to delay announcing new desktop title (I'm sure there are better solutiosn out there). As this also affects servers, I think it might be best to mention Windows Server 2019 Desktop Experience in the what's new document. Thanks. |
|
In that case, if it is still broken in 17692, then we will wait further until it is addressed properly by Microsoft. |
|
Hi, Looks like it is working as designed (so far) in build 17713. Thanks. |
|
I'm still seeing the issue on 17713. Especially if I have a wsl console
on desktop 1. It just says desktop, after a 1 to 2 second delay.
|
|
I’m still seeing problems with this as well. I don’t think it’s quite resolved yet.
|
|
Hi, Looks like we need to:
Thanks. |
The desktop is checked on focus changes, and also the desktop's own name changes in case the focus does not move (such as when on the task bar).
|
Hi, Never mind about desktop switch not announced in build 17744 - I was running from source. Thanks. |
|
Hi, Update: looks like it is better in build 17744 - with WSL open on a virtual desktop, NVDA does announce which desktop one is switching to. @PratikP1, is this the case for you in build 17744 (slow)/17746 (fast)/18219 (skip ahead)? Does more recent builds remedy issues you've reported? Thanks. |
|
Unfortunately, the issues I reported remain the same in 17746.100. To summarize: With 4 virtual desktops running, desktop 1 is the most problematic. On occasion, "desktop 1" is announced. More often than not, however, only "desktop" is announced when navigating to the first desktop. All other desktops are announced. I still believe that the desktop announcement should take precedents over focused window. It should be number of desktop > focused window rather than focused window > number of desktop. |
|
This is working very well for me in Windows build 8334.0. It is always accurate, and I don't even see the strange delay I used to get. Can you confirm @josephsl that this also works for you in this build or later? We'll have to limit to this build as a minimum though before merging if we do. |
|
Hi, I’ll test the latest commits with 18329, 18334, 18342, and 18836 and report back by tonight at the earliest. Thanks.
From: Michael Curran <notifications@github.com>
Sent: Wednesday, February 20, 2019 3:00 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
This is working very well for me in Windows build 8334.0. It is always accurate, and I don't even see the strange delay I used to get. Can you confirm @josephsl <https://github.com/josephsl> that this also works for you in this build or later? We'll have to limit to this build as a minimum though before merging if we do.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#8259 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AHgLkAIc85wdiGBt1cd4P08_CqBTsgVfks5vPdNzgaJpZM4T6vwF> .
|
|
Hi,. Results:
So far, the code matches Mick's predictions and observations. Thanks. |
|
|
Hi, which one – first or the second? If the second, the current approach was done in order to avoid repetitions. Thanks.
From: eric <notifications@github.com>
Sent: Friday, May 17, 2019 7:05 AM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
Hi,
Two things:
1. April 2019 Update -> May 2019 Update.
2. NVDA might not report "Desktop 1" under the following scenario: user opens many desktops, then moves to a previous desktop, closes virtual desktops, focus moves to first virtual desktop. From there, whenever desktops are closed, NVDA won't report "Desktop 1". Personally, I'm okay with this approach, but I imagine someone might ask us in the future to revisit the approach proposed - comparing new versus last stored desktop title.
As for the first one, would you like to do it or let me take care of it once 2019.2 beta ships?
Thanks.
hi josephsl
My suggestion is to solve this problem once and for all.
thank
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#8259?email_source=notifications&email_token=AB4AXEEL35H5VG5HQQ32MQ3PV23RHA5CNFSM4E7K7QC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVU3CFI#issuecomment-493465877> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AB4AXEHTNGL5JOQAJOHEMHTPV23RHANCNFSM4E7K7QCQ> .
|
hi josephsl |
|
Hi, yep, thanks for clarifying.
From: eric <notifications@github.com>
Sent: Sunday, May 19, 2019 4:15 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
Hi, which one – first or the second? If the second, the current approach was done in order to avoid repetitions. Thanks. From: eric notifications@github.com <mailto:notifications@github.com> Sent: Friday, May 17, 2019 7:05 AM To: nvaccess/nvda nvda@noreply.github.com <mailto:nvda@noreply.github.com> Cc: Joseph Lee joseph.lee22590@gmail.com <mailto:joseph.lee22590@gmail.com> ; Mention mention@noreply.github.com <mailto:mention@noreply.github.com> Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259 <#8259> ) Hi, Two things: 1. April 2019 Update -> May 2019 Update. 2. NVDA might not report "Desktop 1" under the following scenario: user opens many desktops, then moves to a previous desktop, closes virtual desktops, focus moves to first virtual desktop. From there, whenever desktops are closed, NVDA won't report "Desktop 1". Personally, I'm okay with this approach, but I imagine someone might ask us in the future to revisit the approach proposed - comparing new versus last stored desktop title. As for the first one, would you like to do it or let me take care of it once 2019.2 beta ships? Thanks. hi josephsl My suggestion is to solve this problem once and for all. thank — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#8259 <#8259> ?email_source=notifications&email_token=AB4AXEEL35H5VG5HQQ32MQ3PV23RHA5CNFSM4E7K7QC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVU3CFI#issuecomment-493465877> , or mute the thread https://github.com/notifications/unsubscribe-auth/AB4AXEHTNGL5JOQAJOHEMHTPV23RHANCNFSM4E7K7QCQ .
hi josephsl
Is the first
thank
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#8259?email_source=notifications&email_token=AB4AXEELXUSB2TM44Y4XFQDPWHNPBA5CNFSM4E7K7QC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVXMXMQ#issuecomment-493800370> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AB4AXEDM3N5KOYQ5JOTVXYDPWHNPBANCNFSM4E7K7QCQ> .
|
josephsl
left a comment
There was a problem hiding this comment.
Hi,
Resolved the conflict, and comment has been updated.
Thanks.
|
thank josephsl |
|
Hi, you should thank @michaelDCurran instead for his hard work on bringing this to life. Thanks.
From: eric <notifications@github.com>
Sent: Monday, May 20, 2019 11:33 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
thank josephsl
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#8259?email_source=notifications&email_token=AB4AXEEN6HFQBEZ4SUT3SGLPWOJQ3A5CNFSM4E7K7QC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV24RXA#issuecomment-494258396> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AB4AXEETMJ7G2DJ6M6HHVRTPWOJQ3ANCNFSM4E7K7QCQ> .
|
|
hello. this change broke nvda in some situations. |
|
I've now seen multiple people state that this pr causes freezes in the NVDA menu. I can't reproduce this myself, but most likely we'll have to revert this pr. |
|
This reverts commit 0d29265.
|
Here is a try build of master with this pr reverted: https://ci.appveyor.com/api/buildjobs/7n0cgffqatnr3qch/artifacts/output%2Fnvda_snapshot_try-revert_i5641-17363%2C6490bbf3.exe |
|
hi.
i am not 100% sure but, maybe issue is when running 1809 update.
now on 18898 i don't have this issue.
i will try on another computer where i have an issue in few hours when
addons disabled and try build.
although i don't think trybuild will tell something. i've downloaded a
version just before merging this pr and everything was ok.
so, potentially, issue could be on 1809 update or with some addon running.
i will test that and will write back.
…On 5/28/19, Michael Curran ***@***.***> wrote:
Here is a try build of master with this pr reverted:
https://ci.appveyor.com/api/buildjobs/7n0cgffqatnr3qch/artifacts/output%2Fnvda_snapshot_try-revert_i5641-17363%2C6490bbf3.exe
@beqabeqa473 Does this issue go away when running this try build?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#8259 (comment)
--
with best regards beqa
|
|
hello.
here are my observations.
running latest master with change from this pr and with all addons
disabled, i can still reproduce freezes in nvda gui.
installing trybuild eliminates these freezes.
it is on windows 10 1809 october 2018 update.
i don't have may 2019 update, but on latest insider build, i cannot
reproduce these freezes with latest master.
if anyone could test latest master with may 2019 update will be good.
at this time, on october 2018 update i can reproduce these freezes.
…On 5/28/19, Beqa Gozalishvili ***@***.***> wrote:
hi.
i am not 100% sure but, maybe issue is when running 1809 update.
now on 18898 i don't have this issue.
i will try on another computer where i have an issue in few hours when
addons disabled and try build.
although i don't think trybuild will tell something. i've downloaded a
version just before merging this pr and everything was ok.
so, potentially, issue could be on 1809 update or with some addon running.
i will test that and will write back.
On 5/28/19, Michael Curran ***@***.***> wrote:
> Here is a try build of master with this pr reverted:
> https://ci.appveyor.com/api/buildjobs/7n0cgffqatnr3qch/artifacts/output%2Fnvda_snapshot_try-revert_i5641-17363%2C6490bbf3.exe
> @beqabeqa473 Does this issue go away when running this try build?
>
> --
> You are receiving this because you were mentioned.
> Reply to this email directly or view it on GitHub:
> #8259 (comment)
--
with best regards beqa
--
with best regards beqa
|
|
I'm running version 1903 and experience these freezes once in a while,
though not very prevalent. Having said that, I'd like to vote for a
revert of this pr in order to give us time to find out what's the
culprit here.
|
|
here on 1809 it is in 99 times of 100.
…On 5/28/19, Leonard de Ruijter ***@***.***> wrote:
I'm running version 1903 and experience these freezes once in a while,
though not very prevalent. Having said that, I'd like to vote for a
revert of this pr in order to give us time to find out what's the
culprit here.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#8259 (comment)
--
with best regards beqa
|
|
Hi, Mick, after reverting this, can we try introducing isolated try builds i.e. a try build for each file that has changed and can be isolated? I’m thinking one of the commit streams from the PR branch might be responsible for this. Thanks.
From: Leonard de Ruijter <notifications@github.com>
Sent: Tuesday, May 28, 2019 1:20 AM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: Joseph Lee <joseph.lee22590@gmail.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Report virtual desktop switches in Windows 10 (#8259)
I'm running version 1903 and experience these freezes once in a while,
though not very prevalent. Having said that, I'd like to vote for a
revert of this pr in order to give us time to find out what's the
culprit here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#8259?email_source=notifications&email_token=AB4AXEEAQIN4JN2X7ZXZD5LPXTTMFA5CNFSM4E7K7QC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWLLATI#issuecomment-496414797> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AB4AXEAX62X4WU5SMMXSEG3PXTTMFANCNFSM4E7K7QCQ> .
|
nvaccess#9629) This reverts commit 0d29265.
Desktop switches can only be reported on Windows 10 May 2019 and above. Previous Windows 10 builds could experience delays and incorrect desktop names. Implementation details: 1. Added a Desktop IAccessible NVDAObject which is now used instead of the Desktop Window NVDAObject. This is used for api.getDesktopObject(). It is also used to retrieve the name and to catch nameChange events (see below). Querying of the name via IAccessible is disabled altogether before Windows 10 may 2019, in which case it is hard-coded like it was before this PR. 2. Added eventHandler.handlePossibleDesktopNameChange function. This function checks to see if the Desktop's name has changed since the last time it was called. If so, then it reports the new desktop name. It fetches the desktop name using the Desktop IAccessible object. 3. eventHandler.doPreGainFocus now calls handlePossibleDesktopNameChange, but only after any possible foreground event, so as to ensure that speech is not interrupted. In short this means that the desktop name will be announced before the new focus and its ancestry, but after speech is canceled due to a foreground change. 4. handlePossibleDesktopNameChange is also called for nameChange events on the Desktop IAccessible object. However, NVDA delays the execution of handlePossibleDesktopNameChange in this case by 250 ms, to ensure that it executes after any other possible focus changes. Of course if a focus change did detect the desktop name change, then the delayed call from the name change event will simply do nothing. The reason for the call in the name change event is to handle the situations where the desktop changes but there is no focus event, such as when focused on the taskbar. Co-authored-by: Michael Curran <mick@nvaccess.org>
Link to issue number:
Fixes #5641
Summary of the issue:
In Windows 10, it is possible to have different virual desktops, so as to switch between large groups of applications.
To switch between desktops, press control+windows+left/rightArrow.
NVDA however does not report when the desktop changes.
Description of how this pull request fixes the issue:
Partly taken from @josephsl's Windows 10 App Essentials, but improved to better handle the ordering of announcements.
Specifically:
Testing performed:
Ran NVDA on Windows 10. Switched between multiple virtual desktops. Confirmed that the new desktop name was reported. This test was done both with focus in an application, and on the taskbar.
Known issues with pull request:
None.
Change log entry:
New features: