Build with meson; portable wlroots fallback (pinned wrap) + README
This commit is contained in:
parent
ea6fea80d7
commit
6b049debf0
5 changed files with 118 additions and 24 deletions
65
README.md
Normal file
65
README.md
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
# tabbed-wlroots
|
||||
|
||||
A nested Wayland compositor (built on wlroots) that presents several
|
||||
client apps as tabs in a single window on the host Wayland compositor.
|
||||
Each command-line argument launches one tab.
|
||||
|
||||
## Building
|
||||
|
||||
The project builds with [Meson](https://mesonbuild.com/) + Ninja. On most
|
||||
distributions the non-wlroots dependencies are available in the standard
|
||||
repositories; `wlroots` is used from the system where one is installed, and
|
||||
otherwise is fetched and built automatically from a pinned source tarball
|
||||
(`subprojects/wlroots.wrap`).
|
||||
|
||||
```sh
|
||||
meson setup build
|
||||
meson compile -C build
|
||||
```
|
||||
|
||||
The resulting binary is `build/tabbed-wlroots`.
|
||||
|
||||
### Debian / Ubuntu
|
||||
|
||||
```sh
|
||||
sudo apt install build-essential meson ninja-build pkg-config \
|
||||
libwayland-dev libwayland-bin wayland-protocols \
|
||||
libwlroots-dev libxkbcommon-dev \
|
||||
libegl1-mesa-dev libgles2-mesa-dev \
|
||||
libpixman-1-dev libdisplay-info-dev libliftoff-dev libseat-dev
|
||||
```
|
||||
|
||||
`libwlroots-dev` already satisfies the wlroots dependency on this platform.
|
||||
|
||||
### Arch
|
||||
|
||||
```sh
|
||||
sudo pacman -S base-devel meson ninja pkgconf wayland wayland-protocols \
|
||||
wlroots xkbcommon mesa pixman
|
||||
```
|
||||
|
||||
### Fedora
|
||||
|
||||
```sh
|
||||
sudo dnf install gcc meson ninja-build pkgconf-pkg-config \
|
||||
wayland-devel wayland-protocols-devel wlroots-devel \
|
||||
libxkbcommon-devel mesa-libEGL-devel mesa-libGLES-devel pixman-devel
|
||||
```
|
||||
|
||||
### When the system wlroots dep is missing / the fallback can't find one
|
||||
|
||||
The Meson setup searches for `wlroots-0.19` then `wlroots`; if neither is
|
||||
installed it builds the pinned 0.19.1 from `subprojects/wlroots.wrap`, which
|
||||
only needs the wayland, wayland-protocols, xkbcommon and EGL/GLES2 dev
|
||||
packages listed above. Optional wlroots features (Vulkan, X11, libinput,
|
||||
etc.) are auto-detected and skipped when their build deps aren't present, so
|
||||
a minimal install works too.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
tabbed-wlroots <prog> [prog...]
|
||||
```
|
||||
|
||||
Each `<prog>` is one shell command; quote it when it takes arguments, e.g.
|
||||
`tabbed-wlroots "foot -e htop" "firefox -no-remote"`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue