Skip to content
/ wlbouncer Public

Control which Wayland protocol extensions are available to which clients on any Wayland compositor

License

Notifications You must be signed in to change notification settings

wmww/wlbouncer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wlbouncer

Control which Wayland protocol extensions are available to which clients on any Wayland compositor

Features

  • Supports yaml configuration (see configuration.md)
  • Can be used as a library by Wayland compositor developers
  • Can be preloaded into any compositor without rebuilding it

Dependencies

  • wayland-server
  • yaml-cpp

Building & installing

  • Install dependencies
  • meson setup build
  • ninja -C build
  • sudo ninja -C build install

Using as a user

  • Run your Wayland compositor with LD_PRELOAD set to /path/to/libwlbouncer-preload.so
  • ex: LD_PRELOAD=/usr/local/lib/libwlbouncer-preload.so sway

Using as a compositor developer

  • Link to the wlbouncer pkgconfig package
  • Include wlbouncer.h
  • Call wl_bouncer_init_for_display() after creating a Wayland display
  • DO NOT call wl_display_set_global_filter() (it will replace wlbouncer's filter)

Environment variables

  • BOUNCER_CONFIG: set path to wlbouncer.yaml configuration file (can be overridden by compositor when wlbouncer is not preloaded)
  • BOUNCER_DEBUG: if set to any value, wlbouncer will print what it's doing
  • BOUNCER_KEEP_LD_PRELOAD: when wlbouncer is preloaded into a Wayland compositor it will clear LD_PRELOAD by default (so it's not preloaded into every descendant process of the compositor). Setting this to any value will prevent this behavior

About

Control which Wayland protocol extensions are available to which clients on any Wayland compositor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published