Design choice recommendations
        Move to a single character set (UTF-8)
        Move to a single coordinate space for multiple video cards, multiple 
outputs on same video card
                I think EGLDisplay should be what X would call a Virtual screen 
and that is large enough to combine the outputs of all video cards being managed
                        I know the EGL spec equates EGLDisplay to "monitor"
                        Dispense with Screen, Zaphod, Xinerama
                Need an equivalent to xorg.conf.d for annotating and 
blacklisting video cards and their outputs
                Need an equivalent to xorg.conf.d for annotating and 
blacklisting input devices
        Move to a single coordinate space for multiple desktops
                User support requests indicate they really like keeping 
applications on (the illusion of) multiple desktops and switching them
                Too much complexity here
                Dispense with _NET_NUMBER_OF_DESKTOPS, _NET_CURRENT_DESKTOP, 
ability to mix large desktops and multiple desktops
                Try to dispense with panning and only allow paging multiple 
desktops (is this exactly backwards for mobile?)
        Would have been nice to move to a single Visual/Colormap equivalent, 
that is, RGBA-32, always composited
                But, EGL has these as choices and I suppose YUV is relevant

ICCCM not desktop environment relevant requirements, may be someone else's
        Window geometry constraints (minimum size, resize increments) in 
WM_NORMAL_HINTS
        Window gravity (no longer of much interest?)
        Input focus model knob in WM_HINTS      

ICCCM/EWMH requirements, from desktop environment's point of view
        Way of detecting unresponsive client
        Enumerate toplevel windows (would be equivalent if we could get New and 
Gone events) (taskbar, pager): _NET_CLIENT_LIST
        Enumerate stacking order (pager): _NET_CLIENT_LIST_STACKING
        Window that has focus: _NET_ACTIVE_WINDOW (taskbar, pager may draw it 
differently)
        Window title (display in taskbar): WM_NAME, WM_ICON_NAME, _NET_WM_NAME, 
_NET_WM_ICON_NAME, _NET_WM_VISIBLE_NAME, _NET_WM_VISIBLE_ICON_NAME
                Carry forward only a single UTF-8 title found now in 
_NET_WM_NAME
        Window icon (taskbar, title bar) _NET_WM_ICON, WM_HINTS as Pixmaps 
requiring extra round trips
                Carry forward only a literal icon found now in _NET_WM_ICON
                Re-evaluate whether having a lot of sizes is necessary
        Window class (arbitrary string controlling taskbar button grouping) 
WM_CLASS
                Carry forward at least the Class part, don't use the Instance 
part
        Iconic state: WM_HINTS
        Window purpose: WM_TRANSIENT_FOR, _NET_WM_WINDOW_TYPE, _NET_WM_STATE 
(used ad-hoc to add to _NET_WM_STATE_SKIP_*)
        Window urgency: WM_HINTS
        Window type and state _NET_WM_WINDOW_TYPE, _NET_WM_STATE:
                Lots of "window roles" that affect placement and stacking order
                Taskbar visibility controls _NET_WM_STATE_SKIP_PAGER, 
_NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_HIDDEN
                Taskbar/pager tends to use other window roles in an ad hoc way 
to affect visibility
        Version control on features: _NET_SUPPORTED
        Window operations
                Close: _NET_CLOSE_WINDOW, WM_PROTOCOLS[WM_DELETE]
                Iconify, Restore: XIconifyWindow, XMapWindow
                Shade, unshade: _NET_WM_STATE_SHADED
                Maximize, demaximize: _NET_WM_STATE_MAXIMIZED_VERT, 
_NET_WM_STATE_MAXIMIZED_HORZ
                Raise: _NET_ACTIVE_WINDOW, XMapRaised, XSetInputFocus
                Full screen:  _NET_WM_STATE_FULLSCREEN
                Take input focus: _NET_ACTIVE_WINDOW
                Mass iconify/restore: _NET_SHOWING_DESKTOP
                Make sticky: _NET_WM_STATE_STICKY
                Change visibility in desktop metaphor: _NET_DESKTOP_VIEWPORT
                Move window to different view in desktop metaphor: 
_NET_MOVERESIZE_WINDOW
        Window geometry relative to desktop metaphor (pager)
                Pager uses ConfigureNotify event and XGetGeometry to get 
position on virtual desktop
                The coordinate space changes, and there is a race condition 
between ConfigureNotify and _NET_DESKTOP_VIEWPORT;
                    causes an unnecessary XGetGeometry round trip;
                    fix this by not changing the coordinate space
        Space allocation for docks in presence of application windows, so 
maximized windows won't overlay them
                _NET_WORKAREA
                _NET_WM_STRUT, _NET_WM_STRUT_PARTIAL
        Geometry of iconified view so window manager can animate iconify: 
WM_ICON_GEOMETRY
        Desktop metaphor configuration sensing, including "sticky" windows that 
are visible on all views
                _NET_WM_DESKTOP (window property)
                _NET_NUMBER_OF_DESKTOPS
                _NET_DESKTOP_GEOMETRY
                _NET_DESKTOP_VIEWPORT
                _NET_CURRENT_DESKTOP
                _NET_DESKTOP_NAMES
                _NET_DESKTOP_LAYOUT
        Window information
                _NET_WM_PID, backpointer to owning process in case we want to 
kill() it
        Event when
                Hotkey presses (do the requested action)
                New or deleted toplevel window (update taskbar, pager)
                Locked keyboard group changes (update country flag, update 
on-screen keyboard keycaps)
                Keyboard changes (re-enumerate keyboard symbols, update country 
flag)
                Keyboard indicators change (update on-screen indicator display)
                Monitor geometry changes (re-enumerate monitors, update all 
panel geometry, configuration dialog if open)
                Monitor backlight changes (update on-screen display)
                Window moves (update pager)
                Visible desktop changes (update taskbar, pager)

Not relevant
                Entire design for compositing manager
                _NET_SUPPORTING_WM_CHECK
                _NET_VIRTUAL_ROOTS
                _NET_REQUEST_FRAME_EXTENTS
                _NET_WM_HANDLED_ICONS
                _NET_WM_USER_TIME
                _NET_WM_USER_TIME_WINDOW
                _NET_FRAME_EXTENTS
                _NET_WM_SYNC_REQUEST
                _NET_WM_FULLSCREEN_MONITORS
                _NET_WM_FULL_PLACEMENT
                WM_COLORMAP_WINDOWS
                WM_CLIENT_MACHINE
                WM_ICON_SIZE
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to