SUMMARY As title, wl-copy from wl-clipboard-rs no longer works with KWin 6.5.1. It worked correctly in KWin 6.5.0 according to the comment here https://github.com/bugaevc/wl-clipboard/issues/268#issuecomment-3386159882. But after I upgraded KDE Plasma from 6.4.5 to 6.5.1, clipboard copying stopped functioning. STEPS TO REPRODUCE 1. Install wl-copy from wl-clipboard-rs 2. Run the following command `wl-copy < some_text.txt` in the terminal 3. Check the clipboard widget in the panel OBSERVED RESULT The copied text does not appear in the clipboard widget, and cannot be pasted into other applications. EXPECTED RESULT Text copied using wl-copy should appear in the clipboard widget and be available for pasting into other applications. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.5.1 KDE Frameworks Version: 6.19.0 Qt Version: 6.10.0 Kernel Version: 6.16.10-arch1-1-cjktty (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 5800H with Radeon Graphics Memory: 16 GiB of RAM (13.5 GiB usable) Graphics Processor: AMD Radeon Graphics ADDITIONAL INFORMATION Here is the screen record of the situation: https://youtu.be/0vRpUBa7OkU
Here is the log when `WAYLAND_DEBUG=1` set ``` [4108898.484][rs] -> wl_display@1.get_registry(wl_registry@2) [4108898.514][rs] -> wl_display@1.sync(wl_callback@3) [4108901.237][rs] <- wl_registry@2.global, (1, Some("wl_compositor"), 6) [4108901.312][rs] <- wl_registry@2.global, (3, Some("zwp_tablet_manager_v2"), 2) [4108901.401][rs] <- wl_registry@2.global, (4, Some("zwp_keyboard_shortcuts_inhibit_manager_v1"), 1) [4108901.482][rs] <- wl_registry@2.global, (5, Some("zxdg_decoration_manager_v1"), 1) [4108901.545][rs] <- wl_registry@2.global, (6, Some("wp_viewporter"), 1) [4108901.598][rs] <- wl_registry@2.global, (7, Some("wp_security_context_manager_v1"), 1) [4108901.666][rs] <- wl_registry@2.global, (8, Some("wp_fractional_scale_manager_v1"), 1) [4108901.738][rs] <- wl_registry@2.global, (9, Some("wl_shm"), 2) [4108901.775][rs] <- wl_registry@2.global, (10, Some("wl_seat"), 10) [4108901.831][rs] <- wl_registry@2.global, (11, Some("zwp_pointer_gestures_v1"), 3) [4108901.890][rs] <- wl_registry@2.global, (12, Some("zwp_pointer_constraints_v1"), 1) [4108901.957][rs] <- wl_registry@2.global, (13, Some("zwp_relative_pointer_manager_v1"), 1) [4108902.047][rs] <- wl_registry@2.global, (14, Some("wl_data_device_manager"), 3) [4108902.121][rs] <- wl_registry@2.global, (15, Some("ext_data_control_manager_v1"), 1) [4108902.205][rs] <- wl_registry@2.global, (16, Some("wp_cursor_shape_manager_v1"), 2) [4108902.286][rs] <- wl_registry@2.global, (17, Some("zwp_primary_selection_device_manager_v1"), 1) [4108902.395][rs] <- wl_registry@2.global, (18, Some("org_kde_kwin_idle"), 1) [4108902.473][rs] <- wl_registry@2.global, (19, Some("zwp_idle_inhibit_manager_v1"), 1) [4108902.555][rs] <- wl_registry@2.global, (20, Some("ext_idle_notifier_v1"), 2) [4108902.620][rs] <- wl_registry@2.global, (21, Some("org_kde_plasma_shell"), 8) [4108902.697][rs] <- wl_registry@2.global, (22, Some("org_kde_kwin_appmenu_manager"), 2) [4108902.779][rs] <- wl_registry@2.global, (23, Some("org_kde_kwin_server_decoration_palette_manager"), 1) [4108902.905][rs] <- wl_registry@2.global, (25, Some("org_kde_plasma_virtual_desktop_management"), 3) [4108903.022][rs] <- wl_registry@2.global, (27, Some("org_kde_kwin_shadow_manager"), 2) [4108903.105][rs] <- wl_registry@2.global, (28, Some("org_kde_kwin_dpms_manager"), 1) [4108903.188][rs] <- wl_registry@2.global, (29, Some("org_kde_kwin_server_decoration_manager"), 1) [4108903.279][rs] <- wl_registry@2.global, (30, Some("kde_output_management_v2"), 16) [4108903.366][rs] <- wl_registry@2.global, (31, Some("zxdg_output_manager_v1"), 3) [4108903.427][rs] <- wl_registry@2.global, (32, Some("wl_subcompositor"), 1) [4108903.487][rs] <- wl_registry@2.global, (33, Some("zxdg_exporter_v2"), 1) [4108903.558][rs] <- wl_registry@2.global, (34, Some("zxdg_importer_v2"), 1) [4108903.622][rs] <- wl_registry@2.global, (37, Some("xdg_activation_v1"), 1) [4108903.676][rs] <- wl_registry@2.global, (39, Some("wp_content_type_manager_v1"), 1) [4108903.758][rs] <- wl_registry@2.global, (40, Some("wp_tearing_control_manager_v1"), 1) [4108903.851][rs] <- wl_registry@2.global, (41, Some("xdg_toplevel_drag_manager_v1"), 1) [4108903.930][rs] <- wl_registry@2.global, (42, Some("xdg_toplevel_icon_manager_v1"), 1) [4108904.019][rs] <- wl_registry@2.global, (43, Some("kde_screen_edge_manager_v1"), 1) [4108904.107][rs] <- wl_registry@2.global, (44, Some("frog_color_management_factory_v1"), 1) [4108904.197][rs] <- wl_registry@2.global, (45, Some("wp_presentation"), 2) [4108904.258][rs] <- wl_registry@2.global, (46, Some("wp_color_manager_v1"), 1) [4108904.322][rs] <- wl_registry@2.global, (47, Some("xdg_wm_dialog_v1"), 1) [4108904.374][rs] <- wl_registry@2.global, (48, Some("kde_external_brightness_v1"), 3) [4108904.470][rs] <- wl_registry@2.global, (49, Some("wp_alpha_modifier_v1"), 1) [4108904.535][rs] <- wl_registry@2.global, (50, Some("wl_fixes"), 1) [4108904.576][rs] <- wl_registry@2.global, (51, Some("wp_fifo_manager_v1"), 1) [4108904.650][rs] <- wl_registry@2.global, (52, Some("wp_single_pixel_buffer_manager_v1"), 1) [4108904.738][rs] <- wl_registry@2.global, (53, Some("xdg_toplevel_tag_manager_v1"), 1) [4108904.818][rs] <- wl_registry@2.global, (54, Some("wp_color_representation_manager_v1"), 1) [4108904.913][rs] <- wl_registry@2.global, (55, Some("wp_pointer_warp_v1"), 1) [4108904.977][rs] <- wl_registry@2.global, (57, Some("wl_drm"), 2) [4108905.019][rs] <- wl_registry@2.global, (58, Some("zwp_linux_dmabuf_v1"), 5) [4108905.098][rs] <- wl_registry@2.global, (59, Some("wp_linux_drm_syncobj_manager_v1"), 1) [4108905.178][rs] <- wl_registry@2.global, (61, Some("xdg_wm_base"), 6) [4108905.228][rs] <- wl_registry@2.global, (62, Some("zwlr_layer_shell_v1"), 5) [4108905.298][rs] <- wl_registry@2.global, (64, Some("kde_output_device_v2"), 16) [4108905.353][rs] <- wl_registry@2.global, (65, Some("kde_output_device_v2"), 16) [4108905.416][rs] <- wl_registry@2.global, (66, Some("wl_output"), 4) [4108905.470][rs] <- wl_registry@2.global, (67, Some("wp_drm_lease_device_v1"), 1) [4108905.529][rs] <- wl_registry@2.global, (68, Some("kde_output_order_v1"), 1) [4108905.587][rs] <- wl_registry@2.global, (69, Some("zwp_text_input_manager_v1"), 1) [4108905.668][rs] <- wl_registry@2.global, (70, Some("zwp_text_input_manager_v2"), 1) [4108905.757][rs] <- wl_registry@2.global, (71, Some("zwp_text_input_manager_v3"), 1) [4108905.821][rs] <- wl_registry@2.global, (73, Some("org_kde_kwin_blur_manager"), 1) [4108905.916][rs] <- wl_registry@2.global, (74, Some("org_kde_kwin_slide_manager"), 1) [4108906.001][rs] <- wl_registry@2.global, (75, Some("xdg_system_bell_v1"), 1) [4108906.080][rs] <- wl_callback@3.done, (349094) [4108906.098][rs] <- wl_display@1.delete_id, (3) [4108906.132][rs] -> wl_registry@2.bind(15, Some("ext_data_control_manager_v1"), 1, ext_data_control_manager_v1@3) [4108906.232][rs] -> wl_registry@2.bind(10, Some("wl_seat"), 2, wl_seat@4) [4108906.288][rs] -> ext_data_control_manager_v1@3.get_data_device(ext_data_control_device_v1@5, wl_seat@4) [4108906.324][rs] -> wl_display@1.sync(wl_callback@6) [4108906.408][rs] <- wl_seat@4.name, (Some("seat0")) [4108906.440][rs] <- wl_seat@4.capabilities, (3) [4108906.466][rs] <- ext_data_control_device_v1@5.data_offer, (ext_data_control_offer_v1@4278190080) [4108906.500][rs] <- ext_data_control_offer_v1@4278190080.offer, (Some("application/mbox")) [4108906.555][rs] <- ext_data_control_device_v1@5.selection, (ext_data_control_offer_v1@4278190080) [4108906.580][rs] <- ext_data_control_device_v1@5.data_offer, (ext_data_control_offer_v1@4278190081) [4108906.602][rs] <- ext_data_control_offer_v1@4278190081.offer, (Some("STRING")) [4108906.651][rs] <- ext_data_control_offer_v1@4278190081.offer, (Some("TEXT")) [4108906.687][rs] <- ext_data_control_offer_v1@4278190081.offer, (Some("UTF8_STRING")) [4108906.737][rs] <- ext_data_control_offer_v1@4278190081.offer, (Some("text/plain")) [4108906.774][rs] <- ext_data_control_offer_v1@4278190081.offer, (Some("text/plain;charset=utf-8")) [4108906.860][rs] <- ext_data_control_offer_v1@4278190081.offer, (Some("text/plain;charset=utf-8")) [4108906.915][rs] <- ext_data_control_device_v1@5.primary_selection, (ext_data_control_offer_v1@4278190081) [4108906.944][rs] <- wl_callback@6.done, (349094) [4108906.964][rs] <- wl_display@1.delete_id, (6) [4108906.987][rs] -> ext_data_control_offer_v1@4278190080.destroy() [4108907.008][rs] -> ext_data_control_offer_v1@4278190081.destroy() [4108908.141][rs] -> ext_data_control_manager_v1@3.create_data_source(ext_data_control_source_v1@6) [4108908.175][rs] -> ext_data_control_source_v1@6.offer(Some("application/mbox")) [4108908.228][rs] -> ext_data_control_device_v1@5.set_selection(ext_data_control_source_v1@6) [4108908[.597][rs] <- 4108908ext_data_control_source_v1.602@][rs]6 <- .ext_data_control_device_v1cancelled@, (5). data_offer, (ext_data_control_offer_v1@[42781900814108908). 630][rs][ <- 4108908ext_data_control_device_v1.@6425][rs]. <- data_offerext_data_control_offer_v1, (@ext_data_control_offer_v14278190081@.4278190081offer), ( Some(["4108908a.p676p][rs]l <- iext_data_control_offer_v1c@a4278190081t.ioffero, (nSome/(m"baopxp"l)i)c at[i4108908o.n733/][rs]m <- bext_data_control_device_v1o@x5".)selection), ( ext_data_control_offer_v1@[42781900814108908). 767][rs] <- ext_data_control_device_v1[@41089085.785][rs] -> ext_data_control_offer_v1.@selection4278190081, (.ext_data_control_offer_v1destroy@(4278190081)) [4108908.835][rs] -> ext_data_control_source_v1@6.destroy() [4108908.860][rs] -> ext_data_control_offer_v1@4278190081.destroy() ```
It appears to be because KWin removed the support for wlr-data-control in 6.5.1, and wl-clipboard-rs requires that to work properly.
That doesn't sound like the reason as I can see ext_data_control in the logs.