mirror of
https://git.yoctoproject.org/libmatchboxwm2
synced 2025-11-04 05:05:44 +08:00
88 lines
2.3 KiB
Plaintext
88 lines
2.3 KiB
Plaintext
Matchbox Window Manager II README.
|
|
======
|
|
|
|
Intro
|
|
===
|
|
|
|
Matchbox Window Manager II is a complete rewrite of the original
|
|
m-w-m. It is in early stages of development.
|
|
|
|
|
|
Plans/Aims Overview
|
|
===
|
|
|
|
o Manage windows in a restricted stack PDA style just like the original m-w-m.
|
|
|
|
o Be small, fast, dependency light, flexible just like the original m-w-m.
|
|
|
|
o Dont use libmb (XRender can be used for basic image compositing,
|
|
performance issues should be able to be addressed via clever caching)
|
|
|
|
o Be very modular in nature using a simple object system. m-w-m-2
|
|
should consist of core and optional building blocks which can be
|
|
put togeather in various ways to form a window manager for a specific
|
|
embedded UI (with varying constraints). The object system should
|
|
provide this rather than being dependant on #ifdefs to add specific
|
|
behaviour for a specific platform/UI.
|
|
|
|
o Form a Much cleaner and manageable code base.
|
|
|
|
o Use Xlib on XCB (or options xlibint.h) for more async prop calls.
|
|
|
|
o *Optional* support for glib mainloop and GTK.
|
|
|
|
o Support various themeing/decoration engines.
|
|
|
|
o Better support compositing.
|
|
|
|
|
|
Design
|
|
===
|
|
|
|
m-w-m-2 source code is split into various components as follows;
|
|
|
|
- src/core
|
|
|
|
Contains the core code and classes for providing window
|
|
management. Ideally all objects should be overideable with an
|
|
alternate implimentation and policy.
|
|
|
|
TODO: Objectify things like the wm core and layout engine.
|
|
Window Decorations / Buttons.
|
|
Support EWMH.
|
|
|
|
- src/client-types
|
|
|
|
Contains sub classes of the cores 'client' type to implement handling of
|
|
various window types (eg app windows, dialogs, panels).
|
|
|
|
Each type sets layout and stacking as to how to wish to
|
|
be managed (eg the core knows nothing about what a 'dialog' is, just
|
|
the hints its provides).
|
|
|
|
TODO: Basically pad this out more.
|
|
|
|
- src/theme-engines
|
|
|
|
Implementations of various theme engines.
|
|
|
|
TODO: lots
|
|
|
|
- src/managers
|
|
|
|
The 'meat' which pulls the above togeather to form a window manager for a
|
|
particular platform. Currently just a 'simple' implentation exists, but in
|
|
the future others could exists like matchbox-window-manager-maemo for
|
|
example.
|
|
|
|
TODO: lots
|
|
|
|
In the future other sub directorys could be 'composite', 'GTK' etc..
|
|
|
|
|
|
Notes
|
|
==
|
|
|
|
It could be worth (optionally) building everything (except managers)
|
|
as a lib so out of tree WM's could be built.
|