Re: [orca-list] [Testers wanted before the official release] Slint64-4.2.1 release candidate is accessible.



Hello,

good news, I think.

At startup we mount tmpfs as /dev/shm with this line in /etc/fstab:
tmpfs /dev/shm tmpfs defaults  0 0
So, why not use that?

Having read again the XDG Base Directory Specification:
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
we can use the same dir in /dev/shm for both environment variables:
XDG_CACHE_HOME
XDG_RUNTIME_DIR

So, after a test in ~/.xinitrc.lxde, I wrote following lines in
~/.profile:
export XDG_CACHE_HOME=/dev/shm/$(whoami)
export XDG_RUNTIME_DIR=$XDG_CACHE_HOME
mkdir -p /dev/shm/$(whoami)
chmod 700 $XDG_CACHE_HOME

I will leave in .xinitrc just the environment variable settings:
cut here
# Start the window manager:
if [ -f ~/.config/startorca ]; then
        # Graphical environment A11y Initialization
        export LOGNAME="GDM"
        export SAL_USE_VCLPLUGIN="gtk"
        export GTK_MODULES="gail:atk-bridge" # for GTK2
        export GNOME_ACCESSIBILITY=1
        export QT_ACCESSIBILITY=1 # for QT4
        export QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 # for QT5
fi
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
    ck-launch-session dbus-launch --exit-with-session startlxde
else
    startlxde
fi
cut here

So far, everything works, including the hand shake between speechd-el
and speech-dispatcher.

Additional benefit, the user does not need to clean ~/.cache any more.

I think that this complies to the above mentioned specification.

Caveats:
~/.profile is not read by csh, but probably few people use it, and bash
is the default in Slint. We could write the same thing in ~/.login to
make csh happy. According to its man file, ksh reads ~/.profile.
We ship other shells in Slint but well, their users should know the
differences and we can document that somewhere.

One can be frightened that the cached files do not survive a reboot, but
I think that's a minor inconvenience. For instance a user who wants to
read a log in the cache can do so or copy it elsewhere before rebooting.
And the system logs are still in /var/log.

I look forward for your comments.

Greetings,

Didier



Le 22/10/2017 à 20:26, Didier Spaier a écrit :
Hello,

Peter, you made my day!

Not only does it work, but now KDE apps start instantly.

@Jude: I think that I don't need to investigate further about the lag
when starting these apps, nevertheless thanks for your input.

I think you were right about dbus trying to start twice,
as I have seen warnings like "application may misbehave"
that could be a consequence of that.

That could also explain another oddity: typing "orca -r" in a terminal
didn't work (no output, terminal frozen), now it does. 

I intend to put the .desktop in /etc/xdg/autostart, as that will avoid
to put one more file in /etc/skel, which we would need to be taken care
of in ~ when upgrading, or a manual config by the user.

Now, I will dig the issue with sockets, not only to help speecd-el
cooperate with speech-dispatcher, but also to preferably put them in a
a temp dir in ram. That would avoid my ugly remval of stale dirs
containing sockets.

So, let's play with XDG_RUNTIME_DIR. Stay tuned.

Greetings,

Didier 



Le 22/10/2017 à 17:34, Peter Vágner a écrit :
Hello,

Some more experiments here.

In our xinit config we are roughly doing something like this - see some
added comments to explain my thoughts:
if [ -f ~/.config/startorca ]; then
# init some ENV variables
/usr/bin/speech-dispatcher -d
/usr/bin/orca # Orca will start at-spi if it's not running which will
launch dbus if it's not running.
fi
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then # Here
console kit would also try to run dbus however dbus is already running so I
guess we might end up missing some bus addresses or something
    ck-launch-session dbus-launch --exit-with-session startlxde
else
    startlxde
fi

When orca starts up and there is no instance of at-spi and
speech-dispatcher orca will try to spawn both of them.
In gnome, at-spi is started via
/etc/xdg/autostart/at-spi-dbus-bus.desktop
By looking to the at-spi2-core build configuration I can verify this is a
part of at-spi2-core.
It's specific to gnome and it appears gnome is the only DE it has
accessibility turned on by default.
It reads...
[Desktop Entry]
Type=Application
Name=AT-SPI D-Bus Bus
Exec=/usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately
OnlyShowIn=GNOME;Unity;
NoDisplay=true
AutostartCondition=GSETTINGS org.gnome.desktop.interface
toolkit-accessibility
X-GNOME-AutoRestart=true
X-GNOME-Autostart-Phase=Initialization

