windowmaker-wl/WindowMaker/Icons
Levi Neely a486329b52 Wayland backend abstraction: WMBackend vtable (Phases 0–30)
Introduce a display-system-agnostic WMBackend vtable that routes all
display operations through function pointers, making the WM policy
layer independent of X11.  The X11 implementation is preserved in
src/backend/x11/ and behaviour is unchanged.

Key structural changes
──────────────────────
• src/backend/backend_types.h — backend-neutral type definitions:
    WNativeWindow, WKeyCode, WContextKey, WBackendScreen,
    WBackendEvent (+typed fields), WNormalHints, WWMHints,
    WNETWindowType, WHeadGeometry, WClientAttributes, WClientVisual,
    WSegment, WPoint, WM_KEY_* keysym constants, WA_* atom IDs,
    WKB_GROUP*_INDEX, WCUR_NONE

• src/backend/backend.h — WMBackend vtable (~100 function-pointer
    slots) covering: frame/context lifecycle, stacking, focus, grabs,
    pointer, keyboard, overlays, properties, ICCCM, EWMH/NETWM,
    monitors, screen setup, cursors, extensions, error handlers.
    No <X11/> headers remain in this file after Phase 30.

• src/backend/x11/ — X11 backend implementation:
    x11_backend.c  full vtable; all display calls confined here
    x11_props.c    WM_NORMAL_HINTS / WM_HINTS translation
    x11_event.c    XEvent → WBackendEvent translation
    x11_monitor.c  Xinerama / RandR monitor query

Policy files cleaned
────────────────────
All 47 files in WM_POLICY_CLEAN_FILES pass check-no-x11-policy
(no direct #include <X11/> anywhere).  X11 types that still appear
in policy structs (Visual*, Colormap, Window, Atom …) arrive only
transitively via WINGs.h; the vtable boundary itself is X11-free.

Tests
─────
• tests/smoke-test.sh — full Xvfb lifecycle test (PASS)
• tests/test_geom.c   — geometry / constraint unit tests
• tests/test_x11_event.c — WBackendEvent field extraction tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 19:20:00 +01:00
..
BitchX.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
BitchX.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Drawer.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Drawer.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Ear.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Ftp.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GNUstep.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GNUstep.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GNUstep3D.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GNUstep3D.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GNUstepGlow.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GNUstepGlow.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GNUterm.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GNUterm.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
GreenWilber.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
ICQ.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Jabber.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Magnify.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Magnify.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Makefile.am WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Makefile.in Wayland backend abstraction: WMBackend vtable (Phases 0–30) 2026-03-27 19:20:00 +01:00
Mouth.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Mozilla.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Pen.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Pencil.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
README WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Real.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Shell.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Speaker.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Terminal.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Terminal.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
TerminalGNUstep.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
TerminalGNUstep.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
TerminalLinux.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
TerminalLinux.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
Wine.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
XChat.png WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
clip.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
clip.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
defaultAppIcon.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
defaultAppIcon.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
defaultterm.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
defaultterm.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
draw.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
draw.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
linuxterm.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
linuxterm.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
mixer.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
mixer.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
notepad.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
notepad.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
pdf.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
pdf.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
ps.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
ps.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
real.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
real.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
sgiterm.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
sgiterm.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
staroffice2.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
staroffice2.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
timer.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
timer.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
wilber.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
wilber.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
write.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
write.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
xdvi.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
xdvi.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
xv.tiff WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00
xv.xpm WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00

README

The icons listed in the end of this file and their correspondent xpm versions
were made by Marco van Hylckama Vlieg.
They may be distributed freely and/or modified as long as the original
Author is mentioned!
marco@windowmaker.info


BitchX.tiff
defaultAppIcon.tiff
GNUterm.tiff
defaultterm.tiff
draw.tiff
linuxterm.tiff
mixer.tiff
notepad.tiff
pdf.tiff
ps.tiff
real.tiff
sgiterm.tiff
sound.tiff
staroffice2.tiff
timer.tiff
wilber.tiff
write.tiff
xdvi.tiff
xv.tiff