1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
# <img src="share/wlmaker.svg" style="height: 1.1em; width: 1.1em;" align="top"> WaylandMaker - wlmaker
A [Wayland](https://wayland.freedesktop.org/) compositor inspired by
[Window Maker](https://www.windowmaker.org/).
Key features:
* Compositor for windows in stacking mode.
* Supports multiple workspaces.
* Appearance inspired by Window Maker, following the look and feel of NeXTSTEP.
* Easy to use, lightweight, low gimmicks and fast.
* Dock and clip, to be extended for dockable apps.
How it looks, running in a window using the default theme:

### Current status
**Early access**: Wayland Maker covers elementary compositor functionality on single-monitor output. Please report what's missing or broken!
See [here](doc/FEATURES.md) for a detailed list of implemented or planned
features, or the [roadmap](doc/ROADMAP.md) for what's planned for the upcoming
versions.
Highlights for current version ([0.7](https://github.com/phkaeser/wlmaker/releases/tag/v0.7)):
* *new* Rework *window* code: Fixes lags and jitter on resize and two crashing bugs.
* *new* Look for config files relative to Freedesktop XDG base dir specification (new dependency: `libxdg-basedir-dev`)
* *new* Ability to save output state in `${XDG_DATA_DIR}/OutputState.plist` and re-use on startup.
* *new* Changes default key bindings to better conform with Linux-wide norms.
* *new* Builds with [wlroots 0.19](https://gitlab.freedesktop.org/wlroots/wlroots/-/tags).
* Support for multiple outputs, configuable through `wlr-output-management-unstable-v1` protocol (eg. `wlr-randr`, `wdisplays`).
* [Root menu](https://phkaeser.github.io/wlmaker/root_menu.html) can be generated from XDG repository ([#90](https://github.com/phkaeser/wlmaker/issues/90), eg. `wmmenugen`), and can be navigated by keyboard.
* Screen saver support, through `ext-session-lock-v1` and `idle-inhibit-unstable-v1` protocols.
* Hot corners with configurable actions, default to 'lock' or 'inhibit' locking.
* Configurable through plist text files: [base configuration](etc/wlmaker.plist),
[style](etc/style.plist), [root menu](etc/root-menu.plist) and
[docks & workspaces](etc/wlmaker-state.plist).
* wlr layer shell support (`wlr-layer-shell-unstable-v1`), fully implemented & tested.
* Appearance matches Window Maker: Decorations, dock, clip.
* Support for Wayland XDG shell (mostly complete. Bug reports welcome).
* Initial support for X11 applications (positioning and specific modes are missing).
Use `--start_xwayland` argument to enable XWayland, it's off by default.
* Prototype DockApps (`apps/wlmclock`, `apps/wlmeyes`).
### All the details?
See http://phkaeser.github.io/wlmaker for:
* How to configure wlmaker.
* Startup options.
* Supported Wayland protocols.
### Build & use it!
* From source: Please follow the [detailed build instructions](doc/BUILD.md)
for a step-by-step guide.
* Once compiled, see the [these instructions](doc/RUN.md) on how to run
Wayland Maker in a window or standalone, and to configure it for your needs.
* Alternatively, use a pre-built package:
[](https://repology.org/project/wlmaker/versions)
## Contributing
Contributions, help and bug reports are highly welcome! See
[`CONTRIBUTING.md`](CONTRIBUTING.md) for details, and
[code of conduct](CODE_OF_CONDUCT.md) for more.
## License
Apache 2.0; see [`LICENSE`](LICENSE) for details.
## Disclaimer
This project is not an official Google project. It is not supported by
Google and Google specifically disclaims all warranties as to its quality,
merchantability, or fitness for a particular purpose.
[#147](https://github.com/phkaeser/wlmaker/issues/147): Why is every file
copyrighted by Google, then? Google happens to be the primary author's
employer, and the copyright note is default recommended Open Source procedure.
|