summaryrefslogtreecommitdiffstats
path: root/kwin/COMPLIANCE
diff options
context:
space:
mode:
Diffstat (limited to 'kwin/COMPLIANCE')
-rw-r--r--kwin/COMPLIANCE247
1 files changed, 0 insertions, 247 deletions
diff --git a/kwin/COMPLIANCE b/kwin/COMPLIANCE
deleted file mode 100644
index 7ae943630..000000000
--- a/kwin/COMPLIANCE
+++ /dev/null
@@ -1,247 +0,0 @@
-W A R N I N G:
---------------
-This document is a work in progress and is in no way complete or accurate!
-Its current purpose is in aiding the KWin NetWM audit for a future KWin release.
-
-NetWM Compliance Document:
-==========================
-
-Listed below are all the NetWM (or EWM) hints decided upon on freedesktop.org
-(as of version 1.3draft, Nov 27, 2002) and KWin's current level of
-compliance with the spec. Some parts also involve the pager and clients which
-this document will cater for as well where applicable.
-
-If you modify the level of NetWM compliance (via modification of twin/*,
-tdecore/netwm.* or tdecore/twin.* etc.), or notice any new hints that
-were added after version 1.2, please modify this document appropriately.
-Properties are ordered in the table in the order they are found in the
-specification. To list any important notes regarding a property, just
-add them as follows:
-
-_NET_NUMBER_OF_DESKTOPS root window property done
- +----------------------------------------------------------------+
- | This property SHOULD be updated by the Window Manager to |
- | indicate the number of virtual desktops. KWin DOES update this |
- | property when the pager changes the number of desktops. |
- +----------------------------------------------------------------+
-
-If you have any questions regarding the specification, feel free to ask on the KWin
-mailing list <twin@kde.org>, or on the Window Manager Spec list <wm-spec-list@gnome.org>.
- -- Karol <kszwed@kde.org>
-
-(
- compliance :
- - = none,
- / = partial,
- + = complete,
- * = KWin is compliant, but something else needs checking (e.g. Qt)
- ? = unknown
-)
-
-
-NETWM spec compliance (whole document):
-version 1.2
-======================
-
-+ 1.
-+ 2.3. Feature not implemented.
-+ 2.4. Feature not implemented.
-+ 2.5.
-+ 2. (rest of the section)
-+ 3.1.
- This property is complete in the sence that all implemented properties
- are listed here.
- CHECKME : check it's complete
-/ 3.2.
- The spec requires that _NET_CLIENT_LIST contains the windows in their
- initial mapping order, which is currently not true for NET::Desktop
- windows.
- Note that xprop lists only first element in WINDOW type properties.
-+ 3.3.
- Note that KWin does not use the virtual root windows technique,
- so it doesn't set _NET_VIRTUAL_ROOTS at all.
-+ 3.4.
- KWin doesn't implement large desktops, so it ignores
- the message, and only sets the property to the screen size.
-+ 3.5.
- KWin doesn't implement viewports, so it correctly sets
- the property to (0,0) pairs and ignores the message.
-+ 3.6.
-+ 3.7.
-+ 3.8.
- KWin currently extends the message a bit, with data.l[0] being 1 or 2,
- meaning 'from application'/'from pager', and data.l[1] contains
- timestamp. This is used for focus stealing prevention purposes, and
- will be proposed for next version of the spec.
-+ 3.9.
-+ 3.10.
-+ 3.11.
- KWin doesn't use the virtual roots technique for creating virtual
- desktops, so it doesn't set the property.
-- 3.12.
-- 3.13.
-+ 4.1.
-+ 4.2.
-+ 4.3.
- Due to implementation details KWin actually allows moving or resizing
- by keyboard when requested to be done by mouse, and vice versa.
-+ 5.1.
-+ 5.2.
-+ 5.3.
-+ 5.4.
-+ 5.5.
-/ 5.6. The handling of _NET_WM_WINDOW_TYPE itself is correct and complete.
- Supported window types: DESKTOP, DOCK, TOOLBAR, MENU, UTILITY,
- SPLASH, DIALOG, NORMAL.
- UTILITY should get better placement.
- TOOLBAR - many parts in KDE still treat this as "tool" window.
- - should the decoration be shown for the toolbars?
- KDE extensions:
- _KDE_NET_WM_WINDOW_TYPE_TOPMENU - this is used for implementing
- standalone menubars for applications. Only the menubar
- that is transient for the currently active window will be shown.
- See KMenuBar class in libtdeui for details.
- _KDE_NET_WM_WINDOW_TYPE_OVERRIDE - this seems to mean "this window
- should be borderless", but it's actually used also for other
- things, like fullscreen windows. The plan is to get rid of this
- flawed thing as soon as possible.
-/ 5.7.
- The handling of _NET_WM_STATE itself is correct and complete.
- Supported states: MODAL, MAXIMIZED_VERT, MAXIMIZED_HORZ, SHADED,
- SKIP_TASKBAR, SKIP_PAGER, HIDDEN, ABOVE, BELOW.
- STICKY is not supported, because KWin doesn't implement viewports.
- BELOW - in order to make 'allow windows to cover the panel' feature
- in Kicker work KWin interprets this state a bit differently
- for DOCK windows. While normal DOCK windows are in their
- extra layer above normal windows, making them BELOW doesn't
- move them below normal windows, but only to the same layer, so
- that windows can hide Kicker, but Kicker can be also raised
- above the windows. A bit hacky, but it's not really against
- the spec, and I have no better idea.
- KDE extensions:
- _NET_WM_STATE_STAYS_ON_TOP - has the same meaning like ABOVE,
- and is deprecated in favour of it; it lacks the _KDE prefix
-* 5.8.
- The handling of _NET_WM_ALLOWED_ACTIONS itself is correct and complete.
- Supported actions: MOVE, RESIZE, MINIMIZE, SHADE, MAXIMIZE_HORZ,
- MAXIMIZE_VERT, CHANGE_DESKTOP, CLOSE
- STICK is not supported, because KWin does not implement viewports.
- Kicker etc. need to be updated.
-+ 5.9.
-* 5.10.
- Property is not used in KWin.
- Kicker needs to be checked.
-* 5.11.
- KWin's handling of the property is correct.
- Qt should be checked.
-+ 5.12.
-- 5.13.
- Property is not used in KWin, KWin never provides icons for iconified windows.
- Kicker or its taskbar don't set it either. However, the property is flawed,
- and should be replaced by manager selection or similar mechanism.
-+ 6.1.
-+ 6. (rest)
-+ 7.4.
- The urgency hint is mapped to the _NET_WM_DEMANDS_ATTENTION flag.
-* 7.5.
- Qt often sets maximum size smaller than minimum size. This seems to be caused
- by delayed layout calculations.
-* 7.6.
- Kicker should be checked.
-? 7.7.
-+ 7. (rest of the section)
-
-ICCCM spec compliance (whole document):
-version 2.0
-======================
-
-/ 1.2.3.
- KWin uses KWIN_RUNNING atom that's missing the leading underscore.
- Some parts of KDE perhaps may be missing the leading underscore.
-/ 1.2.6.
- Should be checked.
-+ 1. (rest of the section)
-+ 2.8. kmanagerselection.* in tdecore
-+ 2. (rest of the section)
- Not a KWin thing.
-* - patch sent to TT to make TQClipboard sufficiently compliant
-+ 3.
- Feature not supported, obsolete.
-+ 4.1.1
-+ 4.1.2 (intro)
-+ 4.1.2.1
- Used as a fallback for _NET_WM_NAME.
-+ 4.1.2.2
- Used as a fallback for _NET_WM_ICON_NAME.
-? 4.1.2.3
-? - PSize, PPosition, USize, UPosition
-? - clients - Qt simply sets both
-+ - PWinGravity - window geometry constraints have higher priority than gravity
-/ - PBaseSize - PMinSize is not used as a fallback for size increments
-+ - (the rest)
-/ 4.1.2.4
-+ - input - see 4.1.7
-+ - initial_state
-+ - icon - feature not supported
-+ - window_group
-+ - urgency - mapped to _NET_WM_DEMANDS_ATTENTION
-/ 4.1.2.5 - it should be checked it's used correctly in Kicker etc.
-/ 4.1.2.6 - should be checked
- NETWM section 7.3. is supported too, even though it's a slight ICCCM violation.
-+ 4.1.2.7
-- 4.1.2.8
- See 4.1.8.
-+ 4.1.2.9 - handled by Xlib call
-+ 4.1.3.1
-+ 4.1.3.2
- Feature not supported (4.1.2.4 - icons)
-* 4.1.4 it should be checked Qt/KDE clients handle this properly
-/ 4.1.5
- This needs fixing.
-+ 4.1.6
-+ 4.1.7
-- 4.1.8
- KWin only installs colormap required by the active window.
-- 4.1.9
- Feature not supported, except for WM_ICON_NAME as a fallback for _NET_WM_ICON_NAME.
-+ 4.1.10
-+ 4.1.11
- Window groups are only used for supporting NETWM section 7.3.
-+ 4.2.5
-/ 4.2.7
- Qt doesn't set revert-to to Parent.
-+ 4.2.8.1 frozen clients may be XKill-ed upon a user request though
-+ 4.3
-? 4.4
-+ 4. (rest of the section)
-+ 5.3. not KWin related
-+ 5. (rest of the section )
-? 6.1. clients thing
-? 6.2. clients thing - Qt perhaps should force rule 2.
-+ 6.3.
-? 6. (rest of the section)
-+ 7. - no idea what it is, but it doesn't seem to be KWin related
-+ 8.
-
-
-KDE-specific extensions (for completeness):
-
-Property Name Type
-==========================================================================
-_KDE_WM_CHANGE_STATE root window message
-_KDE_NET_SYSTEM_TRAY_WINDOWS root window property
-_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR window property
-_KDE_NET_WM_FRAME_STRUT window property
-_NET_WM_CONTEXT_HELP
- - Qt extension
- - has no vendor prefix even though it's not part of the spec
-_NET_WM_STATE_STAYS_ON_TOP
- - KDE extension
- - has no vendor prefix even though it's not part of the spec
- - deprecated in favor of _NET_WM_STATE_KEEP_ABOVE
-_KDE_NET_WM_WINDOW_TYPE_OVERRIDE
- - window type, makes the window borderless
- - unclear semantics, used also for fullscreen windows
- - deprecated in favor of other window types
-
-==========================================================================