Remmina - The GTK+ Remote Desktop Client  v1.4.33
Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported.
gvnc_plugin.c File Reference

Go to the source code of this file.

Enumerations

enum  {
  GVNC_PLUGIN_FEATURE_PREF_VIEWONLY = 1, GVNC_PLUGIN_FEATURE_DYNRESUPDATE, GVNC_PLUGIN_FEATURE_PREF_DISABLECLIPBOARD, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTDEL,
  GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTBACKSPACE, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF1, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF2, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF3,
  GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF4, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF5, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF6, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF7,
  GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF8, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF9, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF10, GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF11,
  GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF12, GVNC_PLUGIN_FEATURE_TOOL_REBOOT, GVNC_PLUGIN_FEATURE_TOOL_RESET, GVNC_PLUGIN_FEATURE_TOOL_SHUTDOWN,
  GVNC_PLUGIN_FEATURE_SCALE
}
 

Functions

gchar * str_replace (const gchar *string, const gchar *search, const gchar *replacement)
 
static void gvnc_plugin_keystroke (RemminaProtocolWidget *gp, const guint keystrokes[], const gint keylen)
 
static void gvnc_plugin_power_ctrl (RemminaProtocolWidget *gp, VncConnectionPowerAction action)
 
static void gvnc_plugin_mouse_grab (GtkWidget *vncdisplay, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_mouse_ungrab (GtkWidget *vncdisplay, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_on_vnc_error (GtkWidget *vncdisplay G_GNUC_UNUSED, const gchar *msg, RemminaProtocolWidget *gp)
 
static gboolean gvnc_plugin_get_screenshot (RemminaProtocolWidget *gp, RemminaPluginScreenshotData *rpsd) __attribute__((unused))
 
void gvnc_plugin_paste_text (RemminaProtocolWidget *gp, const gchar *text)
 
static void gvnc_plugin_clipboard_cb (GtkClipboard *cb, GdkEvent *event, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_clipboard_copy (GtkClipboard *clipboard G_GNUC_UNUSED, GtkSelectionData *data, guint info G_GNUC_UNUSED, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_cut_text (VncDisplay *vnc G_GNUC_UNUSED, const gchar *text, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_desktop_resize (GtkWidget *vncdisplay G_GNUC_UNUSED, int width, int height, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_on_bell (RemminaProtocolWidget *gp)
 
static void gvnc_plugin_update_scale_mode (RemminaProtocolWidget *gp)
 
static gboolean gvnc_plugin_query_feature (RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
 
static void gvnc_plugin_call_feature (RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
 
static void gvnc_plugin_auth_unsupported (VncDisplay *vnc G_GNUC_UNUSED, unsigned int authType, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_auth_failure (VncDisplay *vnc G_GNUC_UNUSED, const gchar *reason, RemminaProtocolWidget *gp)
 
static gboolean gvnc_plugin_ask_auth (GtkWidget *vncdisplay, GValueArray *credList, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_initialized (GtkWidget *vncdisplay, RemminaProtocolWidget *gp)
 
static void gvnc_plugin_disconnected (VncDisplay *vnc G_GNUC_UNUSED, RemminaProtocolWidget *gp)
 
static gboolean gvnc_plugin_close_connection (RemminaProtocolWidget *gp)
 
static void gvnc_plugin_init (RemminaProtocolWidget *gp)
 
static gboolean gvnc_plugin_open_connection (RemminaProtocolWidget *gp)
 
G_MODULE_EXPORT gboolean remmina_plugin_entry (RemminaPluginService *service)
 

Variables

static RemminaPluginServiceremmina_plugin_service = NULL
 
static gpointer colordepth_list []
 
static const RemminaProtocolSetting gvnc_plugin_basic_settings []
 
static const RemminaProtocolSetting gvnc_plugin_advanced_settings []
 
static const RemminaProtocolFeature gvnc_plugin_features []
 
static RemminaProtocolPlugin remmina_plugin
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
GVNC_PLUGIN_FEATURE_PREF_VIEWONLY 
GVNC_PLUGIN_FEATURE_DYNRESUPDATE 
GVNC_PLUGIN_FEATURE_PREF_DISABLECLIPBOARD 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTDEL 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTBACKSPACE 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF1 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF2 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF3 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF4 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF5 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF6 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF7 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF8 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF9 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF10 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF11 
GVNC_PLUGIN_FEATURE_TOOL_SENDCTRLALTF12 
GVNC_PLUGIN_FEATURE_TOOL_REBOOT 
GVNC_PLUGIN_FEATURE_TOOL_RESET 
GVNC_PLUGIN_FEATURE_TOOL_SHUTDOWN 
GVNC_PLUGIN_FEATURE_SCALE 

Definition at line 52 of file gvnc_plugin.c.

Function Documentation

◆ gvnc_plugin_ask_auth()

static gboolean gvnc_plugin_ask_auth ( GtkWidget *  vncdisplay,
GValueArray *  credList,
RemminaProtocolWidget gp 
)
static

Definition at line 494 of file gvnc_plugin.c.

◆ gvnc_plugin_auth_failure()

static void gvnc_plugin_auth_failure ( VncDisplay *vnc  G_GNUC_UNUSED,
const gchar *  reason,
RemminaProtocolWidget gp 
)
static

Definition at line 482 of file gvnc_plugin.c.

◆ gvnc_plugin_auth_unsupported()

static void gvnc_plugin_auth_unsupported ( VncDisplay *vnc  G_GNUC_UNUSED,
unsigned int  authType,
RemminaProtocolWidget gp 
)
static

Definition at line 470 of file gvnc_plugin.c.

◆ gvnc_plugin_call_feature()

static void gvnc_plugin_call_feature ( RemminaProtocolWidget gp,
const RemminaProtocolFeature feature 
)
static

Definition at line 359 of file gvnc_plugin.c.

◆ gvnc_plugin_clipboard_cb()

static void gvnc_plugin_clipboard_cb ( GtkClipboard *  cb,
GdkEvent *  event,
RemminaProtocolWidget gp 
)
static

Definition at line 216 of file gvnc_plugin.c.

◆ gvnc_plugin_clipboard_copy()

static void gvnc_plugin_clipboard_copy ( GtkClipboard *clipboard  G_GNUC_UNUSED,
GtkSelectionData *  data,
guint info  G_GNUC_UNUSED,
RemminaProtocolWidget gp 
)
static

Definition at line 237 of file gvnc_plugin.c.

◆ gvnc_plugin_close_connection()

static gboolean gvnc_plugin_close_connection ( RemminaProtocolWidget gp)
static

Definition at line 662 of file gvnc_plugin.c.

◆ gvnc_plugin_cut_text()

static void gvnc_plugin_cut_text ( VncDisplay *vnc  G_GNUC_UNUSED,
const gchar *  text,
RemminaProtocolWidget gp 
)
static

Definition at line 247 of file gvnc_plugin.c.

◆ gvnc_plugin_desktop_resize()

static void gvnc_plugin_desktop_resize ( GtkWidget *vncdisplay  G_GNUC_UNUSED,
int  width,
int  height,
RemminaProtocolWidget gp 
)
static

Definition at line 284 of file gvnc_plugin.c.

◆ gvnc_plugin_disconnected()

static void gvnc_plugin_disconnected ( VncDisplay *vnc  G_GNUC_UNUSED,
RemminaProtocolWidget gp 
)
static

Definition at line 655 of file gvnc_plugin.c.

◆ gvnc_plugin_get_screenshot()

static gboolean gvnc_plugin_get_screenshot ( RemminaProtocolWidget gp,
RemminaPluginScreenshotData rpsd 
)
static

Definition at line 159 of file gvnc_plugin.c.

◆ gvnc_plugin_init()

static void gvnc_plugin_init ( RemminaProtocolWidget gp)
static

Definition at line 682 of file gvnc_plugin.c.

◆ gvnc_plugin_initialized()

static void gvnc_plugin_initialized ( GtkWidget *  vncdisplay,
RemminaProtocolWidget gp 
)
static

Definition at line 609 of file gvnc_plugin.c.

◆ gvnc_plugin_keystroke()

static void gvnc_plugin_keystroke ( RemminaProtocolWidget gp,
const guint  keystrokes[],
const gint  keylen 
)
static

Definition at line 103 of file gvnc_plugin.c.

◆ gvnc_plugin_mouse_grab()

static void gvnc_plugin_mouse_grab ( GtkWidget *  vncdisplay,
RemminaProtocolWidget gp 
)
static

Definition at line 130 of file gvnc_plugin.c.

◆ gvnc_plugin_mouse_ungrab()

static void gvnc_plugin_mouse_ungrab ( GtkWidget *  vncdisplay,
RemminaProtocolWidget gp 
)
static

Definition at line 140 of file gvnc_plugin.c.

◆ gvnc_plugin_on_bell()

static void gvnc_plugin_on_bell ( RemminaProtocolWidget gp)
static

Definition at line 297 of file gvnc_plugin.c.

◆ gvnc_plugin_on_vnc_error()

static void gvnc_plugin_on_vnc_error ( GtkWidget *vncdisplay  G_GNUC_UNUSED,
const gchar *  msg,
RemminaProtocolWidget gp 
)
static

Definition at line 146 of file gvnc_plugin.c.

◆ gvnc_plugin_open_connection()

static gboolean gvnc_plugin_open_connection ( RemminaProtocolWidget gp)
static

Definition at line 741 of file gvnc_plugin.c.

◆ gvnc_plugin_paste_text()

void gvnc_plugin_paste_text ( RemminaProtocolWidget gp,
const gchar *  text 
)

Definition at line 195 of file gvnc_plugin.c.

◆ gvnc_plugin_power_ctrl()

static void gvnc_plugin_power_ctrl ( RemminaProtocolWidget gp,
VncConnectionPowerAction  action 
)
static

Definition at line 116 of file gvnc_plugin.c.

◆ gvnc_plugin_query_feature()

static gboolean gvnc_plugin_query_feature ( RemminaProtocolWidget gp,
const RemminaProtocolFeature feature 
)
static

Definition at line 352 of file gvnc_plugin.c.

◆ gvnc_plugin_update_scale_mode()

static void gvnc_plugin_update_scale_mode ( RemminaProtocolWidget gp)
static

Definition at line 312 of file gvnc_plugin.c.

◆ remmina_plugin_entry()

G_MODULE_EXPORT gboolean remmina_plugin_entry ( RemminaPluginService service)

Definition at line 929 of file gvnc_plugin.c.

◆ str_replace()

gchar* str_replace ( const gchar *  string,
const gchar *  search,
const gchar *  replacement 
)

Definition at line 81 of file gvnc_plugin.c.

Variable Documentation

◆ colordepth_list

gpointer colordepth_list[]
static
Initial value:
=
{
"0", N_("Use server settings"),
"1", N_("True colour (24 bits)"),
"2", N_("High colour (16 bits)"),
"3", N_("Low colour (8 bits)"),
"4", N_("Ultra low colour (3 bits)"),
NULL
}
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:953

Definition at line 817 of file gvnc_plugin.c.

◆ gvnc_plugin_advanced_settings

const RemminaProtocolSetting gvnc_plugin_advanced_settings[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "disableclipboard", N_("No clipboard sync"), TRUE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "disablepasswordstoring", N_("Forget passwords after use"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "disableserverbell", N_("Ignore remote bell messages"), TRUE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "enableaudio", N_("Enable audio channel"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "viewonly", N_("View only"), TRUE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "shared", N_("Shared connection"), TRUE, NULL, N_("If the server should try to share the desktop by leaving other clients connected") },
{ REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, TRUE, NULL, NULL }
}
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:953

Definition at line 863 of file gvnc_plugin.c.

◆ gvnc_plugin_basic_settings

const RemminaProtocolSetting gvnc_plugin_basic_settings[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_SETTING_TYPE_SERVER, "server", NULL, FALSE, NULL, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD, "password", N_("VNC password"), FALSE, NULL, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "depth_profile", N_("Colour depth"), FALSE, colordepth_list, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "lossy_encoding", N_("Use JPEG Compression"), TRUE, NULL, N_("This might not work on all VNC servers"), NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "gvncdebug", N_("Enable GTK-VNC debug"), FALSE, NULL, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, FALSE, NULL, NULL, NULL, NULL }
}
static gpointer colordepth_list[]
Definition: gvnc_plugin.c:817
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:953

Definition at line 844 of file gvnc_plugin.c.

◆ gvnc_plugin_features

const RemminaProtocolFeature gvnc_plugin_features[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_FEATURE_TYPE_PREF, GVNC_PLUGIN_FEATURE_PREF_VIEWONLY, GINT_TO_POINTER(REMMINA_PROTOCOL_FEATURE_PREF_CHECK), "viewonly", N_("View only") },
{ REMMINA_PROTOCOL_FEATURE_TYPE_PREF, GVNC_PLUGIN_FEATURE_PREF_DISABLECLIPBOARD, GINT_TO_POINTER(REMMINA_PROTOCOL_FEATURE_PREF_CHECK), "disableclipboard", N_("No clipboard sync") },
#ifdef HAVE_VNC_POWER_CONTROL
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, GVNC_PLUGIN_FEATURE_TOOL_RESET, N_("Reset remote host (hard reboot)"), NULL, NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, GVNC_PLUGIN_FEATURE_TOOL_SHUTDOWN, N_("Shutdown remote host"), NULL, NULL },
#endif
{ REMMINA_PROTOCOL_FEATURE_TYPE_END, 0, NULL, NULL, NULL }
}
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:953

Definition at line 876 of file gvnc_plugin.c.

◆ remmina_plugin

RemminaProtocolPlugin remmina_plugin
static
Initial value:
= {
PLUGIN_NAME,
PLUGIN_DESCRIPTION,
GETTEXT_PACKAGE,
PLUGIN_VERSION,
PLUGIN_APPICON,
PLUGIN_APPICON,
NULL,
NULL,
NULL
}
static const RemminaProtocolSetting gvnc_plugin_basic_settings[]
Definition: gvnc_plugin.c:844
static gboolean gvnc_plugin_query_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
Definition: gvnc_plugin.c:352
static void gvnc_plugin_call_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
Definition: gvnc_plugin.c:359
static gboolean gvnc_plugin_close_connection(RemminaProtocolWidget *gp)
Definition: gvnc_plugin.c:662
static gboolean gvnc_plugin_open_connection(RemminaProtocolWidget *gp)
Definition: gvnc_plugin.c:741
static void gvnc_plugin_init(RemminaProtocolWidget *gp)
Definition: gvnc_plugin.c:682
static const RemminaProtocolFeature gvnc_plugin_features[]
Definition: gvnc_plugin.c:876
static void gvnc_plugin_keystroke(RemminaProtocolWidget *gp, const guint keystrokes[], const gint keylen)
Definition: gvnc_plugin.c:103
static const RemminaProtocolSetting gvnc_plugin_advanced_settings[]
Definition: gvnc_plugin.c:863

Definition at line 905 of file gvnc_plugin.c.

◆ remmina_plugin_service

RemminaPluginService* remmina_plugin_service = NULL
static

Definition at line 79 of file gvnc_plugin.c.