diff options
| author | srdusr <[email protected]> | 2024-04-05 16:24:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2024-04-05 16:24:00 +0200 |
| commit | 592bd3716c0aa5a47a5eb43f45f55844de9db382 (patch) | |
| tree | d574766088fed32728ff22716689c84011003da9 /crates | |
| parent | 2083ca7c88bc3e4b52ec68af384f334be1da2141 (diff) | |
| download | srdwm-592bd3716c0aa5a47a5eb43f45f55844de9db382.tar.gz srdwm-592bd3716c0aa5a47a5eb43f45f55844de9db382.zip | |
Track the daily-driver blockers for srdwm-wayland as TODOs
layer-shell, clipboard (wl_data_device_manager), session-lock, and
udev-backend multi-monitor support are the gaps identified when deciding
srdwm isn't ready to add to a session picker yet - recorded in
docs/IMPLEMENTATION_STATUS.md's "Not implemented anywhere yet" section
and as inline TODOs at the relevant code (CompState's delegate_*! list,
udev.rs's find_connected_output).
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/wayland/src/lib.rs | 9 | ||||
| -rw-r--r-- | crates/wayland/src/udev.rs | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/crates/wayland/src/lib.rs b/crates/wayland/src/lib.rs index 507102e..fa56517 100644 --- a/crates/wayland/src/lib.rs +++ b/crates/wayland/src/lib.rs @@ -309,6 +309,15 @@ delegate_xdg_decoration!(CompState); delegate_shm!(CompState); delegate_seat!(CompState); delegate_output!(CompState); +// TODO: delegate_layer_shell! (wlr-layer-shell-unstable-v1) - bars, +// launchers, notification daemons, and lock-screen UIs are layer +// surfaces, not xdg_toplevels; none of them can run under srdwm without +// this. See docs/IMPLEMENTATION_STATUS.md's "Not implemented anywhere +// yet" section. +// TODO: delegate_data_device! (wl_data_device_manager) - no clipboard/ +// drag-and-drop between Wayland clients without it. +// TODO: session-lock (ext-session-lock-v1) - no way for a lock-screen +// client to actually lock input/display without it. pub struct WaylandPlatform { display: Display<CompState>, diff --git a/crates/wayland/src/udev.rs b/crates/wayland/src/udev.rs index c0e2f89..dcd5f76 100644 --- a/crates/wayland/src/udev.rs +++ b/crates/wayland/src/udev.rs @@ -331,6 +331,9 @@ fn mode_refresh_mhz(mode: &DrmMode) -> i32 { } } +// TODO: multi-monitor - returns only the first connected connector; no +// hotplug, no independent per-output layout. See +// docs/IMPLEMENTATION_STATUS.md's "Not implemented anywhere yet" section. fn find_connected_output(card: &Card) -> PlatformResult<(crtc::Handle, connector::Handle, DrmMode)> { let res = card.resource_handles().map_err(err)?; let connectors: Vec<connector::Info> = res.connectors().iter().flat_map(|&h| card.get_connector(h, true)).collect(); |