-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
atspi: Accessible::get_state
won't work
#24
Comments
We do have a bitflags dependency in another one of our related crates in the Odilia workspace already (common), so the bitflags dep isn't that big of a deal. I can't seem to figure out what What a strange method of sending the bitflag data! Why not just have a We are interested in having the ability for atspi to be used as both a client and a server, yes. And we will work to make sure this crate can do that. |
I used
You can't use |
Thinking more about this: you could have the I can open a PR for this if this sounds reasonable to you. |
To my knowledge, this is how we handle events in the odilia crate, we have an event type and body, kinda like you described. So sure, feel free to open a pull request, it will certainly be useful when we add the ability to read status of focused objects, as well as when atspi is being used as a server side library. Btw, what else should be done so that our atspi implementation can be used on the server side as well? As we said in other occasions, we care about making a linux screenreader and that's our top priority. However, even if such a thing doesn't happen for some reason, at least we produced reusable components, so that our code can probably power other applications and do some good somewhere else. |
I agree with @albertotirla , this would be a welcome PR! |
The current implementation of
Accessible::get_state
can't work because the return type is more complex than the signature implies.AT-SPI state set is an 8 bytes bitflag that is splitted in half and passed as a two-element 32-bit integers array through D-Bus.
I have a working implementation of this data structure on my AccessKit AT-SPI adapter branch. I would happily add it here but it currently requires two dependencies new to this project:
Of course,
strum
isn't really needed if you only care about the client side of AT-SPI, and even on the server-side you could still write the strings manually, but this is inconvenient. So that's why I don't directly open a PR here.What do you guys think? Is it OK to bring these two dependencies? Would you prefer having a
strum
feature flag? Are you even interested in having theatspi
crate useful for building AT-SPI providers?The text was updated successfully, but these errors were encountered: