Check for SETOPTION packets
Groundwork for figuring out how to do clipboard sync
Dummy clipboard sync test: send "Hello, world!" as clipboard content when sync enabled
Merge branch 'master' into clipboard
Disable clipboardsync text test
DumpClipboard function based on GPL xclip code.
Not hooked up to interface. Requires additional libraries (libXmu & maybe libXt). #9
uncrustify xclib indentation
Wrapped DumpClipboard in new XClipboardInterface class
Hooked up quick send clipboard to client code
(temporarily trigged by three finger tap gesture)
XClipboardInterface retains a copy of latest clip
Remove temp clip-get gesture
Factor 3 instances of command calls into 1 func
Gestures, hotkeys, and extra mouse button commands.
Added .GetCStr() method to XClipboardInterface
Crowbarred clipboard sync into InvokeCommand
The special command value SYNC_CLIPBOARD causes the server to send host clipboard content to the client (rather than execute with system()).
Although the server receives notification of the client's clipboard sync settings, it always sends content; relies on client to ignore or accept as appropriate.
So, in lieue of "listening" for clipboard changes or intermittently polling clipboard state, this leaves it up to the client user to control when to pull clipboard content from the host. The SYNC_CLIPBOARD command can be defined for any command in mmserver.conf: keyboard hotkeys, mouse hotkeys, or gestures.
Only text clipboard content is supported.
There is a not-very-large untested upper limit on the length of strings that can be returned (mainly do to reuse of derpy arbitrary 'm[1024]' packet string creation)
Mention SYNC_CLIPBOARD special command in config template
Expanded comment notes on clipboard getter
Deleted disabled clipboard update event test code
Ensure long (truncated) clipboard text is properly terminated
(without the expected "end of message" marker byte, the client will ignore the update; now, even if the clipboard content is truncated to fit the message buffer, it will at least still be readable to the client.)
Allocate clipboard update string dynamically to support arbitrary-length content
Mention clipboard sync in Readme
Add libXmu and libXt (needed for clipboard) to Fedora buildeps
Untested!