Topics

Becky 0.1-dev #addontesting


Lukasz Golonka
 

Hi all,

For some time now I've been developing an add-on for Becky! Internet Mail, however as this mailer isn't really popular it was more of a personal project than anything else. While there are still areas which should be improved I've decided to put it on GitHub in its current form since it might be useful for other people besides me. The repository is here: https://github.com/lukaszgo1/Becky/
The latest release can be downloaded from
https://github.com/lukaszgo1/Becky/releases/download/V0.1-dev/Becky-0.1-dev.nvda-addon

Feedback is welcome.


--
Regards
Lukasz


Oleksandr Gryshchenko
 

Hi Lukasz,

As I wrote earlier - I am delighted with this tiny email client.
Especially since after a few tweaks - most accessibility issues have been resolved.
I have been actively using your appModule since you shared its first prototype.

However, I had to change a bit the function getUnreadTotalCount() because for some reason it doesn't find the Becky status bar in your version of the module.
I use Becky! Internet Mail version 2.75.03 and Windows 10 High Contrast Mode.
After pressing NVDA+Shift+U,
I hear: "Status bar is not visible. Perhaps it is disabled in the view menu?"
But in the View menu, the item "Status Bar" is checked.
My research has shown that in the Becky window, the api.getStatusBar() method in my case for some reason always returns None.
Maybe it's just my problem, but I've written another method that returns the information I need from Becky status bar.
Of course, the source code of this method can be better optimized, but so far it works for me in this form, I quote it below.

I hope that among NVDA users there are more Becky fans who will also share their own experience of using your add-on.

Thank you very much again for the necessary project!
Greetings!
Oleksandr

def getUnreadTotalCount():
"""Returns unread vs total count of a messages in a current folder."""
unreadInfo = ''
template = "^.*{unread}:\s+(\d+)\s+/\s+{total}:\s+(\d+)".format(unread="Unread", total="Total")
for child in api.getForegroundObject().children:
status = api.getStatusBarText(child)
if status is not None and re.match(template, status):
unreadInfo = re.match(template, status).groups()
break
else:
return "NoStatusBar"
return (int(unreadInfo[0]), int(unreadInfo[1])) if isinstance(unreadInfo, tuple) and len(unreadInfo)>1 else "noUnreadCount"


Lukasz Golonka
 

On Thu, 18 Mar 2021 12:29:48 -0700
"Oleksandr Gryshchenko" <kita.zup+groups@gmail.com> wrote:

Hi Lukasz,

As I wrote earlier - I am delighted with this tiny email client.
Especially since after a few tweaks - most accessibility issues have been resolved.
I have been actively using your appModule since you shared its first prototype.

However, I had to change a bit the function getUnreadTotalCount() because for some reason it doesn't find the Becky status bar in your version of the module.
I use Becky! Internet Mail version 2.75.03 and Windows 10 High Contrast Mode.
Could you temporarily try to deactivate high contrast and retry. I'd
like to get to the bottom of this if possible.


Oleksandr Gryshchenko
 

Hi Lukasz,

I found the reason.
I just tested the next versions of Becky 2.65.06, 2.73.00, 2.75.01 and 2.75.03
in high contrast mode and without it.
But NVDA+Shift+U still didn't find the information in the status bar.

And the solution to the problem turned out to be very banal.
The problem does not occur when the Becky window is not maximized to full screen.

Instead, in maximized mode for some reason:
api.getStatusBar() is always None

Hope this helps.
Good luck!
Oleksandr


Brian's Mail list account
 

He he, sounds like they have a bug. I guess in the add on you could have the logic of, if window maximised assume toolbar is present but then if its not there it needs to fail gracefully.
Brian

bglists@blueyonder.co.uk
Sent via blueyonder.
Please address personal E-mail to:-
briang1@blueyonder.co.uk, putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "Oleksandr Gryshchenko" <kita.zup+groups@gmail.com>
To: <nvda-addons@nvda-addons.groups.io>
Sent: Thursday, March 18, 2021 9:13 PM
Subject: Re: [nvda-addons] Becky 0.1-dev #AddonTesting


Hi Lukasz,

I found the reason.
I just tested the next versions of Becky 2.65.06, 2.73.00, 2.75.01 and 2.75.03
in high contrast mode and without it.
But NVDA+Shift+U still didn't find the information in the status bar.

And the solution to the problem turned out to be very banal.
The problem does not occur when the Becky window is not maximized to full screen.

Instead, in maximized mode for some reason:
api.getStatusBar() is always None

Hope this helps.
Good luck!
Oleksandr


Lukasz Golonka
 

Trouble is, I cannot reproduce the problem even when Becky's window is
not maximized, so there is probably something more here.

On Sat, 20 Mar 2021 09:58:06 -0000
"Brian's Mail list account via groups.io" <bglists=blueyonder.co.uk@groups.io> wrote:

He he, sounds like they have a bug. I guess in the add on you could have the logic of, if window maximised assume toolbar is present but then if its not there it needs to fail gracefully.
Brian

bglists@blueyonder.co.uk
Sent via blueyonder.
Please address personal E-mail to:-
briang1@blueyonder.co.uk, putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message ----- From: "Oleksandr Gryshchenko" <kita.zup+groups@gmail.com>
To: <nvda-addons@nvda-addons.groups.io>
Sent: Thursday, March 18, 2021 9:13 PM
Subject: Re: [nvda-addons] Becky 0.1-dev #AddonTesting


Hi Lukasz,

I found the reason.
I just tested the next versions of Becky 2.65.06, 2.73.00, 2.75.01 and 2.75.03
in high contrast mode and without it.
But NVDA+Shift+U still didn't find the information in the status bar.

And the solution to the problem turned out to be very banal.
The problem does not occur when the Becky window is not maximized to full screen.

