This adds support for VOCTRL_GET_CLIPBOARD which makes the VO clipboard backend be able to get clipboard content for Wayland.
Unified · Split
| @@ -3021,6 +3021,15 @@ int vo_wayland_control(struct vo *vo, int *events, int request, void *arg) · 3020 unmodified lines | ||
| 3021 | 3021 | return set_screensaver_inhibitor(wl, true); |
| 3022 | 3022 | case VOCTRL_RESTORE_SCREENSAVER: |
| 3023 | 3023 | return set_screensaver_inhibitor(wl, false); |
| 3024 | + case VOCTRL_GET_CLIPBOARD: { | |
| 3025 | + struct voctrl_clipboard *vc = arg; | |
| 3026 | + // TODO: add primary selection support | |
| 3027 | + if (vc->params.target != CLIPBOARD_TARGET_CLIPBOARD || vc->params.type != CLIPBOARD_DATA_TEXT) | |
| 3028 | + return VO_NOTAVAIL; | |
| 3029 | + vc->data.type = CLIPBOARD_DATA_TEXT; | |
| 3030 | + vc->data.u.text = bstrto0(vc->talloc_ctx, wl->selection_text); | |
| 3031 | + return VO_TRUE; | |
| 3032 | + } | |
| 3024 | 3033 | } |
| 3025 | 3034 | |
| 3026 | 3035 | return VO_NOTIMPL; |