diff options
-rw-r--r-- | README | 5 | ||||
-rw-r--r-- | README.md | 33 | ||||
-rw-r--r-- | tinywl.c | 2 |
3 files changed, 35 insertions, 5 deletions
@@ -1,5 +0,0 @@ - TinyWL - -Tiny Wayland compositor. - -Send patches to: ~sircmpwn/[email protected] diff --git a/README.md b/README.md new file mode 100644 index 0000000..4be9852 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# TinyWL + +This is the "minimum viable product" Wayland compositor based on wlroots. It +aims to implement a Wayland compositor in the fewest lines of code possible, +while still supporting a reasonable set of features. Reading this code is the +best starting point for anyone looking to build their own Wayland compositor +based on wlroots. + +## Building TinyWL + +TinyWL is disconencted from the main wlroots build system, in order to make it +easier to understand the build requirements for your own Wayland compositors. +Simply install the dependencies: + +- wlroots +- wayland-protocols + +And run `make`. + +## Running TinyWL + +You can run TinyWL with `./tinywl`. In an existing Wayland or X11 session, +tinywl will open a Wayland or X11 window respectively to act as a virtual +display. You can then open Wayland windows by setting `WAYLAND_DISPLAY` to the +value shown in the logs. You can also run `./tinywl` from a TTY. + +In either case, you will likely want to specify `-s [cmd]` to run a command at +startup, such as a terminal emulator. This will be necessary to start any new +programs from within the compositor, as TinyWL does not support any custom +keybindings. TinyWL supports the following keybindings: + +- `Alt+Escape`: Terminate the compositor +- `Alt+F1`: Cycle between windows @@ -659,6 +659,8 @@ int main(int argc, char *argv[]) { execl("/bin/sh", "/bin/sh", "-c", startup_cmd, (void *)NULL); } } + wlr_log(WLR_INFO, "Running Wayland compositor on WAYLAND_DISPLAY=%s", + socket); wl_display_run(server.wl_display); wl_display_destroy_clients(server.wl_display); |