Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cudiph/cwcwm
Hackable wayland compositor
https://github.com/cudiph/cwcwm
lua wayland wayland-compositor wlroots
Last synced: 1 day ago
JSON representation
Hackable wayland compositor
- Host: GitHub
- URL: https://github.com/cudiph/cwcwm
- Owner: Cudiph
- License: other
- Created: 2024-12-20T10:43:15.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-02-02T10:43:30.000Z (13 days ago)
- Last Synced: 2025-02-02T11:24:54.579Z (13 days ago)
- Topics: lua, wayland, wayland-compositor, wlroots
- Language: C
- Homepage: https://cudiph.github.io/cwc/apidoc/
- Size: 381 KB
- Stars: 31
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# README
## About CwC
CwC is an extensible Wayland compositor with dynamic window management based
on wlroots. Highly influenced by Awesome window manager, cwc use Lua for its
configuration and C plugin for extension.For new user you may want to check out [getting started][getting_started] page.
## Stability state
Crash may happen so daily driving isn't reccommended unless you are okay with it
and if you encounter one please report by [creating issue][github-issue] with step to
reproduce. I will fix it as quickly as possible because I also daily drive it and
I want my setup to be super stable.API breaking change is documented with exclamation mark (`!`) in the commit
message as per [conventional commits specification][conventional-commits].
APIs that derived from AwesomeWM are unlikely to get a change therefore
guaranteed to not break your configuration.## Features
- Very configurable, fast, and lightweight.
- Hot reload configuration support.
- Can be used as floating/tiling window manager.
- Tabbed windows.
- Tags instead of workspaces.
- Documented Lua API.
- wlr protocols support.
- Multihead support + hotplugging (not heavily tested).## Building and installation
Required dependencies:
- wayland
- wlroots 0.19 (git)
- hyprcursor
- cairo
- xkbcommon
- libinput
- xxhash
- LuaJIT
- Xwayland
- xcbLua library dependencies:
- LGI
- cairo with support for GObject introspection
- Pango with support for GObject introspectionDev dependencies:
- meson
- ninja
- wayland-protocols
- clang-format & EmmyLuaCodeStyle (formatting)### Manual
```console
$ make all-release
$ sudo make install
```CwC now should be available in the display manager or execute `cwc` in the tty.
To clear the installation and build items you can execute this command:
```console
$ sudo make uninstall
$ make clean
```### AUR
AUR package is available under the package name [cwc-git][cwc-git].
```console
$ yay -S cwc-git
```
Screenshot
![]()
## Credits
CwC contains verbatim or modified works from these awesome projects:
- [Awesome](https://github.com/awesomeWM/awesome)
- [dwl](https://codeberg.org/dwl/dwl)
- [Hikari](https://hub.darcs.net/raichoo/hikari)
- [Hyprland](https://github.com/hyprwm/Hyprland)
- [Sway](https://github.com/swaywm/sway)
- [TinyWL](https://gitlab.freedesktop.org/wlroots/wlroots)See [LICENSE.md](LICENSE.md) for license details.
[getting_started]: https://cudiph.github.io/cwc/apidoc/documentation/00-getting-started.md.html
[github-issue]: https://github.com/Cudiph/cwcwm/issues
[conventional-commits]: https://www.conventionalcommits.org/en/v1.0.0/#commit-message-with--to-draw-attention-to-breaking-change
[cwc-git]: https://aur.archlinux.org/packages/cwc-git