Base Protocol

MetaVNC uses the protocol extension mechanism adopted by TightVNC beta version (VNC protocol 3.7t). MetaVNC is supposed to talk with any kind of vnc programs that support protocol 3.3, 3.7, and 3.7t.

MetaVNC extensions

MetaVNC uses unofficial messages types from 40 to 49. MetaVNC also uses unofficial encoding type 0xFFFFFF27. These extensions are not used unless both a server and a client agree to use these extensions by comparing both capability lists with VNC protocol 3.7t.

Transparent Region

This message sends updates of the transparent region by sending increment and decrement of the region. If incremental update is requested, only the differences will be sent. If non-incremental update is requested, all regions will be sent. (See 'rfbproto.h', Transparent Rectangulars Encoding.)

Window Control

This message enables a client to control servers windows. (See 'rfbproto.h', rfbWindowControlMsg?.)

  • rfbWindowControlNone?
    Request a server to refresh the state of windows and launchers. The server will resend all the states of windows and launchers.
  • rfbWindowControlLaunch?
    Launch an application specified by given id.
  • rfbWindowControlClose?
    Close a window specified by given id.
  • rfbWindowControlRestore?
    Unminimize or unmaximize a window specified by given id.
  • rfbWindowControlMinimize?
    Minimize a window specified by given id.
  • rfbWindowControlMaximize?
    Maximize a window specified by given id.
  • rfbWindowControlSetFocus? (version 0.6.0 or later)
    Change the focus to a window specified by given id. If id equals to zero, all windows lose the focus.

Window State

This message enables a server to tell menu items and changes of servers states. (See 'rfbproto.h', rfbWindowStateMsg?.)

  • rfbWindowStateClosed?
    A window with given id was closed.
  • rfbWindowStateRunning?
    A window with given id is running.
  • rfbWindowStateMinimized?
    A window with given id is minimized.
  • rfbWindowStateMaximized?
    A window with given id is maximized.
  • rfbWindowStateFocused? (version 0.6.0 or later)
    A window with given id has focus. If id equals to zero, all windows have lost the focus. Windows do not notify if it loses the focus, because it is obvious that a window gain focus means another window loses focus.
  • rfbWindowStateUnknown?
    This means the windows state and launchers state are unknown. Clients will clear its state of windows and launchers. (id is not used)
  • rfbWindowStateLauncher?
    Launcher item and its id which is legacy style (not freedesktop.org style)

Server Data Request (version 0.5.0 or later)

This message is used to request data from client to server. Currently, this is used to send locale and icon preference to servers. (See 'rfbproto.h', rfbServerDataReqMsg?.) Followings can be used as 'dataType'

  • rfbServerDataMenuPref?
    Specify the client preference of launcher menu (locale)
    After the server received this message, server will send menu items in specified locale.
  • rfbServerDataIconPref?
    Specify the client preference of icons (BPP, size, image type)
    After the server received this message, server will send icons in specified format.

Server Data (version 0.5.0 or later)

This message is used to transfer data from server to client. Currently, this is used to send icons and freedesktop.org style menu items. (See 'rfbproto.h', rfbServerDataMsg?.)

Followings can be used as 'dataType'

  • rfbServerDataMenuItem?
    Send menu item and its id ("Desktop-File Id" followed by part of freedesktop.org desktop entry) Only the strings that matches specified locale will be sent.
  • rfbServerDataMenuIcon?
    Send icon image and its id.
  • rfbServerDataWindowIcon?
    Send icon image and its id.

Remote Key Focus Control (version 0.2.6 or later)

This message (message type 49) enables a client to control servers key focus. This feature makes users easy to recognize where the key focus is in their desktop when they are merging several desktops. If a server is shared, this feature should be disabled. (See 'rfbproto.h', rfbKeyFocusMsg?.)

Saving Client State (obsolete)

The message type 40 and 41 was used to store/resume states of a client in old versions of MetaVNC.

Child Servers

The MetaVNC has a feature for a server to advertise its children (related servers) (message type 45). This extension intend to create a group of servers. The details are T.B.D.


Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2007-07-28 (Sat) 02:01:28 (3527d)