Instead, in maximized mode for some reason:
api.getStatusBar() is always None

Hope this helps.
Good luck!
Oleksandr










--
Regards
Lukasz


Brian's Mail list account
 

Colour or contrast changes perhaps, font settings?
Brian

bglists@blueyonder.co.uk
Sent via blueyonder.
Please address personal E-mail to:-
briang1@blueyonder.co.uk, putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "Lukasz Golonka via groups.io" <lukasz.golonka=mailbox.org@groups.io>
To: <nvda-addons@nvda-addons.groups.io>
Sent: Saturday, March 20, 2021 11:55 AM
Subject: Re: [nvda-addons] Becky 0.1-dev #AddonTesting


Trouble is, I cannot reproduce the problem even when Becky's window is
not maximized, so there is probably something more here.

On Sat, 20 Mar 2021 09:58:06 -0000
"Brian's Mail list account via groups.io" <bglists=blueyonder.co.uk@groups.io> wrote:

He he, sounds like they have a bug. I guess in the add on you could have the logic of, if window maximised assume toolbar is present but then if its not there it needs to fail gracefully.
Brian

bglists@blueyonder.co.uk
Sent via blueyonder.
Please address personal E-mail to:-
briang1@blueyonder.co.uk, putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message ----- From: "Oleksandr Gryshchenko" <kita.zup+groups@gmail.com>
To: <nvda-addons@nvda-addons.groups.io>
Sent: Thursday, March 18, 2021 9:13 PM
Subject: Re: [nvda-addons] Becky 0.1-dev #AddonTesting


Hi Lukasz,

I found the reason.
I just tested the next versions of Becky 2.65.06, 2.73.00, 2.75.01 and 2.75.03
in high contrast mode and without it.
But NVDA+Shift+U still didn't find the information in the status bar.

And the solution to the problem turned out to be very banal.
The problem does not occur when the Becky window is not maximized to full screen.

Instead, in maximized mode for some reason:
api.getStatusBar() is always None

Hope this helps.
Good luck!
Oleksandr










--
Regards
Lukasz


Oleksandr Gryshchenko
 

Hi colleagues,

Lukasz, today I installed Becky on another computer with Windows 10 and NVDA 2020.4 with your add-on.
And the status bar read perfectly in both the standard and the maximized Becky window.

My research has shown that the status bar in a maximized Becky window becomes unavailable when enabled Windows option "Automatically hide taskbar in desktop mode".
Your add-on works well, but it is very strange that this Windows option affects the availability of the status bar of the mail program.

Also, when the Windows taskbar auto-hide is turned on and the Becky window is maximized, - api.getStatusBar() method returns None, but the NVDA+End command works correctly.
I looked at how NVDA+End is implemented in NVDA source code.
It turns out that checking the status bar is performed in different ways in different situations.
When the api.getStatusBar() method returns None - several additional checks are performed.

In NVDA source code, this method can be found here:
globalCommands.GlobalCommands.script_reportStatusLine()

Please could you try to reproduce this error on your own computer again.
If it is fails again - I'll try to find other possible reasons.
I'm sorry to take up your time, but I would also like to find out the reasons and correct this strange behavior.

Good luck!
Oleksandr


Reef Turner
 

When the auto-hide task bar setting is on, the task bar is drawn over the top of the current app when the mouse goes near to the screen edge. It might be that the mouse is in a position that keeps the task bar overlaid on the status bar. Which may interfere with the way that the status bar is identified.

Reef Turner
Software Developer - NV Access


On Mon, 22 Mar 2021 at 00:47, Oleksandr Gryshchenko <kita.zup+groups@...> wrote:
Hi colleagues,

Lukasz, today I installed Becky on another computer with Windows 10 and NVDA 2020.4 with your add-on.
And the status bar read perfectly in both the standard and the maximized Becky window.

My research has shown that the status bar in a maximized Becky window becomes unavailable when enabled Windows option "Automatically hide taskbar in desktop mode".
Your add-on works well, but it is very strange that this Windows option affects the availability of the status bar of the mail program.

Also, when the Windows taskbar auto-hide is turned on and the Becky window is maximized, - api.getStatusBar() method returns None, but the NVDA+End command works correctly.
I looked at how NVDA+End is implemented in NVDA source code.
It turns out that checking the status bar is performed in different ways in different situations.
When the api.getStatusBar() method returns None - several additional checks are performed.

In NVDA source code, this method can be found here:
globalCommands.GlobalCommands.script_reportStatusLine()

Please could you try to reproduce this error on your own computer again.
If it is fails again - I'll try to find other possible reasons.
I'm sorry to take up your time, but I would also like to find out the reasons and correct this strange behavior.

Good luck!
Oleksandr






Paulina Gajoch
 

Hello Lukasz,
I enjoy your project very much. Recently I thought on changing the email client again, but now it isn't needed. I have only two questions, will be difficult for you to implement reporting closed threads and attachments?
With best regards,
Paulina


Lukasz Golonka
 

Hello,

On Fri, 26 Mar 2021 00:43:26 +0100
"Paulina Gajoch" <paulinagajoch@gmail.com> wrote:

Hello Lukasz,
I enjoy your project very much. Recently I thought on changing the email client again, but now it isn't needed.
It's nice to hear this :-)


I have only two questions, will be difficult for you to implement
reporting closed threads and attachments?

Reporting of attachments is doable in the sense that given right amount
of time I can implement this. However this requires changes to NVDA's
GDI hooks i.e. to the C++ code of NVDA which is responsible for fetching
screen content so don't expect anything fast. As to threads I have no
idea - I'm not using this functionality myself. I'll certainly take a
look but can't say anything concrete at this point.

--
Regards
Lukasz