
Initial_x // This should be called when user first touch the screen
pointer_started // create a red dot on screen at initial position (x,y). implemented, and format hasn't yet been defined.Īs of gsoc2013, these commands are extended to the existing protocol, since server-end are tolerant with unknown commands, these extensions doesn't break backward compatibility Colour the screen will show (default: black). Presentation_resume // Resumes after a presentation_blank_screen. (This is to allow for cases such as multiple clients requesting different changes, etc.)Īny lines in are optional, and should be omitted if not needed. All changes will be signalled back to the client. The client should not assume that the state of the server has changed when aĬommand has been sent. Request mechanism implemented.) Commands (Client to Server) (This should be changed to prevent memory issues, and a preview The current server implementation then proceeds to send all slide notes and previews Or slideshow_finished if no slideshow is running. Subsequently the server will send either slideshow_started if a slideshow is running, "LO_SERVER_SERVER_PAIRED\n\n" is sent over the stream.) Once connected the server sends "LO_SERVER_SERVER_PAIRED". New-line) is reached to allow for future protocol extension. You must keep reading a message until an empty line (i.e. "MESSAGE\n\n" or "MESSAGE\nDATA\nDATA2.\n\n" The first line is the message description,įurther lines can add any necessary data. Message FormatĪ message consists of one or more lines. Written, but the actual message protocol is the same as for Bluetooth.
More TCP-specific details on setup and initial handshake to be (Using RTL_TEXTENCODING_UTF8 in the LibreOffice portion.) TCP LibreOffice Impress Remote Protocol SpecificationĬommunication is over a UTF-8 encoded character stream. You must enable this "remote control" feeature in the app. You send a message using Python to Impress ( that is listening in some port ), it receives the message and does things based on your request. Instead of libraries or APIs, Im using a socket to connect to Impress and control it.Īt the end of the post you can read the full-text that indicates how to control Impress this way. Responding to your comment: You need to add the following towards the bottom of the code,ĭid you try running the impress-code-highlighter example? def do_runSlideShow(*args):įinally, I found a way to solve this using Python, in an elegant and easy way. Print("isRunning() = %s" % presentation_controller.isRunning())
Presentation_controller = presentation.getController() Here is some code to do this, using the doc variable from the other example: def runSlideShow(doc): Then, to control the presentation you will need to use XPresentation2 and XSlideShowController. The answer from describes how to connect to a presentation file, which is the first part of your question.