hluk / CopyQ

Clipboard manager with advanced features
GNU General Public License v3.0
8.76k stars 445 forks source link

wl-copy in wsl no longer displays in clipboard history on copyq version 9.0.0 #2765

Closed pbrehm closed 3 months ago

pbrehm commented 4 months ago

Describe the bug When I upgraded to copyq 9.0.0 I noticed that copyq was no longer receiving clipboard information that was sent to it via wl-copy.

To Reproduce Install 9.0.0 version of copyq on windows 10. Run the command "wl-copy testing123" in the command prompt for wls2 distro. Note that the string "testing123" is not added to the copy history. You can still paste it via CTRL-c in windows. But the value cannot be pasted via copyq. When investigating, I noticed that the clipboard content is labeled as

 <EMPTY>

When I downgraded back to 8.0.0 this issue was no longer present.

Expected behavior When I use wl-copy in my wsl distro I expect this value to be added to my clipboard and be present in my history.

Screenshots History at start. image

Execute wl-copy command image

Observe it is not been added to history. image

Version, OS and Environment copyq version 9.0.0 WSL version: 2.0.1.0 Kernel version: 5.15.123.1-1 WSLg version: 1.0.58 MSRDC version: 1.2.4485 Direct3D version: 1.608.2-61064218 DXCore version: 10.0.25880.1000-230602-1350.main Windows version: 10.0.19045.4291 Ubuntu 22.04.4 LTS Windows 10 Enterprise Vserion 22H2 build 19045.4291

Additional context N/A

hluk commented 3 months ago

I'm not familiar with wl-copy thought there is a command with the same name on Linux in Wayland session which works well.

Can you check if CopyQ even see the new clipboard content (using "File - Show Clipboard Content" - Ctrl+Shift+C)?

pbrehm commented 3 months ago

Here is the result when run with 9.0.0. image

Here is the result when run with 8.0.0. image

I am talking about the wayland command. Except In this case it the ws-copy command is being used in the ubuntu WSL2 with wslg. This shares the clipboard contents from the virtual machine to the windows host machine.

hluk commented 3 months ago

CopyQ 9.0.0 no longer stores (and not even shows) the clipboard on Windows if it contains at least one of the following formats (set to specific value):

See details here: https://learn.microsoft.com/en-us/windows/win32/dataxchg/clipboard-formats#cloud-clipboard-and-clipboard-history-formats

From the screenshot, I assume wl-copy sets some of these values.

BTW, you can add the copied value to CopyQ with copyq add TEXT or even copy it with copyq copy TEXT.

pbrehm commented 3 months ago

Thanks for the insight @hluk . Sounds like this is by design and explains why it works in 8.0.0 and not 9.0.0.

To elaborate on my use case. I use neovim and have wl-copy setup to share my clipboard from neovim in wsl to my windows clipboard.

Hopefully if anyone else runs into this they can see that they either can downgrade to 8.0.0 or determine some way to configure wl-copy to exclude these formats.

Thanks again for sharing these details!