All Projects → swaywm → cl-wlroots

swaywm / cl-wlroots

Licence: MIT license
Common lisp bindings for wlroots, a library for writing Wayland compositors

Programming Languages

common lisp
692 projects

Projects that are alternatives of or similar to cl-wlroots

cute-sway-recorder
SwayWM screen recorder; a GUI for wf-recorder
Stars: ✭ 16 (-50%)
Mutual labels:  wayland, wlroots
wapanel
Desktop-dedicated wayland bar for wayfire and other wlroots based compositors. Mir compatible.
Stars: ✭ 31 (-3.12%)
Mutual labels:  wayland, wlroots
japokwm
A wlroots and dwl based tiling wayland compositor based around creating layouts
Stars: ✭ 99 (+209.38%)
Mutual labels:  wayland, wlroots
wlroots-ocaml
OCaml bindings to wlroots [experimental]
Stars: ✭ 24 (-25%)
Mutual labels:  bindings, wlroots
wdisplays
Mirror of cyclopsian/wdisplays
Stars: ✭ 95 (+196.88%)
Mutual labels:  wayland, wlroots
Waybar
Highly customizable Wayland bar for Sway and Wlroots based compositors. ✌️ 🎉
Stars: ✭ 2,037 (+6265.63%)
Mutual labels:  wayland, wlroots
nwg-wrapper
Wrapper to display a script output or a text file content on the desktop in sway or other wlroots-based compositors
Stars: ✭ 60 (+87.5%)
Mutual labels:  wayland, wlroots
input.rs
libinput bindings for rust
Stars: ✭ 58 (+81.25%)
Mutual labels:  bindings, wayland
go-wlroots
Go binding for wlroots
Stars: ✭ 92 (+187.5%)
Mutual labels:  bindings, wlroots
mywayland
🍨 Wlroots and friends for KISS
Stars: ✭ 25 (-21.87%)
Mutual labels:  wayland, wlroots
havoc
minimal terminal emulator for wayland
Stars: ✭ 81 (+153.13%)
Mutual labels:  wayland
hoedown
rust bindings for hoedown
Stars: ✭ 16 (-50%)
Mutual labels:  bindings
popsicle
Popsicle aims to bridge the JUCE c++ framework to python.
Stars: ✭ 102 (+218.75%)
Mutual labels:  bindings
ivi-homescreen
Embedded Flutter runtime targeting Embedded Linux with Wayland
Stars: ✭ 172 (+437.5%)
Mutual labels:  wayland
ego
Alter Ego: run Linux desktop applications under a different local user
Stars: ✭ 90 (+181.25%)
Mutual labels:  wayland
waylandpp
Wayland C++ bindings
Stars: ✭ 64 (+100%)
Mutual labels:  wayland
wluma
Automatic brightness adjustment based on screen contents and ALS
Stars: ✭ 290 (+806.25%)
Mutual labels:  wlroots
mapbox-ios-binding
Xamarin binding library for Mapbox iOS SDK
Stars: ✭ 15 (-53.12%)
Mutual labels:  bindings
samp-rs
SA:MP SDK written in Rust
Stars: ✭ 36 (+12.5%)
Mutual labels:  bindings
wleird
A collection a Wayland clients doing weird things, for compositor testing
Stars: ✭ 36 (+12.5%)
Mutual labels:  wayland

cl-wlroots

This system provides cffi bindings for wlroots. Its goal is to just provide a low level interface to the library, although abstractions may be added in the future. See the status.org file for which interfaces have been implemented.

Installation Instructions

Requirements

Install the following libraries from source:

  • wlroots. Install it per the directions in the project’s readme. The submodule included in this repository will always work, but may be behind several commits.
  • quicklisp. Used to install dependencies such as cffi, cffi-grovel.
  • cl-wayland. As of the time of writing, the distribution included with quicklisp is not up to date with the latest changes. Use the devel branch of linked repository instead; it will always be up to date.
  • cl-xkbcommon. Not to be confused with cl-xkb shipped with quicklisp.

As more and more parts of the library are added, the lisp dependencies may change. If a dependency that isn’t automatically supplied by quicklisp is not listed here, please file an issue.

Installation

Download this project to a place that asdf can see it, or add its path to asdf’s source registry. Both of these solutions are explained in the asdf manual. An additional solution is to download it to ~/quicklisp/local-projects. You can then load the project with (ql:quickload "cl-wlroots").

Usage

Every symbol and function is exported under the wlr package. If you want to go on a file-by-file basis, each c header corresponds to a package. For example, all of the functions in wlr/types/wlr_output.h can be found in the wlr/types/output package. A notable exception to this is wlr/types/input-devices, which contains all of the code for the input devices.

In addition to defining cffi types for all wlroots types, cl-wlroots also defines some macros and error conditions. These are:

  • with-wlr-accessors Due to the way that foreign slots are defined in this project, cffi:with-foreign-slots cannot be used, so this macro is provided in its place.
  • wlr/error:initialization-error

Examples

Example programs can be found in the example directory. Use Roswell to run them.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].