taskGNUstep - Tasks: task #11595, Integrate pasteboard service into...


You are not allowed to post comments on this tracker with your current authentication level.

task #11595: Integrate pasteboard service into the backend so that GPBS is no longer needed...

Submitted by:  Gregory John Casamento <gcasa>
Submitted on:  Wed 16 Nov 2011 12:55:17 PM UTC  
Votes:  5  
Category:  None Should Start On:  Wed 16 Nov 2011 05:00:00 AM UTC
Should be Finished on:  Wed 16 Nov 2011 05:00:00 AM UTC Priority:  5 - Normal
Status:  None Privacy:  Public
Percent Complete:  0% Assigned to:  Gregory John Casamento <gcasa>
Open/Closed:  Open Effort:  0.00

Wed 16 Nov 2011 07:19:55 PM UTC, comment #1: 

Hi Greg, sounds good.

Doing this should be seamless and easy on X11, and should allow us to fix drag and drop between X apps and gnustep. I read most of the xpbs code a few months ago so let me know if I can help explain anything.

On Windows, AFAIK you can't create arbitrary pasteboards like on X11 - there is just the clipboard and the drag&drop system. So if we want to implement the find panel pasteboard, ruler pasteboard, etc., we need to provide it ourselves.

GSDisplayServer could have an API like: (BOOL) -supportsNativePasteboardWithName: (NSString*)pBoardName;  x11 would always return YES since you can create pasteboards with any name, win32 would return YES for NSGeneralPboard and NSDragPboard, and NO for any other name. The actual pasteboard code would be integrated with the event loop in XGServerEvent, and would somehow pass the event on to NSPasteboard.

One idea I had is that NSPasteboard could fall back to writing to a file for implementing unsupported pasteboards - say you copy a ruler in Ink on Windows; we could just dump the data to a file like ~/GNUstep/Library/Pasteboards/NSRulerPBoard.   of course we could just use gpbs, but I'm not a big fan of it - I found the code hard to understand - and it's ugly to have to start up background processes, especially on Windows (can interfere with upgrading GS, possibly interfere with ejecting a USB stick which a GS app was launched from (?), etc.)

Eric Wasylishen <ericw>
Project Member
Wed 16 Nov 2011 12:55:17 PM UTC, original submission:  

Integrate pasteboard service into the backend so that GPBS is no longer needed.

This was discussed on the list a while back.

Right now I am interested in doing this since the guys at TestPlant are having issues with the pasteboard service losing some data. 

In general, though, It would be nice if we could integrate directly with the pasteboard service so that issues like this are less likely to take place.   The gpbs process may still be used on some systems which don't have their own pasteboard or have bad pasteboard support.

Gregory John Casamento <gcasa>
Project AdministratorIn charge of this item.


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by awiebe (Voted in favor of this item)
  • -email is unavailable- added by ericw (Posted a comment)
  • -email is unavailable- added by gcasa (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 5 encouragements so far.

    Only logged-in users can vote.




    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-07-16 awiebe Carbon-Copy- => Added awiebe
    2011-11-16 gcasa Assigned toNone => gcasa

    Back to the top

    Powered by Savane 3.7