BBS:      TELESC.NET.BR
Assunto:  src/conio/wl_cio.c wl_cio.h wl_dynload.c wl_dynload.h wl_events.c wl_e
De:       Deuc¨
Data:     Mon, 16 Mar 2026 12:11:08 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/f33f5c166b8a074e17371cae
Added Files:
	src/conio/wl_cio.c wl_cio.h wl_dynload.c wl_dynload.h wl_events.c wl_events.h wl_proto.c wl_proto.h
Modified Files:
	src/conio/CMakeLists.txt Common.gmake GNUmakefile ciolib.adoc ciolib.c ciolib.h src/syncterm/CHANGES HACKING.md Manual.txt bbslist.c syncterm.c syncterm.man.in
Log Message:
Add native Wayland display backend for ciolib

This backend has been planned and designed for quite some time, but the
sheer amount of mechanical work kept it on the back burner. Wayland's
protocol binding model effectively requires reimplementing the client
library glue to support runtime dlopen  generating protocol marshalling
code, defining interface structs, and wiring up function pointer
redirection for every API call. That's a lot of tedious but necessary
scaffolding. The only reason this finally got done is that Claude was
able to do the heavy lifting on the protocol generation and plumbing.

Features: SHM buffer rendering, internal/external scaling via
viewporter, xkbcommon keyboard layout support, clipboard copy/paste,
window icon (xdg-toplevel-icon-v1), cursor shape theming, server-side
decoration negotiation, Alt+drag window move for CSD mode, and HiDPI
double-scaling prevention. Optional protocols degrade gracefully.

Runtime dlopen of libwayland-client, libwayland-cursor, and libxkbcommon
(no link-time dependencies). Protocol code pre-generated by
wayland-scanner and combined into wl_proto.[ch]  no build-time scanner
dependency. Auto-detected via pkg-config; disable with WITHOUT_WAYLAND.

Preferred over X11 in AUTO mode on Unix. Select explicitly with -IY.

Co-Authored-By: Claude Opus 4.6 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]