I'll try to sum up the current status:
- The PR needs more testing, for technical validation
- We all agree that getting and setting clipboard data must be tied to a sf::Window
- We all agree that only text data is relevant -- let's keep image data for later
About the API, I'm still in favor of
sf::Clipboard::setData(string, window);
string = sf::Clipboard::getData(window);
Instead of
window.setClipboardData(string);
string = window.getClipboardData();
Technically it's completely equivalent, but I prefer this design because:
1. it emphasizes the clipboard, then the data; the window, while still being mandatory, is just an argument
2. it doesn't give the false impression that each window has different clipboard data; instead it focuses on the global nature of this data
3. instead of adding more and more functions to the sf::Window class, this new functionality is kept separated in its own class, which makes maintenance and evolution easier
I can live with the other implementation though, if more people prefer it, or if technical limitations make it the only possible design.