Update READMEs per tinywl merge

This commit is contained in:
Drew DeVault 2019-01-03 10:10:03 -05:00
parent fc2ba30cfa
commit f0d8b793a8
5 changed files with 53 additions and 20 deletions

View file

@ -78,21 +78,6 @@ Install like so:
sudo ninja -C build install sudo ninja -C build install
## Running the test compositor
wlroots comes with a test compositor called rootston, which demonstrates the
features of the library and is used as a testbed for the development of the
library. It may also be useful as a reference for understanding how to use
various wlroots features, but it's not considered a production-quality codebase
and is not designed for daily use.
If you followed the build instructions above the rootston executable can be
found at `./build/rootston/rootston`. To use it, refer to the example config at
[./rootston/rootston.ini.example](https://github.com/swaywm/wlroots/blob/master/rootston/rootston.ini.example)
and place a config file of your own at `rootston.ini` in the working directory
(or in an arbitrary location via `rootston -C`). Other options are available,
refer to `rootston -h`.
## Contributing ## Contributing
See [CONTRIBUTING.md](https://github.com/swaywm/wlroots/blob/master/CONTRIBUTING.md). See [CONTRIBUTING.md](https://github.com/swaywm/wlroots/blob/master/CONTRIBUTING.md).

18
rootston/README.md Normal file
View file

@ -0,0 +1,18 @@
# rootston
Rootston is the "big" wlroots test compositor. It implements basically every
feature of wlroots and may be useful as a reference for new compositors.
However, it's mostly used as a testbed for wlroots development and does not have
particularly clean code and is not particularly well designed: proceed with a
grain of salt. It is not designed for end-users.
## Running rootston
If you followed the build instructions in `../README.md`, the rootston
executable can be found at `build/rootston/rootston`. To use it, refer to the
example config at [rootston/rootston.ini.example][rootston.ini] and place a
config file of your own at `rootston.ini` in the working directory (or in an
arbitrary location via `rootston -C`). Other options are available, refer to
`rootston -h`.
[rootston.ini]: https://github.com/swaywm/wlroots/blob/master/rootston/rootston.ini.example

View file

@ -1,5 +0,0 @@
TinyWL
Tiny Wayland compositor.
Send patches to: ~sircmpwn/public-inbox@lists.sr.ht

33
tinywl/README.md Normal file
View file

@ -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

View file

@ -659,6 +659,8 @@ int main(int argc, char *argv[]) {
execl("/bin/sh", "/bin/sh", "-c", startup_cmd, (void *)NULL); 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_run(server.wl_display);
wl_display_destroy_clients(server.wl_display); wl_display_destroy_clients(server.wl_display);