When converted to our setup it might look like
[Desktop Entry]
Type=Application
Name=AT-SPI D-Bus Bus
Exec=/usr/libexec/at-spi-bus-launcher --launch-immediately
NoDisplay=true
AutostartCondition=[ -f ~/.config/startorca ]


So based off of that I guess we need to seperate accessibility setup into
two parts:
* Configure all the variables and settings within the xinit configuration
before launching the actual session.
* Where possible configure session autostart features to start orca.

Only we need to decide if we are going to start at-spi as a part of our
session startup or we can keep orca handling its launch as soon as it
starts.
I originally assumed seperate at-spi startup might be usefull if we wish to
have orca access to apps running as root because gnome is the only DE where
I have this seen working consistently so far, however on this install of
slint I can use su to gain root and then launch gparted for example and
orca reads it all fine no mather how at-spi is started.

Here is orca desktop file I have put into my
~/.config/autostart
after I have commented out call to it and call to speech-dispatcher in the
xinit config.

[Desktop Entry]
Type=Application
Version=1.0
Name=orca
Exec=/usr/bin/orca
AutostartCondition=[ -f ~/.config/startorca ]

With session autostart handling orca startup I do also have desktop icons
and they are accessible. Sometimes after closing all the windows focus is
not automagically placed to the desktop so flat review or random mouse
clicks are needed but still it's a good move I feel.

Greetings

Peter


2017-10-22 15:19 GMT+02:00 Didier Spaier <didier slint fr>:

Hello,

I just made some tests and am puzzled.
1) If I have no ~/.config/startorca
- I have no sound in LXDE, of course
- I have desktop icons
- pcmanfm --desktop-pref works
2) If i have a file ~/.config/startorca
- I have sound in LXDE
- I do not have desktop icons
- pcmanfm --desktop-pref pops up an error message:
  "Desktop manager is not active"

I have been unable to understand why so far.

On another topic, I made some more tests of qtatspi and noticed that
when it is installed it seems that LXDE be less responsive, and the
windows of KDE apps need 30 seconds or so to appear. I don't know why,
maybe looking at the output when starting them from a terminal could
give a clue, unfortunately these outputs are very verbose.

Also, some apps are accessible, e.g. lokalize, others less so like kate
or kwrite.

PS: Maybe we could let users know that XFCE is more accessible, and also
Maté (Jude and Peter, could you please check that?).

I will manage to include startoca.snip in xinitrc.mate either by default
or as an automatic post-install task.

Greetings,

Didier


Le 21/10/2017 à 23:08, Peter Vágner a écrit :
Some lxde pannels are accessible with the flat review. However it
appears
the desktop is not configured. Wouldn't it be more awesome if PCManFM
would
be configured to provide the desktop? That way we would get
inaccessible
pannels but very accessible gnome 2 style desktop that would receive
the
focus when all apps are closed.

I would be grateful for guidance on how to do that. I am a complete
beginner in the field of accessibility, with zero experience as I see.

When pcmanfm is started with a --desktop switch it should provide the
desktop icons.
On an installed system I can see it's specified inside the file
~/.config/lxsession/LXDE/autostart
but it is not running when lxde is showing, so it needs further
investigation.


Now when starting orca after the X session launch it just says Screen
reader on with nothing else. The only way on how to start working with
the
system in this point is pressing alt+F1.

Well, you can also press all+F2 to get a Run dialog, and also have a
terminal focused when going graphical. To get that just type as regular
user, for instance:
cp /usr/share/applications/lxterminal.desktop ~/.config/autostart

Well I have tried to place modified pcmanfm.desktop into
~/.config/autostart and it has not been started for me. Perhaps these two
things might contribute to each other. I will be looking again into this
tomorrow. I just wanted you to know my progress.

Greetings

Peter



_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html
Log bugs and feature requests at http://bugzilla.gnome.org



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]