Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/waycrate/nextwm
Manual tiling wayland compositor. ( Work In Progress )
https://github.com/waycrate/nextwm
bspwm sxhkd wayland wayland-client wayland-compositor window-manager wlroots zig
Last synced: 3 months ago
JSON representation
Manual tiling wayland compositor. ( Work In Progress )
- Host: GitHub
- URL: https://github.com/waycrate/nextwm
- Owner: waycrate
- License: bsd-2-clause
- Created: 2022-03-12T16:19:50.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-10-29T19:33:23.000Z (over 1 year ago)
- Last Synced: 2023-10-29T20:31:04.689Z (over 1 year ago)
- Topics: bspwm, sxhkd, wayland, wayland-client, wayland-compositor, window-manager, wlroots, zig
- Language: Zig
- Homepage: https://git.sr.ht/~shinyzenith/NextWM
- Size: 421 KB
- Stars: 100
- Watchers: 16
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NextWM
Manual tiling wayland compositor written with wlroots aimed to be a bspwm clone.
Note: NextWM is still a work in progress project. It won't be useable anytime soon, but when it is I will be the first one to spam screenshots of it in the readme.
## License:
The entire project is licensed as BSD-2 "Simplified" unless stated otherwise in the file header.
## Aim
I want to learn how to write wlroots compositors with this project.
## Why multiple implementations of Nextctl?
Since this project is meant to teach others, why not show people how wayland clients are written in different languages :) ?
## To-Do
- Compress man pages using zig stdlib.
- Simple inbuilt bar.
- Toplevel location data export?
- focused_wlr_output and focused_toplevel data export?## Building
Note: All Nextctl implementations are exactly identical.
### Build Flags
- `-Dxwayland` flag enables Xwayland supoprt.
- `-Dxwayland-lazy` lazy load Xwayland (might have slightly worse xwayland startup times but reduces resource consumption).
- `-Dnextctl-rs` Compile the Rust version of Nextctl (Default is C codebase).
- `-Dnextctl-go` Compile the Go version of Nextctl (Default is C codebase).### Depedencies
1. `cargo` (Optional. Required if you build Rust implementation of Nextctl) *
1. `go` 1.18 (Optional. Required if you build Go implementation of Nextctl) *
1. `libevdev`
1. `libinput`
1. `make` *
1. `pixman`
1. `pkg-config` *
1. `scdoc` (Optional. If scdoc binary is not found, man pages are not generated.) *
1. `wayland-protocols` *
1. `wayland`
1. `wlroots` 0.16
1. `scenefx` (Currently chasing master as there's no tagged release.)
1. `xkbcommon`
1. `xwayland` (Optional. Required if you want Xwayland support.)
1. `zig` 0.11.0 *_\* Compile-time dependencies_
## Steps
```bash
git clone --recursive https://git.sr.ht/~shinyzenith/NextWM
sudo make install
```## Keybind handling
Consider using the compositors in-built key mapper or [swhkd](https://github.com/shinyzenith/swhkd) if you're looking for a sxhkd like experience.
## Contributing:
Send patches to:
[~shinyzenith/[email protected]](https://lists.sr.ht/~shinyzenith/NextWM)## Bug tracker:
https://todo.sr.ht/~shinyzenith/NextWM
## Support
- https://matrix.to/#/#waycrate-tools:matrix.org