Waylandの実装メモ
WaylandでCompositorを実装したかったのに関数のドキュメントがちょくちょく整備されてない しょうがないので読んで自分でまとめる
wayland-client
wayland-server
wl_display_add_socket_auto(display)
なにがautoやねん
display "wayland-0" から "wayland-31" まで逐次見ていって、ロックされていなければそれを返す
compositorのinitで呼ばれがち
wl_display_add_socket(display, name)
wl_display_run(display)
フラグが0になるまでwhileループでreturnしない
wl_resource→clientがもつ変数
しかしserverが発行している? wayland-server.c/bind-display()
wl_global→serverがもつ変数、clientからbindして使える
wl_compositor_interface
client →?
server → implementationとしてstruct wl_compositor_interface ?
struct wl_interface構造体のwl_compositor_interfaceもある
定義が不明瞭だが、wayland-scannerで生成されている(reading/wayland/src/example-code.c)