Puede comunicarse con el portapapeles utilizando xclip. Puede utilizar este script de python aquí para hacer este trabajo comunicándose con 'dcop' y 'klipper' here. Eso es para KDE, no sé cómo se haría bajo GNOME ... También puedes hacerlo independientemente de GNOME/KDE usando DBUS, aunque tampoco puedo decir con seguridad al 100% sobre eso tampoco ...
Tenga en cuenta que para un trabajo verdaderamente multiplataforma, debe tener en cuenta las diferentes GUI, como en Linux, X es la interfaz principal del administrador de ventanas y GNOME/KDE se encuentra encima de ella. .No estoy seleccionando otras GUI como FluxBox, WindowMaker por nombrar solo algunas, y que habrá una gran cantidad de código dependiente de la plataforma, y también en conjunto, también tratará con el portapapeles de Windows ... en definitiva , un gran código integrado ...
¿No ha considerado mirar la API de programación X sin procesar para el soporte del portapapeles?Tal vez eso podría ser mejor como me imagino, GNOME/KDE, etc. están utilizando la API de X para hacer el trabajo del portapapeles ... si eso se confirma, entonces el trabajo se cortaría y sería independiente de las principales interfaces GUI ... (Espero que ese sea el caso, ya que haría la vida más fácil para su proyecto!)
Quizás usando interruptores en tiempo de compilación, para cada plataforma ... WIN, KDE, GNOME, MAC o use el que ya está predefinida ..
Espero que esto ayude, saludos cordiales, Tom .
Heh, gracias por el consejo sobre Macs :). Nunca he usado uno (bueno, una vez, pero solo para la edición de videos). Espero que el mantenedor del puerto Mac pueda evitar esto: D. Ah, y en Linux, copie simplemente resaltando el texto: D. – mingos
@mingos Tenga en cuenta que Linux puede tener varios portapapeles. Existe el portapapeles "resaltar texto" proporcionado por el servidor X, y luego el entorno de escritorio (KDE, Gnome, etc.) puede proporcionar su propio portapapeles Ctrl + C, que puede o no compartir contenidos con el portapapeles X. –
Creo que confiar en el portapapeles X es la mejor manera de hacerlo en mi caso, ya que * debería * requerir una implementación única para KDE, Gnome, XFCE y todo eso ... al menos eso creo ... – mingos