cdown / clipmenu

Clipboard management using dmenu
MIT License
1.1k stars 90 forks source link

Add image support #196

Open shasherazi opened 1 year ago

shasherazi commented 1 year ago

It would be better if I could see my copied images in clipmenu too. Since it is not a graphical program, this might be a bit tricky, I think. We can use some sort of indicator, at least, for image items in clipmenu maybe?

zefr0x commented 1 year ago

When you copy an image, you are not coping it in reality. It will not be copied tell you paste it.

This is the default behavior of text also when you are not using a clipboard manager. If you closed the application that you copied the thing from before pasting the thing, you will not be able to past it, because you can no longer request the application to copy the thing.

The clipboard manager will make this easier and user friendly by running in the background and coping every thing by it self to it's memory, so when you request something, you will request the clipboard manager (that is always running), not the application that you copied from. This will enable you to past things even after closing an application.

As I can see, the problem is not just thet clipmenu is not displaying images, but it is not saving anything other then text. The problem with images and other files that they might be very huge in size, and that there are a lot of file types, so usually clipboard managers will not save them or might set a size limit for them.

I don't know what do the maintainer of the project think, but I think that this will make the project a little bit complex.

Maybe it is possible to just copy the request data without coping the image by it self. But now we will also need to monitor every application to see if images are still accessible or we need to delete them from the list. I can see how can this be more and more complex.

zefr0x commented 1 year ago

Related issue: #130

cdown commented 4 months ago

I considered this for the C rewrite in 70cc5d2b6a2027ba186f1555c0e114c53dc7c578 and in the end decided to not add features for now, but it is certainly possible. What's needed: