summaryrefslogtreecommitdiff
path: root/atspi/atspi-device-x11.c
Commit message (Collapse)AuthorAgeFilesLines
* Hold a reference to the AtspiDevice while processing eventsHEADmainMike Gorse2023-05-171-0/+3
| | | | | If this is not done, then the device might be finalized from under us during a callback, leading to a crash.
* Fix memory leakMike Gorse2023-01-061-0/+1
|
* x11: Register key grabs using the currently-focused windowMike Gorse2023-01-061-22/+57
| | | | | | | | | | | | | | | Previously, the root window was being passed to XIGrabKeycode. This had the annoying side effect of briefly taking focus from the window when one of our key grabs was used, leading to a window:deactive event that would confuse orca. The challenge with the new approach is that we need to reset any active grabs when the focus changes. Now the X event watcher will listen for FocusIn events and refresh the key grabs when it sees one. As a backup, we also listen for window:activate and window:deactivate events and also refresh the key grabs when we see one. Fixes #101
* Reformat all the *.[ch] files with clang-formatFederico Mena Quintero2022-12-061-197/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I ran this on each directory with C files: clang-format -i *.[ch] "-i" is the in-place option. I also adjusted the order of #includes for some files which failed to build after that: Clang-format reorders blocks of #include directives alphabetically, but they can be grouped and separated by blank lines. If there is a blank line between blocks, like #include "zork.h" #include "bar.h" #include "foo.h" then it will not put zork.h after the other two. The last two header files will be sorted alphabetically. We can adjust the formatting of chunks of code by hand with comments like these: /* clang-format off */ this code { is, formatted, by, hand; } /* clang-format on */ See https://clang.llvm.org/docs/ClangFormat.html for the general manual and https://clang.llvm.org/docs/ClangFormatStyleOptions.html for the style options and the comments described above.
* Reorder g_free around g_slist_removeFederico Mena Quintero2021-12-141-1/+1
|
* AtspiDevice key grab fixesMike Gorse2021-05-121-4/+53
|
* Device fixesMike Gorse2021-01-271-26/+103
|
* Add device APIMike Gorse2021-01-111-0/+635
This is intended to replace the registry-based method for capturing keystrokes. It is needed because gtk 4 no longer sends key notifications in a way that atk-bridge can process them. Unlike the original API, key grabs are separated from key notifications. Clients wishing to consume keystrokes must proactively register a grab for the given key. Currently, there is a backend for X11 and an unfinished legacy back end using the old registry-based method. Hopefully, there will be a mutter/wayland back end in the future, but we need to define a protocol there first.