Support an UltraVNC function: "Toggle Remote Input and Remote Blank Monitor (On/Off)"

Bug #1350973 reported by Alexandre Magno
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gtk-vnc (Ubuntu)
New
Undecided
Unassigned
vinagre (Ubuntu)
New
Undecided
Unassigned

Bug Description

See images.

The server gets a "big eye" as static screensaver, in some configurations (operational system + setted options). For more details, see the two last files that are listed at comment #8 below.

THIS IS A PROPOSAL fo a new feature. Perhaps affects:

- vinagre: /plugins/vnc/vinagre-vnc-plugin.c
- gtk-vnc: /src/vncconnection.c

See from to vinagre_vnc_tab_set_viewonly (line 946) in vinagre-vnc-tab.c

Revision history for this message
Alexandre Magno (alexandre-mbm) wrote :
Revision history for this message
Alexandre Magno (alexandre-mbm) wrote :
Revision history for this message
Alexandre Magno (alexandre-mbm) wrote :

Study from "ultravnc-code/UltraVNC Project Root/UltraVNC/vncviewer/ClientConnection.cpp".

Line 931:
  ti.lpszText = (LPSTR) szTips[id++];

szTips[1] ← sz_L3 ← IDS_L3 ← "Toggle Remote Input and Remote Blank Monitor (On/Off)"

Revision history for this message
Alexandre Magno (alexandre-mbm) wrote :

I don't know to interpret C++ code but seems that the actions are in:

Line 6741:
  case ID_DINPUT:

Or line 6876:
  case ID_VIEWONLYTOGGLE:

I am assuming it is in (from) this first block refered above. Beacuse the line 854:
  buttonmap=IDB_BITMAPlx;

Considering this, it is especially important the line 5412:
  m_remote_mouse_disable = (value == rfbServerState_Disabled) ? true : false;

Revision history for this message
Alexandre Magno (alexandre-mbm) wrote :

The answer is in the lines 4781-4792:

bool ClientConnection::SendServerInput(BOOL enabled)
{
    rfbSetServerInputMsg sim;
    int len = 0;

    sim.type = rfbSetServerInput;
    sim.status = enabled;

    WriteExact((char*)&sim, sz_rfbSetServerInputMsg, rfbSetServerInput);

    return true;
}

Revision history for this message
Alexandre Magno (alexandre-mbm) wrote :

For study the UltraVNC's code:

$ sudo apt-get install subversion
$ svn checkout svn://svn.code.sf.net/p/ultravnc/code/ ultravnc-code
$ cd ultravnc-code
$ clear; grep -n -r "SEARCH_KEY" ./ | grep -v -e '\/.svn\/' -e '\/translations\/' -e '\/old\/'

SEARCH_KEY examples: "ID_DINPUT", "rfbSetServerInput"

Interesting files:

- ultravnc-code/UltraVNC Project Root/UltraVNC/vncviewer/ClientConnection.cpp
- ultravnc-code/UltraVNC Project Root/UltraVNC/winvnc/winvnc/vncclient.cpp
- ultravnc-code/UltraVNC Project Root/UltraVNC/rfb/rfbproto.h
- ultravnc-code/UltraVNC Project Root/UltraVNC/winvnc/winvnc/vncdesktop.cpp
- ultravnc-code/UltraVNC Project Root/UltraVNC/winvnc/winvnc/blankmonitor.cpp

description: updated
description: updated
description: updated
summary: - More compatibility with the UltraVNC function "Toggle Remote Input and
- Remote Blank Monitor (On/Off)"
+ Support an UltraVNC function: "Toggle Remote Input and Remote Blank
+ Monitor (On/Off)"
Revision history for this message
Alexandre Magno (alexandre-mbm) wrote :

See https://github.com/jwendell/gtk-vnc/issues/1

An other client don't resolves my problem because the UltraVNC's code manages the requests per client, then only remains for me to add the feature to gtk-vnc and vinagre, if I don't want to change the UltraVNC.

description: updated
description: updated
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.