diff options
| author | eunhhu <[email protected]> | 2026-09-28 13:25:21 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-28 13:25:21 +0100 |
| commit | 6052b048467f392f4eb9fb5b268cae15e94691d5 (patch) | |
| tree | 18c832ff701deb3bfdab4c85dc33a7dc7c81b833 /Makefile | |
| parent | 0e9a48699dac240665ecea96b9a244dbde5dcac8 (diff) | |
| download | vega-6052b048467f392f4eb9fb5b268cae15e94691d5.tar.gz vega-6052b048467f392f4eb9fb5b268cae15e94691d5.zip | |
Speak AT-SPI2 on the accessibility bus from the display, over Vega's own D-Bus
vega display --access joins the accessibility bus as AT-SPI2 objects for
screen readers such as Orca, with no toolkit, ATK or libdbus: dbus.c
speaks the D-Bus wire format (EXTERNAL authentication, headers, aligned
bodies, calls, replies, signals). The tree follows what the say surface
says: a heading, a label per field, a list box per list whose items know
their place and which is selected and focused, tables, the entry, the
keys as buttons; answers come from the app when asked, one object has the
focus, and focus moves are said as events. Assistive technology can act
too: Selection focuses a row, Action presses a key. The live loop now
draws only when something changed, so a screen reader's questions no
longer cost frames. The check walks the tree with gdbus on a private
session bus with at-spi-bus-launcher, and follows the focus through keys,
Selection, Action and the events.
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -13,7 +13,7 @@ LIBPURE = $(PURE)/build/libpure.a # format, drawn by CPU or GPU), text/ (Unicode's algorithms over tables # text/unicode.py generates from the UCD: python3 text/unicode.py > text/unicode-data.c). SURFACES = surfaces/screen.c surfaces/draw.c surfaces/width.c surfaces/web.c surfaces/pixels.c surfaces/display.c \ - surfaces/input.c surfaces/hangul.c surfaces/main.c + surfaces/input.c surfaces/hangul.c surfaces/dbus.c surfaces/access.c surfaces/main.c .PHONY: all check FORCE all: $(BUILD)/vega $(BUILD)/vega-symbols $(BUILD)/vega-surface.so @@ -24,7 +24,7 @@ $(BUILD): $(LIBPURE): FORCE $(MAKE) -C $(PURE) build/libpure.a -$(BUILD)/vega: $(SURFACES) surfaces/vega.h symbols/symbols.c symbols/symbols.h $(LIBPURE) | $(BUILD) +$(BUILD)/vega: $(SURFACES) surfaces/vega.h surfaces/dbus.h symbols/symbols.c symbols/symbols.h $(LIBPURE) | $(BUILD) $(CC) $(CPPFLAGS) $(CFLAGS) -I$(PURE)/core -I$(PURE)/serve -Isymbols $(SURFACES) symbols/symbols.c $(LIBPURE) $(LDFLAGS) -lm $(LDLIBS) -o $@ # The same host as a surface a Pure node maps (pure-serve --surface, Pure's @@ -34,7 +34,7 @@ $(BUILD)/vega: $(SURFACES) surfaces/vega.h symbols/symbols.c symbols/symbols.h $ # when Pure's headers change: a node refuses a surface built for another # layout of its app and module. PURE_HEADERS = $(wildcard $(PURE)/core/*.h) $(PURE)/serve/surface.h -$(BUILD)/vega-surface.so: $(SURFACES) surfaces/vega.h symbols/symbols.c symbols/symbols.h $(PURE_HEADERS) | $(BUILD) +$(BUILD)/vega-surface.so: $(SURFACES) surfaces/vega.h surfaces/dbus.h symbols/symbols.c symbols/symbols.h $(PURE_HEADERS) | $(BUILD) $(CC) $(CPPFLAGS) $(CFLAGS) -Wno-unused-function -fPIC -shared -fvisibility=hidden -ffunction-sections \ -fdata-sections -DVEGA_SURFACE -I$(PURE)/core -I$(PURE)/serve -Isymbols $(SURFACES) symbols/symbols.c \ $(LDFLAGS) -Wl,--gc-sections -lm $(LDLIBS) -o $@ |
