Re: Linux Window Managers and Accessibility

Brian Cameron writes:
|-- needed C bindings --
|short getVirtualDesktopCount ();

This is supported by the wm-spec (_NET_NUMBER_OF_DESKTOPS root window

|SomeReferenceToVirtualDesktop *getDesktop (in short n);

Why can't the reference simply be the integer n?

|[given a reference to one of these virtual desktops, we need to be able to 
|implement the following:]
|wstring getName ();

This is supported by the wm-spec (_NET_DESKTOP_NAMES property)

|wstring getDescription ();
|[If virtual desktops have no "description" that's probably OK, one can
|be  synthesized].

I think that's currently the case

|long getChildCount ();
|[the above function, for an "AccessibleDesktop", should return the
|number of  accessible applications that are associated with that
|virtual desktop.]

What is an accessible application?

Is it different to a window? Is there a many-to-one mapping from
windows to accessible applications?

|boolean isActive (in short desktopIndex);
|[Must be able to determine which desktop is the currently active one].

The wm-spec has a property to tell you this (_NET_CURRENT_DESKTOP)

|We also need to be able to register for the following window manager 

window properties will let you track desktop changes


You can monitor the _NET_WM_WINDOW_STATE to tell when the window is
maximized, _WM_STATE to tell when it's minimized (iconified), and
select for StructureNotify events to tell when it's moved or resized

|APPLICATION_ADDED (or new PID added to virtual desktop's app list)
|APPLICATION_REMOVED (or moved from one desktop to another)
|Note that since the last two events concern the relationship between apps and 
|virtual desktops, not "window create" or "application exit", I think they need
|to be delivered by the window manager and not the application.

I don't understand this relationship, so I'm not going to comment on
how these would be implemented.

Anyway, I don't think there needs to be anything window-manager
specific about this - it should be reasonably simple to implement a
shared library to do all the property and event monitoring...


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