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
property)

|
|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 
|events/notifications:
|
|VIRTUAL_DESKTOP_ADDED
|VIRTUAL_DESKTOP_REMOVED
|ACTIVE_DESKTOP_CHANGED

Monitoring the _NET_NUMBER_OF_DESKTOPS and _NET_CURRENT_DESKTOP root
window properties will let you track desktop changes

|WINDOW_MAXIMIZE
|WINDOW_MINIMIZE
|WINDOW_RESIZE
|WINDOW_MOVE
|WINDOW_DESTROY

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...

	John





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