From d0d3fda69f35e181d368464277ba133830e5ebb3 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Fri, 23 Mar 2018 22:19:39 +0100 Subject: Refactoring - Moving all plugins inside the plugins directory --- 16x16/emblems/remmina-xdmcp-ssh.png | Bin 0 -> 878 bytes 16x16/emblems/remmina-xdmcp.png | Bin 0 -> 817 bytes 22x22/emblems/remmina-xdmcp-ssh.png | Bin 0 -> 1345 bytes 22x22/emblems/remmina-xdmcp.png | Bin 0 -> 1293 bytes CMakeLists.txt | 53 +++++ xdmcp_plugin.c | 426 ++++++++++++++++++++++++++++++++++++ 6 files changed, 479 insertions(+) create mode 100644 16x16/emblems/remmina-xdmcp-ssh.png create mode 100644 16x16/emblems/remmina-xdmcp.png create mode 100644 22x22/emblems/remmina-xdmcp-ssh.png create mode 100644 22x22/emblems/remmina-xdmcp.png create mode 100644 CMakeLists.txt create mode 100644 xdmcp_plugin.c diff --git a/16x16/emblems/remmina-xdmcp-ssh.png b/16x16/emblems/remmina-xdmcp-ssh.png new file mode 100644 index 0000000..5493ba3 Binary files /dev/null and b/16x16/emblems/remmina-xdmcp-ssh.png differ diff --git a/16x16/emblems/remmina-xdmcp.png b/16x16/emblems/remmina-xdmcp.png new file mode 100644 index 0000000..2367a4e Binary files /dev/null and b/16x16/emblems/remmina-xdmcp.png differ diff --git a/22x22/emblems/remmina-xdmcp-ssh.png b/22x22/emblems/remmina-xdmcp-ssh.png new file mode 100644 index 0000000..f695633 Binary files /dev/null and b/22x22/emblems/remmina-xdmcp-ssh.png differ diff --git a/22x22/emblems/remmina-xdmcp.png b/22x22/emblems/remmina-xdmcp.png new file mode 100644 index 0000000..83ffc6e Binary files /dev/null and b/22x22/emblems/remmina-xdmcp.png differ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..159c58a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,53 @@ +# remmina-plugin-xdmcp - The GTK+ Remote Desktop Client +# +# Copyright (C) 2011 Marc-Andre Moreau +# Copyright (C) 2014-2017 Antenore Gatta, Giovanni Panozzo +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# In addition, as a special exception, the copyright holders give +# permission to link the code of portions of this program with the +# OpenSSL library under certain conditions as described in each +# individual source file, and distribute linked combinations +# including the two. +# You must obey the GNU General Public License in all respects +# for all of the code used other than OpenSSL. If you modify +# file(s) with this exception, you may extend this exception to your +# version of the file(s), but you are not obligated to do so. If you +# do not wish to do so, delete this exception statement from your +# version. If you delete this exception statement from all source +# files in the program, then also delete it here. + + +set(REMMINA_PLUGIN_XDMCP_SRCS xdmcp_plugin.c) + +add_library(remmina-plugin-xdmcp MODULE ${REMMINA_PLUGIN_XDMCP_SRCS}) +set_target_properties(remmina-plugin-xdmcp PROPERTIES PREFIX "") +set_target_properties(remmina-plugin-xdmcp PROPERTIES NO_SONAME 1) + +include_directories(${REMMINA_COMMON_INCLUDE_DIRS}) +target_link_libraries(remmina-plugin-xdmcp ${REMMINA_COMMON_LIBRARIES}) + +install(TARGETS remmina-plugin-xdmcp DESTINATION ${REMMINA_PLUGINDIR}) + +install(FILES + 16x16/emblems/remmina-xdmcp-ssh.png + 16x16/emblems/remmina-xdmcp.png + DESTINATION ${APPICON16_EMBLEMS_DIR}) +install(FILES + 22x22/emblems/remmina-xdmcp-ssh.png + 22x22/emblems/remmina-xdmcp.png + DESTINATION ${APPICON22_EMBLEMS_DIR}) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c new file mode 100644 index 0000000..97de902 --- /dev/null +++ b/xdmcp_plugin.c @@ -0,0 +1,426 @@ +/* + * Remmina - The GTK+ Remote Desktop Client + * Copyright (C) 2010 Vic Lee + * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo + * Copyright (C) 2016-2017 Antenore Gatta, Giovanni Panozzo + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + * In addition, as a special exception, the copyright holders give + * permission to link the code of portions of this program with the + * OpenSSL library under certain conditions as described in each + * individual source file, and distribute linked combinations + * including the two. + * You must obey the GNU General Public License in all respects + * for all of the code used other than OpenSSL. * If you modify + * file(s) with this exception, you may extend this exception to your + * version of the file(s), but you are not obligated to do so. * If you + * do not wish to do so, delete this exception statement from your + * version. * If you delete this exception statement from all source + * files in the program, then also delete it here. + * + */ + +#include "common/remmina_plugin.h" +#if GTK_VERSION == 3 +# include +#endif + +INCLUDE_GET_AVAILABLE_XDISPLAY + +#define REMMINA_PLUGIN_XDMCP_FEATURE_TOOL_SENDCTRLALTDEL 1 + +#define GET_PLUGIN_DATA(gp) (RemminaPluginXdmcpData*)g_object_get_data(G_OBJECT(gp), "plugin-data"); + +/* Forward declaration */ +static RemminaProtocolPlugin remmina_plugin_xdmcp; + +typedef struct _RemminaPluginXdmcpData { + GtkWidget *socket; + gint socket_id; + GPid pid; + gint output_fd; + gint error_fd; + gint display; + gboolean ready; + + pthread_t thread; + +} RemminaPluginXdmcpData; + +static RemminaPluginService *remmina_plugin_service = NULL; + + +static void remmina_plugin_xdmcp_on_plug_added(GtkSocket *socket, RemminaProtocolWidget *gp) +{ + TRACE_CALL(__func__); + RemminaPluginXdmcpData *gpdata = GET_PLUGIN_DATA(gp); + + remmina_plugin_service->protocol_plugin_emit_signal(gp, "connect"); + gpdata->ready = TRUE; +} + +static void remmina_plugin_xdmcp_on_plug_removed(GtkSocket *socket, RemminaProtocolWidget *gp) +{ + TRACE_CALL(__func__); + remmina_plugin_service->protocol_plugin_close_connection(gp); +} + +static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) +{ + TRACE_CALL(__func__); + RemminaPluginXdmcpData *gpdata = GET_PLUGIN_DATA(gp); + RemminaFile *remminafile; + gchar *argv[50]; + gint argc; + gchar *host; + gint i; + GError *error = NULL; + gboolean ret; + + remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); + + gpdata->display = remmina_get_available_xdisplay(); + if (gpdata->display == 0) { + remmina_plugin_service->protocol_plugin_set_error(gp, _("Run out of available local X display number.")); + return FALSE; + } + + argc = 0; + argv[argc++] = g_strdup("Xephyr"); + + argv[argc++] = g_strdup_printf(":%i", gpdata->display); + + argv[argc++] = g_strdup("-parent"); + argv[argc++] = g_strdup_printf("%i", gpdata->socket_id); + + /* All Xephyr version between 1.5.0 and 1.6.4 will break when -screen argument is specified with -parent. + * It's not possible to support color depth if you have those Xephyr version. Please see this bug + * http://bugs.freedesktop.org/show_bug.cgi?id=24144 + * As a workaround, a "Default" color depth will not add the -screen argument. + */ + i = remmina_plugin_service->file_get_int(remminafile, "colordepth", 8); + if (i >= 8) { + argv[argc++] = g_strdup("-screen"); + argv[argc++] = g_strdup_printf("%ix%ix%i", + remmina_plugin_service->get_profile_remote_width(gp), + remmina_plugin_service->get_profile_remote_height(gp), i); + } + + if (i == 2) { + argv[argc++] = g_strdup("-grayscale"); + } + + if (remmina_plugin_service->file_get_int(remminafile, "showcursor", FALSE)) { + argv[argc++] = g_strdup("-host-cursor"); + } + if (remmina_plugin_service->file_get_int(remminafile, "once", FALSE)) { + argv[argc++] = g_strdup("-once"); + } + /* Listen on protocol TCP */ + if (remmina_plugin_service->file_get_int(remminafile, "listen_on_tcp", FALSE)) { + argv[argc++] = g_strdup("-listen"); + argv[argc++] = g_strdup("tcp"); + } + + if (!remmina_plugin_service->file_get_int(remminafile, "ssh_enabled", FALSE)) { + remmina_plugin_service->get_server_port(remmina_plugin_service->file_get_string(remminafile, "server"), 0, + &host, &i); + + argv[argc++] = g_strdup("-query"); + argv[argc++] = host; + + if (i) { + argv[argc++] = g_strdup("-port"); + argv[argc++] = g_strdup_printf("%i", i); + } + }else { + /* When the connection is through an SSH tunnel, it connects back to local unix socket, + * so for security we can disable tcp listening */ + argv[argc++] = g_strdup("-nolisten"); + argv[argc++] = g_strdup("tcp"); + + /* FIXME: It's better to get the magic cookie back from xqproxy, then call xauth, + * instead of disable access control */ + argv[argc++] = g_strdup("-ac"); + } + + argv[argc++] = NULL; + + ret = g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &gpdata->pid, &error); + for (i = 0; i < argc; i++) + g_free(argv[i]); + + if (!ret) { + remmina_plugin_service->protocol_plugin_set_error(gp, "%s", error->message); + return FALSE; + } + + return TRUE; +} + +static gboolean remmina_plugin_xdmcp_tunnel_init_callback(RemminaProtocolWidget *gp, gint remotedisplay, const gchar *server, + gint port) +{ + TRACE_CALL(__func__); + RemminaPluginXdmcpData *gpdata = GET_PLUGIN_DATA(gp); + RemminaFile *remminafile; + + remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); + + if (!remmina_plugin_xdmcp_start_xephyr(gp)) + return FALSE; + while (!gpdata->ready) + sleep(1); + + remmina_plugin_service->protocol_plugin_set_display(gp, gpdata->display); + + if (remmina_plugin_service->file_get_string(remminafile, "exec")) { + return remmina_plugin_service->protocol_plugin_ssh_exec(gp, FALSE, "DISPLAY=localhost:%i.0 %s", remotedisplay, + remmina_plugin_service->file_get_string(remminafile, "exec")); + }else { + return remmina_plugin_service->protocol_plugin_ssh_exec(gp, TRUE, + "xqproxy -display %i -host %s -port %i -query -manage", remotedisplay, server, port); + } +} + +static gboolean remmina_plugin_xdmcp_main(RemminaProtocolWidget *gp) +{ + TRACE_CALL(__func__); + RemminaPluginXdmcpData *gpdata = GET_PLUGIN_DATA(gp); + RemminaFile *remminafile; + + remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); + + if (remmina_plugin_service->file_get_int(remminafile, "ssh_enabled", FALSE)) { + if (!remmina_plugin_service->protocol_plugin_start_xport_tunnel(gp, remmina_plugin_xdmcp_tunnel_init_callback)) { + gpdata->thread = 0; + return FALSE; + } + }else { + if (!remmina_plugin_xdmcp_start_xephyr(gp)) { + gpdata->thread = 0; + return FALSE; + } + } + + gpdata->thread = 0; + return TRUE; +} + +static gpointer +remmina_plugin_xdmcp_main_thread(gpointer data) +{ + TRACE_CALL(__func__); + pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); + + CANCEL_ASYNC + if (!remmina_plugin_xdmcp_main((RemminaProtocolWidget*)data)) { + IDLE_ADD((GSourceFunc)remmina_plugin_service->protocol_plugin_close_connection, data); + } + return NULL; +} + +static void remmina_plugin_xdmcp_init(RemminaProtocolWidget *gp) +{ + TRACE_CALL(__func__); + RemminaPluginXdmcpData *gpdata; + + gpdata = g_new0(RemminaPluginXdmcpData, 1); + g_object_set_data_full(G_OBJECT(gp), "plugin-data", gpdata, g_free); + + gpdata->socket = gtk_socket_new(); + remmina_plugin_service->protocol_plugin_register_hostkey(gp, gpdata->socket); + gtk_widget_show(gpdata->socket); + g_signal_connect(G_OBJECT(gpdata->socket), "plug-added", G_CALLBACK(remmina_plugin_xdmcp_on_plug_added), gp); + g_signal_connect(G_OBJECT(gpdata->socket), "plug-removed", G_CALLBACK(remmina_plugin_xdmcp_on_plug_removed), gp); + gtk_container_add(GTK_CONTAINER(gp), gpdata->socket); + +} + + + +static gboolean remmina_plugin_xdmcp_open_connection(RemminaProtocolWidget *gp) +{ + TRACE_CALL(__func__); + RemminaPluginXdmcpData *gpdata = GET_PLUGIN_DATA(gp); + RemminaFile *remminafile; + gint width, height; + + if (!remmina_plugin_service->gtksocket_available()) { + remmina_plugin_service->protocol_plugin_set_error(gp, + _("Protocol %s is unavailable because GtkSocket only works under Xorg"), + remmina_plugin_xdmcp.name); + return FALSE; + } + + remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); + + width = remmina_plugin_service->get_profile_remote_width(gp); + height = remmina_plugin_service->get_profile_remote_height(gp); + remmina_plugin_service->protocol_plugin_set_width(gp, width); + remmina_plugin_service->protocol_plugin_set_height(gp, height); + gtk_widget_set_size_request(GTK_WIDGET(gp), width, height); + gpdata->socket_id = gtk_socket_get_id(GTK_SOCKET(gpdata->socket)); + + + if (remmina_plugin_service->file_get_int(remminafile, "ssh_enabled", FALSE)) { + if (pthread_create(&gpdata->thread, NULL, remmina_plugin_xdmcp_main_thread, gp)) { + remmina_plugin_service->protocol_plugin_set_error(gp, + "Failed to initialize pthread. Falling back to non-thread mode..."); + gpdata->thread = 0; + return FALSE; + }else { + return TRUE; + } + }else { + return remmina_plugin_xdmcp_main(gp); + } + +} + +static gboolean remmina_plugin_xdmcp_close_connection(RemminaProtocolWidget *gp) +{ + TRACE_CALL(__func__); + RemminaPluginXdmcpData *gpdata = GET_PLUGIN_DATA(gp); + + if (gpdata->thread) { + pthread_cancel(gpdata->thread); + if (gpdata->thread) pthread_join(gpdata->thread, NULL); + } + + if (gpdata->pid) { + kill(gpdata->pid, SIGTERM); + g_spawn_close_pid(gpdata->pid); + gpdata->pid = 0; + } + + remmina_plugin_service->protocol_plugin_emit_signal(gp, "disconnect"); + + return FALSE; +} + +/* Send CTRL+ALT+DEL keys keystrokes to the plugin socket widget */ +static void remmina_plugin_xdmcp_send_ctrlaltdel(RemminaProtocolWidget *gp) +{ + TRACE_CALL(__func__); + guint keys[] = { GDK_KEY_Control_L, GDK_KEY_Alt_L, GDK_KEY_Delete }; + RemminaPluginXdmcpData *gpdata = GET_PLUGIN_DATA(gp); + + remmina_plugin_service->protocol_plugin_send_keys_signals(gpdata->socket, + keys, G_N_ELEMENTS(keys), GDK_KEY_PRESS | GDK_KEY_RELEASE); +} + +static gboolean remmina_plugin_xdmcp_query_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature) +{ + TRACE_CALL(__func__); + return TRUE; +} + +static void remmina_plugin_xdmcp_call_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature) +{ + TRACE_CALL(__func__); + RemminaFile *remminafile; + + remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); + switch (feature->id) { + case REMMINA_PLUGIN_XDMCP_FEATURE_TOOL_SENDCTRLALTDEL: + remmina_plugin_xdmcp_send_ctrlaltdel(gp); + break; + default: + break; + } +} + +/* Array of key/value pairs for color depths */ +static gpointer colordepth_list[] = +{ + "0", N_("Default"), + "2", N_("Grayscale"), + "8", N_("256 colors"), + "16", N_("High color (16 bit)"), + "24", N_("True color (24 bit)"), + NULL +}; + +/* Array of RemminaProtocolSetting for basic settings. + * Each item is composed by: + * a) RemminaProtocolSettingType for setting type + * b) Setting name + * c) Setting description + * d) Compact disposition + * e) Values for REMMINA_PROTOCOL_SETTING_TYPE_SELECT or REMMINA_PROTOCOL_SETTING_TYPE_COMBO + * f) Unused pointer + */ +static const RemminaProtocolSetting remmina_plugin_xdmcp_basic_settings[] = +{ + { REMMINA_PROTOCOL_SETTING_TYPE_SERVER, NULL, NULL, FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION, NULL, NULL, FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "colordepth", N_("Color depth"), FALSE, colordepth_list, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "exec", N_("Startup program"), FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "showcursor", N_("Use local cursor"), FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "once", N_("Disconnect after one session"), FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "listen_on_tcp", N_("Listening connection on protocol TCP"), FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, FALSE, NULL, NULL } +}; + +/* Array for available features. + * The last element of the array must be REMMINA_PROTOCOL_FEATURE_TYPE_END. */ +static const RemminaProtocolFeature remmina_plugin_xdmcp_features[] = +{ + { REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_XDMCP_FEATURE_TOOL_SENDCTRLALTDEL, N_("Send Ctrl+Alt+Delete"), NULL, NULL }, + { REMMINA_PROTOCOL_FEATURE_TYPE_END, 0, NULL, NULL, NULL } +}; + +/* Protocol plugin definition and features */ +static RemminaProtocolPlugin remmina_plugin_xdmcp = +{ + REMMINA_PLUGIN_TYPE_PROTOCOL, // Type + "XDMCP", // Name + N_("XDMCP - X Remote Session"), // Description + GETTEXT_PACKAGE, // Translation domain + VERSION, // Version number + "remmina-xdmcp", // Icon for normal connection + "remmina-xdmcp-ssh", // Icon for SSH connection + remmina_plugin_xdmcp_basic_settings, // Array for basic settings + NULL, // Array for advanced settings + REMMINA_PROTOCOL_SSH_SETTING_TUNNEL, // SSH settings type + remmina_plugin_xdmcp_features, // Array for available features + remmina_plugin_xdmcp_init, // Plugin initialization + remmina_plugin_xdmcp_open_connection, // Plugin open connection + remmina_plugin_xdmcp_close_connection, // Plugin close connection + remmina_plugin_xdmcp_query_feature, // Query for available features + remmina_plugin_xdmcp_call_feature, // Call a feature + NULL, // Send a keystroke + NULL // Screenshot +}; + +G_MODULE_EXPORT gboolean +remmina_plugin_entry(RemminaPluginService *service) +{ + TRACE_CALL(__func__); + remmina_plugin_service = service; + + bindtextdomain(GETTEXT_PACKAGE, REMMINA_RUNTIME_LOCALEDIR); + bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); + + if (!service->register_plugin((RemminaPlugin*)&remmina_plugin_xdmcp)) { + return FALSE; + } + + return TRUE; +} + -- cgit v1.2.3 From a85961707dd0ecede255d5ed456a2152403da71d Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Wed, 4 Apr 2018 23:20:32 +0200 Subject: Copyright update 2016-2018 --- CMakeLists.txt | 2 +- xdmcp_plugin.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 159c58a..9902c8a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # remmina-plugin-xdmcp - The GTK+ Remote Desktop Client # # Copyright (C) 2011 Marc-Andre Moreau -# Copyright (C) 2014-2017 Antenore Gatta, Giovanni Panozzo +# Copyright (C) 2014-2018 Antenore Gatta, Giovanni Panozzo # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 97de902..7bf24a6 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -2,7 +2,7 @@ * Remmina - The GTK+ Remote Desktop Client * Copyright (C) 2010 Vic Lee * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo - * Copyright (C) 2016-2017 Antenore Gatta, Giovanni Panozzo + * Copyright (C) 2016-2018 Antenore Gatta, Giovanni Panozzo * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- cgit v1.2.3 From 4d650ed6eb31b10dbf5942c9599268ce9b6132fa Mon Sep 17 00:00:00 2001 From: Denis Ollier Date: Sat, 14 Apr 2018 22:39:57 +0200 Subject: Remove checks for GTK >= 3 since GTK2 is not supported anymore --- xdmcp_plugin.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 7bf24a6..86a5ab7 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -35,9 +35,7 @@ */ #include "common/remmina_plugin.h" -#if GTK_VERSION == 3 -# include -#endif +#include INCLUDE_GET_AVAILABLE_XDISPLAY -- cgit v1.2.3 From 752b3222fcfa88a876dc8cf6b6a25dda4ea367bd Mon Sep 17 00:00:00 2001 From: Denis Ollier Date: Sat, 21 Apr 2018 14:52:51 +0200 Subject: xdmcp: remove unused remminafile variable --- xdmcp_plugin.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 86a5ab7..51bf662 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -331,9 +331,7 @@ static gboolean remmina_plugin_xdmcp_query_feature(RemminaProtocolWidget *gp, co static void remmina_plugin_xdmcp_call_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature) { TRACE_CALL(__func__); - RemminaFile *remminafile; - remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); switch (feature->id) { case REMMINA_PLUGIN_XDMCP_FEATURE_TOOL_SENDCTRLALTDEL: remmina_plugin_xdmcp_send_ctrlaltdel(gp); -- cgit v1.2.3 From 2450a8dc856b0ca48fc8be691b4e72bfdf96aa55 Mon Sep 17 00:00:00 2001 From: Denis Ollier Date: Fri, 4 May 2018 09:30:32 +0200 Subject: plugins: explicitly set screenshot callback --- xdmcp_plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 51bf662..e0a3d63 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -401,7 +401,7 @@ static RemminaProtocolPlugin remmina_plugin_xdmcp = remmina_plugin_xdmcp_query_feature, // Query for available features remmina_plugin_xdmcp_call_feature, // Call a feature NULL, // Send a keystroke - NULL // Screenshot + NULL // No screenshot support available }; G_MODULE_EXPORT gboolean -- cgit v1.2.3 From a06804a4980a3c42f3eeaba5d49b8b25a9ce6ea9 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Mon, 4 Jun 2018 17:19:23 +0200 Subject: Added new icons --- 16x16/emblems/remmina-xdmcp-ssh.png | Bin 878 -> 567 bytes 16x16/emblems/remmina-xdmcp.png | Bin 817 -> 566 bytes 22x22/emblems/remmina-xdmcp-ssh.png | Bin 1345 -> 692 bytes 22x22/emblems/remmina-xdmcp.png | Bin 1293 -> 755 bytes scalable/emblems/remmina-xdmcp-ssh.svg | 101 +++++++++++++++++++++++++++ scalable/emblems/remmina-xdmcp.svg | 121 +++++++++++++++++++++++++++++++++ 6 files changed, 222 insertions(+) create mode 100644 scalable/emblems/remmina-xdmcp-ssh.svg create mode 100644 scalable/emblems/remmina-xdmcp.svg diff --git a/16x16/emblems/remmina-xdmcp-ssh.png b/16x16/emblems/remmina-xdmcp-ssh.png index 5493ba3..86e6d1d 100644 Binary files a/16x16/emblems/remmina-xdmcp-ssh.png and b/16x16/emblems/remmina-xdmcp-ssh.png differ diff --git a/16x16/emblems/remmina-xdmcp.png b/16x16/emblems/remmina-xdmcp.png index 2367a4e..d60c93c 100644 Binary files a/16x16/emblems/remmina-xdmcp.png and b/16x16/emblems/remmina-xdmcp.png differ diff --git a/22x22/emblems/remmina-xdmcp-ssh.png b/22x22/emblems/remmina-xdmcp-ssh.png index f695633..c61cdfe 100644 Binary files a/22x22/emblems/remmina-xdmcp-ssh.png and b/22x22/emblems/remmina-xdmcp-ssh.png differ diff --git a/22x22/emblems/remmina-xdmcp.png b/22x22/emblems/remmina-xdmcp.png index 83ffc6e..f4dfb74 100644 Binary files a/22x22/emblems/remmina-xdmcp.png and b/22x22/emblems/remmina-xdmcp.png differ diff --git a/scalable/emblems/remmina-xdmcp-ssh.svg b/scalable/emblems/remmina-xdmcp-ssh.svg new file mode 100644 index 0000000..93c14e2 --- /dev/null +++ b/scalable/emblems/remmina-xdmcp-ssh.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + X + + diff --git a/scalable/emblems/remmina-xdmcp.svg b/scalable/emblems/remmina-xdmcp.svg new file mode 100644 index 0000000..0c05782 --- /dev/null +++ b/scalable/emblems/remmina-xdmcp.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + X + + -- cgit v1.2.3 From 2746da36b255f089d135d8c720eeea5f814cee04 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Tue, 5 Jun 2018 22:26:22 +0200 Subject: Migrating to SVG icons format --- 16x16/emblems/remmina-xdmcp-ssh.png | Bin 567 -> 0 bytes 16x16/emblems/remmina-xdmcp-ssh.svg | 52 ++++++++++++++++++++++++++ 16x16/emblems/remmina-xdmcp.png | Bin 566 -> 0 bytes 16x16/emblems/remmina-xdmcp.svg | 72 ++++++++++++++++++++++++++++++++++++ 22x22/emblems/remmina-xdmcp-ssh.png | Bin 692 -> 0 bytes 22x22/emblems/remmina-xdmcp-ssh.svg | 52 ++++++++++++++++++++++++++ 22x22/emblems/remmina-xdmcp.png | Bin 755 -> 0 bytes 22x22/emblems/remmina-xdmcp.svg | 72 ++++++++++++++++++++++++++++++++++++ 24x24/emblems/remmina-xdmcp-ssh.svg | 52 ++++++++++++++++++++++++++ 24x24/emblems/remmina-xdmcp.svg | 72 ++++++++++++++++++++++++++++++++++++ 32x32/emblems/remmina-xdmcp-ssh.svg | 52 ++++++++++++++++++++++++++ 32x32/emblems/remmina-xdmcp.svg | 72 ++++++++++++++++++++++++++++++++++++ 48x48/emblems/remmina-xdmcp-ssh.svg | 52 ++++++++++++++++++++++++++ 48x48/emblems/remmina-xdmcp.svg | 72 ++++++++++++++++++++++++++++++++++++ 64x64/emblems/remmina-xdmcp-ssh.svg | 52 ++++++++++++++++++++++++++ 64x64/emblems/remmina-xdmcp.svg | 72 ++++++++++++++++++++++++++++++++++++ CMakeLists.txt | 8 ++-- 17 files changed, 748 insertions(+), 4 deletions(-) delete mode 100644 16x16/emblems/remmina-xdmcp-ssh.png create mode 100644 16x16/emblems/remmina-xdmcp-ssh.svg delete mode 100644 16x16/emblems/remmina-xdmcp.png create mode 100644 16x16/emblems/remmina-xdmcp.svg delete mode 100644 22x22/emblems/remmina-xdmcp-ssh.png create mode 100644 22x22/emblems/remmina-xdmcp-ssh.svg delete mode 100644 22x22/emblems/remmina-xdmcp.png create mode 100644 22x22/emblems/remmina-xdmcp.svg create mode 100644 24x24/emblems/remmina-xdmcp-ssh.svg create mode 100644 24x24/emblems/remmina-xdmcp.svg create mode 100644 32x32/emblems/remmina-xdmcp-ssh.svg create mode 100644 32x32/emblems/remmina-xdmcp.svg create mode 100644 48x48/emblems/remmina-xdmcp-ssh.svg create mode 100644 48x48/emblems/remmina-xdmcp.svg create mode 100644 64x64/emblems/remmina-xdmcp-ssh.svg create mode 100644 64x64/emblems/remmina-xdmcp.svg diff --git a/16x16/emblems/remmina-xdmcp-ssh.png b/16x16/emblems/remmina-xdmcp-ssh.png deleted file mode 100644 index 86e6d1d..0000000 Binary files a/16x16/emblems/remmina-xdmcp-ssh.png and /dev/null differ diff --git a/16x16/emblems/remmina-xdmcp-ssh.svg b/16x16/emblems/remmina-xdmcp-ssh.svg new file mode 100644 index 0000000..ea9137f --- /dev/null +++ b/16x16/emblems/remmina-xdmcp-ssh.svg @@ -0,0 +1,52 @@ + + + + + + + image/svg+xml + + + + + + + + + + + X + + diff --git a/16x16/emblems/remmina-xdmcp.png b/16x16/emblems/remmina-xdmcp.png deleted file mode 100644 index d60c93c..0000000 Binary files a/16x16/emblems/remmina-xdmcp.png and /dev/null differ diff --git a/16x16/emblems/remmina-xdmcp.svg b/16x16/emblems/remmina-xdmcp.svg new file mode 100644 index 0000000..1bf0692 --- /dev/null +++ b/16x16/emblems/remmina-xdmcp.svg @@ -0,0 +1,72 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + X + + diff --git a/22x22/emblems/remmina-xdmcp-ssh.png b/22x22/emblems/remmina-xdmcp-ssh.png deleted file mode 100644 index c61cdfe..0000000 Binary files a/22x22/emblems/remmina-xdmcp-ssh.png and /dev/null differ diff --git a/22x22/emblems/remmina-xdmcp-ssh.svg b/22x22/emblems/remmina-xdmcp-ssh.svg new file mode 100644 index 0000000..ea9137f --- /dev/null +++ b/22x22/emblems/remmina-xdmcp-ssh.svg @@ -0,0 +1,52 @@ + + + + + + + image/svg+xml + + + + + + + + + + + X + + diff --git a/22x22/emblems/remmina-xdmcp.png b/22x22/emblems/remmina-xdmcp.png deleted file mode 100644 index f4dfb74..0000000 Binary files a/22x22/emblems/remmina-xdmcp.png and /dev/null differ diff --git a/22x22/emblems/remmina-xdmcp.svg b/22x22/emblems/remmina-xdmcp.svg new file mode 100644 index 0000000..1bf0692 --- /dev/null +++ b/22x22/emblems/remmina-xdmcp.svg @@ -0,0 +1,72 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + X + + diff --git a/24x24/emblems/remmina-xdmcp-ssh.svg b/24x24/emblems/remmina-xdmcp-ssh.svg new file mode 100644 index 0000000..ea9137f --- /dev/null +++ b/24x24/emblems/remmina-xdmcp-ssh.svg @@ -0,0 +1,52 @@ + + + + + + + image/svg+xml + + + + + + + + + + + X + + diff --git a/24x24/emblems/remmina-xdmcp.svg b/24x24/emblems/remmina-xdmcp.svg new file mode 100644 index 0000000..1bf0692 --- /dev/null +++ b/24x24/emblems/remmina-xdmcp.svg @@ -0,0 +1,72 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + X + + diff --git a/32x32/emblems/remmina-xdmcp-ssh.svg b/32x32/emblems/remmina-xdmcp-ssh.svg new file mode 100644 index 0000000..ea9137f --- /dev/null +++ b/32x32/emblems/remmina-xdmcp-ssh.svg @@ -0,0 +1,52 @@ + + + + + + + image/svg+xml + + + + + + + + + + + X + + diff --git a/32x32/emblems/remmina-xdmcp.svg b/32x32/emblems/remmina-xdmcp.svg new file mode 100644 index 0000000..1bf0692 --- /dev/null +++ b/32x32/emblems/remmina-xdmcp.svg @@ -0,0 +1,72 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + X + + diff --git a/48x48/emblems/remmina-xdmcp-ssh.svg b/48x48/emblems/remmina-xdmcp-ssh.svg new file mode 100644 index 0000000..ea9137f --- /dev/null +++ b/48x48/emblems/remmina-xdmcp-ssh.svg @@ -0,0 +1,52 @@ + + + + + + + image/svg+xml + + + + + + + + + + + X + + diff --git a/48x48/emblems/remmina-xdmcp.svg b/48x48/emblems/remmina-xdmcp.svg new file mode 100644 index 0000000..1bf0692 --- /dev/null +++ b/48x48/emblems/remmina-xdmcp.svg @@ -0,0 +1,72 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + X + + diff --git a/64x64/emblems/remmina-xdmcp-ssh.svg b/64x64/emblems/remmina-xdmcp-ssh.svg new file mode 100644 index 0000000..ea9137f --- /dev/null +++ b/64x64/emblems/remmina-xdmcp-ssh.svg @@ -0,0 +1,52 @@ + + + + + + + image/svg+xml + + + + + + + + + + + X + + diff --git a/64x64/emblems/remmina-xdmcp.svg b/64x64/emblems/remmina-xdmcp.svg new file mode 100644 index 0000000..1bf0692 --- /dev/null +++ b/64x64/emblems/remmina-xdmcp.svg @@ -0,0 +1,72 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + X + + diff --git a/CMakeLists.txt b/CMakeLists.txt index 9902c8a..cb9d066 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,10 +44,10 @@ target_link_libraries(remmina-plugin-xdmcp ${REMMINA_COMMON_LIBRARIES}) install(TARGETS remmina-plugin-xdmcp DESTINATION ${REMMINA_PLUGINDIR}) install(FILES - 16x16/emblems/remmina-xdmcp-ssh.png - 16x16/emblems/remmina-xdmcp.png + 16x16/emblems/remmina-xdmcp-ssh.svg + 16x16/emblems/remmina-xdmcp.svg DESTINATION ${APPICON16_EMBLEMS_DIR}) install(FILES - 22x22/emblems/remmina-xdmcp-ssh.png - 22x22/emblems/remmina-xdmcp.png + 22x22/emblems/remmina-xdmcp-ssh.svg + 22x22/emblems/remmina-xdmcp.svg DESTINATION ${APPICON22_EMBLEMS_DIR}) -- cgit v1.2.3 From 426a1f22d0d6f34c687097f51d062989b0ba316f Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Fri, 8 Jun 2018 17:36:28 +0200 Subject: Moving to symbolic icons to match theme colors --- 16x16/emblems/remmina-xdmcp-ssh.svg | 52 ---------- 16x16/emblems/remmina-xdmcp.svg | 72 -------------- 22x22/emblems/remmina-xdmcp-ssh.svg | 52 ---------- 22x22/emblems/remmina-xdmcp.svg | 72 -------------- 24x24/emblems/remmina-xdmcp-ssh.svg | 52 ---------- 24x24/emblems/remmina-xdmcp.svg | 72 -------------- 32x32/emblems/remmina-xdmcp-ssh.svg | 52 ---------- 32x32/emblems/remmina-xdmcp.svg | 72 -------------- 48x48/emblems/remmina-xdmcp-ssh.svg | 52 ---------- 48x48/emblems/remmina-xdmcp.svg | 72 -------------- 64x64/emblems/remmina-xdmcp-ssh.svg | 52 ---------- 64x64/emblems/remmina-xdmcp.svg | 72 -------------- CMakeLists.txt | 11 +-- scalable/emblems/remmina-xdmcp-ssh-symbolic.svg | 101 ++++++++++++++++++++ scalable/emblems/remmina-xdmcp-ssh.svg | 101 -------------------- scalable/emblems/remmina-xdmcp-symbolic.svg | 121 ++++++++++++++++++++++++ scalable/emblems/remmina-xdmcp.svg | 121 ------------------------ xdmcp_plugin.c | 4 +- 18 files changed, 228 insertions(+), 975 deletions(-) delete mode 100644 16x16/emblems/remmina-xdmcp-ssh.svg delete mode 100644 16x16/emblems/remmina-xdmcp.svg delete mode 100644 22x22/emblems/remmina-xdmcp-ssh.svg delete mode 100644 22x22/emblems/remmina-xdmcp.svg delete mode 100644 24x24/emblems/remmina-xdmcp-ssh.svg delete mode 100644 24x24/emblems/remmina-xdmcp.svg delete mode 100644 32x32/emblems/remmina-xdmcp-ssh.svg delete mode 100644 32x32/emblems/remmina-xdmcp.svg delete mode 100644 48x48/emblems/remmina-xdmcp-ssh.svg delete mode 100644 48x48/emblems/remmina-xdmcp.svg delete mode 100644 64x64/emblems/remmina-xdmcp-ssh.svg delete mode 100644 64x64/emblems/remmina-xdmcp.svg create mode 100644 scalable/emblems/remmina-xdmcp-ssh-symbolic.svg delete mode 100644 scalable/emblems/remmina-xdmcp-ssh.svg create mode 100644 scalable/emblems/remmina-xdmcp-symbolic.svg delete mode 100644 scalable/emblems/remmina-xdmcp.svg diff --git a/16x16/emblems/remmina-xdmcp-ssh.svg b/16x16/emblems/remmina-xdmcp-ssh.svg deleted file mode 100644 index ea9137f..0000000 --- a/16x16/emblems/remmina-xdmcp-ssh.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - X - - diff --git a/16x16/emblems/remmina-xdmcp.svg b/16x16/emblems/remmina-xdmcp.svg deleted file mode 100644 index 1bf0692..0000000 --- a/16x16/emblems/remmina-xdmcp.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - X - - diff --git a/22x22/emblems/remmina-xdmcp-ssh.svg b/22x22/emblems/remmina-xdmcp-ssh.svg deleted file mode 100644 index ea9137f..0000000 --- a/22x22/emblems/remmina-xdmcp-ssh.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - X - - diff --git a/22x22/emblems/remmina-xdmcp.svg b/22x22/emblems/remmina-xdmcp.svg deleted file mode 100644 index 1bf0692..0000000 --- a/22x22/emblems/remmina-xdmcp.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - X - - diff --git a/24x24/emblems/remmina-xdmcp-ssh.svg b/24x24/emblems/remmina-xdmcp-ssh.svg deleted file mode 100644 index ea9137f..0000000 --- a/24x24/emblems/remmina-xdmcp-ssh.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - X - - diff --git a/24x24/emblems/remmina-xdmcp.svg b/24x24/emblems/remmina-xdmcp.svg deleted file mode 100644 index 1bf0692..0000000 --- a/24x24/emblems/remmina-xdmcp.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - X - - diff --git a/32x32/emblems/remmina-xdmcp-ssh.svg b/32x32/emblems/remmina-xdmcp-ssh.svg deleted file mode 100644 index ea9137f..0000000 --- a/32x32/emblems/remmina-xdmcp-ssh.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - X - - diff --git a/32x32/emblems/remmina-xdmcp.svg b/32x32/emblems/remmina-xdmcp.svg deleted file mode 100644 index 1bf0692..0000000 --- a/32x32/emblems/remmina-xdmcp.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - X - - diff --git a/48x48/emblems/remmina-xdmcp-ssh.svg b/48x48/emblems/remmina-xdmcp-ssh.svg deleted file mode 100644 index ea9137f..0000000 --- a/48x48/emblems/remmina-xdmcp-ssh.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - X - - diff --git a/48x48/emblems/remmina-xdmcp.svg b/48x48/emblems/remmina-xdmcp.svg deleted file mode 100644 index 1bf0692..0000000 --- a/48x48/emblems/remmina-xdmcp.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - X - - diff --git a/64x64/emblems/remmina-xdmcp-ssh.svg b/64x64/emblems/remmina-xdmcp-ssh.svg deleted file mode 100644 index ea9137f..0000000 --- a/64x64/emblems/remmina-xdmcp-ssh.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - X - - diff --git a/64x64/emblems/remmina-xdmcp.svg b/64x64/emblems/remmina-xdmcp.svg deleted file mode 100644 index 1bf0692..0000000 --- a/64x64/emblems/remmina-xdmcp.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - X - - diff --git a/CMakeLists.txt b/CMakeLists.txt index cb9d066..590c3b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,11 +43,8 @@ target_link_libraries(remmina-plugin-xdmcp ${REMMINA_COMMON_LIBRARIES}) install(TARGETS remmina-plugin-xdmcp DESTINATION ${REMMINA_PLUGINDIR}) + install(FILES - 16x16/emblems/remmina-xdmcp-ssh.svg - 16x16/emblems/remmina-xdmcp.svg - DESTINATION ${APPICON16_EMBLEMS_DIR}) -install(FILES - 22x22/emblems/remmina-xdmcp-ssh.svg - 22x22/emblems/remmina-xdmcp.svg - DESTINATION ${APPICON22_EMBLEMS_DIR}) + scalable/emblems/remmina-xdmcp-ssh-symbolic.svg + scalable/emblems/remmina-xdmcp-symbolic.svg + DESTINATION ${APPICONSCALE_EMBLEMS_DIR}) diff --git a/scalable/emblems/remmina-xdmcp-ssh-symbolic.svg b/scalable/emblems/remmina-xdmcp-ssh-symbolic.svg new file mode 100644 index 0000000..93c14e2 --- /dev/null +++ b/scalable/emblems/remmina-xdmcp-ssh-symbolic.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + X + + diff --git a/scalable/emblems/remmina-xdmcp-ssh.svg b/scalable/emblems/remmina-xdmcp-ssh.svg deleted file mode 100644 index 93c14e2..0000000 --- a/scalable/emblems/remmina-xdmcp-ssh.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - X - - diff --git a/scalable/emblems/remmina-xdmcp-symbolic.svg b/scalable/emblems/remmina-xdmcp-symbolic.svg new file mode 100644 index 0000000..0c05782 --- /dev/null +++ b/scalable/emblems/remmina-xdmcp-symbolic.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + X + + diff --git a/scalable/emblems/remmina-xdmcp.svg b/scalable/emblems/remmina-xdmcp.svg deleted file mode 100644 index 0c05782..0000000 --- a/scalable/emblems/remmina-xdmcp.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - X - - diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index e0a3d63..bc5c78c 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -389,8 +389,8 @@ static RemminaProtocolPlugin remmina_plugin_xdmcp = N_("XDMCP - X Remote Session"), // Description GETTEXT_PACKAGE, // Translation domain VERSION, // Version number - "remmina-xdmcp", // Icon for normal connection - "remmina-xdmcp-ssh", // Icon for SSH connection + "remmina-xdmcp-symbolic", // Icon for normal connection + "remmina-xdmcp-ssh-symbolic", // Icon for SSH connection remmina_plugin_xdmcp_basic_settings, // Array for basic settings NULL, // Array for advanced settings REMMINA_PROTOCOL_SSH_SETTING_TUNNEL, // SSH settings type -- cgit v1.2.3 From 1fc8f2912e5cb6d4b069d4ae0a02572b878d2cac Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Fri, 8 Jun 2018 22:43:40 +0200 Subject: Fixed protocol icons transparency --- scalable/emblems/remmina-xdmcp-ssh-symbolic.svg | 34 ++++++++--------------- scalable/emblems/remmina-xdmcp-symbolic.svg | 36 +++++++++---------------- 2 files changed, 23 insertions(+), 47 deletions(-) diff --git a/scalable/emblems/remmina-xdmcp-ssh-symbolic.svg b/scalable/emblems/remmina-xdmcp-ssh-symbolic.svg index 93c14e2..d76baf8 100644 --- a/scalable/emblems/remmina-xdmcp-ssh-symbolic.svg +++ b/scalable/emblems/remmina-xdmcp-ssh-symbolic.svg @@ -14,8 +14,8 @@ viewBox="0 0 26.458334 26.458332" version="1.1" id="svg8" - inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" - sodipodi:docname="remmina-xdmcp-ssh.svg"> + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="remmina-xdmcp-ssh-symbolic.svg"> image/svg+xml - + @@ -80,22 +80,10 @@ id="g817" transform="matrix(0.93878631,0,0,0.93878631,13.549948,10.22929)"> + style="isolation:isolate;fill:#000000;stroke-width:0.93878627" + d="M 49.884766 0.27539062 C 34.886727 0.27539062 22.888672 12.506314 22.888672 27.273438 L 22.888672 32.117188 L 9.7363281 32.117188 L 9.7363281 99.724609 L 31.220703 99.724609 L 90.263672 99.724609 L 90.263672 32.117188 L 76.880859 32.117188 L 76.880859 27.273438 C 76.880859 12.275364 64.651854 0.27539062 49.884766 0.27539062 z M 49.654297 14.582031 C 56.806908 14.582031 62.34375 20.350818 62.34375 27.273438 L 62.34375 32.117188 L 36.732422 32.117188 L 36.732422 27.273438 L 36.962891 27.273438 C 36.962891 20.119868 42.732636 14.582031 49.654297 14.582031 z M 19.505859 35.171875 L 35.611328 35.171875 L 49.972656 54.789062 L 64.388672 35.171875 L 80.494141 35.171875 L 58.105469 65.525391 L 81.126953 96.828125 L 65.023438 96.828125 L 49.972656 76.427734 L 34.976562 96.828125 L 18.873047 96.828125 L 42 65.525391 L 19.505859 35.171875 z " + transform="matrix(0.28183552,0,0,0.28183552,176.52729,140.19608)" + id="path79" /> - X diff --git a/scalable/emblems/remmina-xdmcp-symbolic.svg b/scalable/emblems/remmina-xdmcp-symbolic.svg index 0c05782..f27500d 100644 --- a/scalable/emblems/remmina-xdmcp-symbolic.svg +++ b/scalable/emblems/remmina-xdmcp-symbolic.svg @@ -14,8 +14,8 @@ viewBox="0 0 26.458334 26.458333" version="1.1" id="svg8" - inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" - sodipodi:docname="remmina-xdmcp.svg"> + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="remmina-xdmcp-symbolic.svg"> image/svg+xml - + @@ -85,10 +85,10 @@ + style="fill:#000000" + d="M 50 0.41992188 C 22.636001 0.41992188 0.41992188 22.636001 0.41992188 50 C 0.41992188 77.363999 22.636001 99.580078 50 99.580078 C 77.363999 99.580078 99.580078 77.363999 99.580078 50 C 99.580078 22.636001 77.363999 0.41992188 50 0.41992188 z M 19.505859 19.171875 L 35.611328 19.171875 L 49.972656 38.787109 L 64.388672 19.171875 L 80.494141 19.171875 L 58.105469 49.525391 L 81.126953 80.828125 L 65.023438 80.828125 L 49.972656 60.427734 L 34.976562 80.828125 L 18.873047 80.828125 L 42 49.525391 L 19.505859 19.171875 z " + transform="translate(139.20601,257.47249)" + id="path48" /> @@ -105,17 +105,5 @@ - X -- cgit v1.2.3 From caee664642b7c07682aeb72f778982e9f0ead389 Mon Sep 17 00:00:00 2001 From: Giovanni Panozzo Date: Wed, 22 Aug 2018 11:20:21 +0200 Subject: Fixes a crash deleting XDMCP profile --- xdmcp_plugin.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index bc5c78c..54bef3c 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -363,8 +363,8 @@ static gpointer colordepth_list[] = */ static const RemminaProtocolSetting remmina_plugin_xdmcp_basic_settings[] = { - { REMMINA_PROTOCOL_SETTING_TYPE_SERVER, NULL, NULL, FALSE, NULL, NULL }, - { REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION, NULL, NULL, FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_SERVER, "server", NULL, FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION, "resolution", NULL, FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "colordepth", N_("Color depth"), FALSE, colordepth_list, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "exec", N_("Startup program"), FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "showcursor", N_("Use local cursor"), FALSE, NULL, NULL }, -- cgit v1.2.3 From e41db734ac0f410926c1d1ff8ace8582ad861c34 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Thu, 27 Sep 2018 00:33:00 +0200 Subject: Plugin declare it uses GtkSocket and rcw block the call if not supported --- xdmcp_plugin.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 54bef3c..478047b 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -40,6 +40,7 @@ INCLUDE_GET_AVAILABLE_XDISPLAY #define REMMINA_PLUGIN_XDMCP_FEATURE_TOOL_SENDCTRLALTDEL 1 +#define REMMINA_PLUGIN_XDMCP_FEATURE_GTKSOCKET 1 #define GET_PLUGIN_DATA(gp) (RemminaPluginXdmcpData*)g_object_get_data(G_OBJECT(gp), "plugin-data"); @@ -378,6 +379,7 @@ static const RemminaProtocolSetting remmina_plugin_xdmcp_basic_settings[] = static const RemminaProtocolFeature remmina_plugin_xdmcp_features[] = { { REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_XDMCP_FEATURE_TOOL_SENDCTRLALTDEL, N_("Send Ctrl+Alt+Delete"), NULL, NULL }, + { REMMINA_PROTOCOL_FEATURE_TYPE_GTKSOCKET, REMMINA_PLUGIN_XDMCP_FEATURE_GTKSOCKET, NULL, NULL, NULL}, { REMMINA_PROTOCOL_FEATURE_TYPE_END, 0, NULL, NULL, NULL } }; -- cgit v1.2.3 From b615093e5c7b9f952b2188a530d276aec812b691 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Sat, 5 Jan 2019 02:37:22 +0100 Subject: Gtk icon cache update during install phase --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 590c3b8..6c4449b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,3 +48,5 @@ install(FILES scalable/emblems/remmina-xdmcp-ssh-symbolic.svg scalable/emblems/remmina-xdmcp-symbolic.svg DESTINATION ${APPICONSCALE_EMBLEMS_DIR}) + +gtk_update_icon_cache("${REMMINA_DATADIR}/icons/hicolor") -- cgit v1.2.3 From 1dbeca6b6980ad4f61de9ccf16996a9a1250d8a0 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Thu, 10 Jan 2019 01:02:37 +0100 Subject: Updating coyright for year 2019 --- CMakeLists.txt | 2 +- xdmcp_plugin.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c4449b..57da9b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # remmina-plugin-xdmcp - The GTK+ Remote Desktop Client # # Copyright (C) 2011 Marc-Andre Moreau -# Copyright (C) 2014-2018 Antenore Gatta, Giovanni Panozzo +# Copyright (C) 2014-2019 Antenore Gatta, Giovanni Panozzo # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 478047b..4f205fa 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -2,7 +2,7 @@ * Remmina - The GTK+ Remote Desktop Client * Copyright (C) 2010 Vic Lee * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo - * Copyright (C) 2016-2018 Antenore Gatta, Giovanni Panozzo + * Copyright (C) 2016-2019 Antenore Gatta, Giovanni Panozzo * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- cgit v1.2.3 From 2161c3959d8370ddc96b14695a3faabd5a8fcf22 Mon Sep 17 00:00:00 2001 From: Davy Defaud Date: Sun, 27 Jan 2019 19:08:53 +0100 Subject: Replace all triple points by ellipsis characters Remove spaces before ellipsis, except for German. --- xdmcp_plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 4f205fa..d147ac8 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -279,7 +279,7 @@ static gboolean remmina_plugin_xdmcp_open_connection(RemminaProtocolWidget *gp) if (remmina_plugin_service->file_get_int(remminafile, "ssh_enabled", FALSE)) { if (pthread_create(&gpdata->thread, NULL, remmina_plugin_xdmcp_main_thread, gp)) { remmina_plugin_service->protocol_plugin_set_error(gp, - "Failed to initialize pthread. Falling back to non-thread mode..."); + "Failed to initialize pthread. Falling back to non-thread mode…"); gpdata->thread = 0; return FALSE; }else { -- cgit v1.2.3 From ec28282991975bd110b82ae5dc1601e87a99a1b2 Mon Sep 17 00:00:00 2001 From: Davy Defaud Date: Sun, 27 Jan 2019 19:47:11 +0100 Subject: Replace single quotes by true apostrophes --- xdmcp_plugin.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index d147ac8..249a766 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -107,7 +107,7 @@ static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) argv[argc++] = g_strdup_printf("%i", gpdata->socket_id); /* All Xephyr version between 1.5.0 and 1.6.4 will break when -screen argument is specified with -parent. - * It's not possible to support color depth if you have those Xephyr version. Please see this bug + * It’s not possible to support color depth if you have those Xephyr version. Please see this bug * http://bugs.freedesktop.org/show_bug.cgi?id=24144 * As a workaround, a "Default" color depth will not add the -screen argument. */ @@ -152,7 +152,7 @@ static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) argv[argc++] = g_strdup("-nolisten"); argv[argc++] = g_strdup("tcp"); - /* FIXME: It's better to get the magic cookie back from xqproxy, then call xauth, + /* FIXME: It’s better to get the magic cookie back from xqproxy, then call xauth, * instead of disable access control */ argv[argc++] = g_strdup("-ac"); } -- cgit v1.2.3 From 30a0ca9dade2a7da4485958a6a1a914ff58b3801 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Tue, 18 Jun 2019 23:02:51 +0200 Subject: Fixing typos of X.Org, Java and H.264 --- xdmcp_plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 249a766..0cfed92 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -261,7 +261,7 @@ static gboolean remmina_plugin_xdmcp_open_connection(RemminaProtocolWidget *gp) if (!remmina_plugin_service->gtksocket_available()) { remmina_plugin_service->protocol_plugin_set_error(gp, - _("Protocol %s is unavailable because GtkSocket only works under Xorg"), + _("Protocol %s is unavailable because GtkSocket only works under X.Org"), remmina_plugin_xdmcp.name); return FALSE; } -- cgit v1.2.3 From 2fd4bbbee01a75c93e699ed59dfdfc83aa3f6558 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Wed, 31 Jul 2019 01:56:49 +0200 Subject: Make icon cache optional. Partly solve #1045 --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 57da9b4..f353e25 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,4 +49,6 @@ install(FILES scalable/emblems/remmina-xdmcp-symbolic.svg DESTINATION ${APPICONSCALE_EMBLEMS_DIR}) -gtk_update_icon_cache("${REMMINA_DATADIR}/icons/hicolor") +if(WITH_ICON_CACHE) + gtk_update_icon_cache("${REMMINA_DATADIR}/icons/hicolor") +endif() -- cgit v1.2.3 From b6b32bed57ae775fc041737a6ce6aedf732059b9 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Sat, 7 Sep 2019 01:06:15 +0200 Subject: Adding setting tooltip in the remmina profile editor --- xdmcp_plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 0cfed92..cbbaa68 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -360,7 +360,7 @@ static gpointer colordepth_list[] = * c) Setting description * d) Compact disposition * e) Values for REMMINA_PROTOCOL_SETTING_TYPE_SELECT or REMMINA_PROTOCOL_SETTING_TYPE_COMBO - * f) Unused pointer + * f) Setting Tooltip */ static const RemminaProtocolSetting remmina_plugin_xdmcp_basic_settings[] = { -- cgit v1.2.3 From f61920a95d22130259b3cceec867a9920d844aff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Fri, 1 Nov 2019 00:23:40 +0000 Subject: Spelling: GTK, Disconnect after first session, Listen for TCP connections (cherry picked from commit 9fe2c90c89922952434ac8bc19ec91ac3f8bba1d) --- xdmcp_plugin.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index cbbaa68..ac8109f 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -1,5 +1,5 @@ /* - * Remmina - The GTK+ Remote Desktop Client + * Remmina - The GTK Remote Desktop Client * Copyright (C) 2010 Vic Lee * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo * Copyright (C) 2016-2019 Antenore Gatta, Giovanni Panozzo @@ -129,7 +129,7 @@ static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) if (remmina_plugin_service->file_get_int(remminafile, "once", FALSE)) { argv[argc++] = g_strdup("-once"); } - /* Listen on protocol TCP */ + /* Listen on TCP protocol */ if (remmina_plugin_service->file_get_int(remminafile, "listen_on_tcp", FALSE)) { argv[argc++] = g_strdup("-listen"); argv[argc++] = g_strdup("tcp"); @@ -147,8 +147,8 @@ static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) argv[argc++] = g_strdup_printf("%i", i); } }else { - /* When the connection is through an SSH tunnel, it connects back to local unix socket, - * so for security we can disable tcp listening */ + /* When the connection is through an SSH tunnel, it connects back to local Unix socket, + * so for security we can disable TCP listening */ argv[argc++] = g_strdup("-nolisten"); argv[argc++] = g_strdup("tcp"); @@ -369,8 +369,8 @@ static const RemminaProtocolSetting remmina_plugin_xdmcp_basic_settings[] = { REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "colordepth", N_("Color depth"), FALSE, colordepth_list, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "exec", N_("Startup program"), FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "showcursor", N_("Use local cursor"), FALSE, NULL, NULL }, - { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "once", N_("Disconnect after one session"), FALSE, NULL, NULL }, - { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "listen_on_tcp", N_("Listening connection on protocol TCP"), FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "once", N_("Disconnect after first session"), FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "listen_on_tcp", N_("Listen for TCP connections"), FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, FALSE, NULL, NULL } }; -- cgit v1.2.3 From 020e8619a96c342cb5d9d3d50f688e05349348d3 Mon Sep 17 00:00:00 2001 From: Giovanni Panozzo Date: Sun, 27 Oct 2019 21:41:37 +0100 Subject: Plugin connection close refactoring --- xdmcp_plugin.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index ac8109f..97f71fc 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -68,14 +68,14 @@ static void remmina_plugin_xdmcp_on_plug_added(GtkSocket *socket, RemminaProtoco TRACE_CALL(__func__); RemminaPluginXdmcpData *gpdata = GET_PLUGIN_DATA(gp); - remmina_plugin_service->protocol_plugin_emit_signal(gp, "connect"); + remmina_plugin_service->protocol_plugin_signal_connection_opened(gp); gpdata->ready = TRUE; } static void remmina_plugin_xdmcp_on_plug_removed(GtkSocket *socket, RemminaProtocolWidget *gp) { TRACE_CALL(__func__); - remmina_plugin_service->protocol_plugin_close_connection(gp); + remmina_plugin_service->protocol_plugin_signal_connection_closed(gp); } static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) @@ -228,7 +228,7 @@ remmina_plugin_xdmcp_main_thread(gpointer data) CANCEL_ASYNC if (!remmina_plugin_xdmcp_main((RemminaProtocolWidget*)data)) { - IDLE_ADD((GSourceFunc)remmina_plugin_service->protocol_plugin_close_connection, data); + IDLE_ADD((GSourceFunc)remmina_plugin_service->protocol_plugin_signal_connection_closed, data); } return NULL; } @@ -307,7 +307,7 @@ static gboolean remmina_plugin_xdmcp_close_connection(RemminaProtocolWidget *gp) gpdata->pid = 0; } - remmina_plugin_service->protocol_plugin_emit_signal(gp, "disconnect"); + remmina_plugin_service->protocol_plugin_signal_connection_closed(gp); return FALSE; } @@ -421,4 +421,3 @@ remmina_plugin_entry(RemminaPluginService *service) return TRUE; } - -- cgit v1.2.3 From 34b78da7775df81d1c8a9ddc3c316dce6dac369e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Fri, 6 Dec 2019 07:44:28 +0000 Subject: Spelling: Private key, direct explanations --- xdmcp_plugin.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 97f71fc..bfdd963 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -106,10 +106,10 @@ static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) argv[argc++] = g_strdup("-parent"); argv[argc++] = g_strdup_printf("%i", gpdata->socket_id); - /* All Xephyr version between 1.5.0 and 1.6.4 will break when -screen argument is specified with -parent. - * It’s not possible to support color depth if you have those Xephyr version. Please see this bug + /* All Xephyr version between 1.5.0 and 1.6.4 will break when "-screen" argument is specified with "-parent". + * It’s not possible to support colour depth if you have those Xephyr version. Please see this bug * http://bugs.freedesktop.org/show_bug.cgi?id=24144 - * As a workaround, a "Default" color depth will not add the -screen argument. + * As a workaround, a "Default" colour depth will not add the "-screen" argument. */ i = remmina_plugin_service->file_get_int(remminafile, "colordepth", 8); if (i >= 8) { @@ -261,7 +261,7 @@ static gboolean remmina_plugin_xdmcp_open_connection(RemminaProtocolWidget *gp) if (!remmina_plugin_service->gtksocket_available()) { remmina_plugin_service->protocol_plugin_set_error(gp, - _("Protocol %s is unavailable because GtkSocket only works under X.Org"), + _("The protocol \"%s\" is unavailable because GtkSocket only works under X.Org."), remmina_plugin_xdmcp.name); return FALSE; } @@ -312,7 +312,7 @@ static gboolean remmina_plugin_xdmcp_close_connection(RemminaProtocolWidget *gp) return FALSE; } -/* Send CTRL+ALT+DEL keys keystrokes to the plugin socket widget */ +/* Send Ctrl+Alt+Del keys keystrokes to the plugin socket widget */ static void remmina_plugin_xdmcp_send_ctrlaltdel(RemminaProtocolWidget *gp) { TRACE_CALL(__func__); @@ -342,14 +342,14 @@ static void remmina_plugin_xdmcp_call_feature(RemminaProtocolWidget *gp, const R } } -/* Array of key/value pairs for color depths */ +/* Array of key/value pairs for colour depths */ static gpointer colordepth_list[] = { "0", N_("Default"), "2", N_("Grayscale"), - "8", N_("256 colors"), - "16", N_("High color (16 bit)"), - "24", N_("True color (24 bit)"), + "8", N_("256 colours"), + "16", N_("High colour (16 bit)"), + "24", N_("True colour (24 bit)"), NULL }; @@ -360,13 +360,13 @@ static gpointer colordepth_list[] = * c) Setting description * d) Compact disposition * e) Values for REMMINA_PROTOCOL_SETTING_TYPE_SELECT or REMMINA_PROTOCOL_SETTING_TYPE_COMBO - * f) Setting Tooltip + * f) Setting tooltip */ static const RemminaProtocolSetting remmina_plugin_xdmcp_basic_settings[] = { { REMMINA_PROTOCOL_SETTING_TYPE_SERVER, "server", NULL, FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION, "resolution", NULL, FALSE, NULL, NULL }, - { REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "colordepth", N_("Color depth"), FALSE, colordepth_list, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "colordepth", N_("Colour depth"), FALSE, colordepth_list, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "exec", N_("Startup program"), FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "showcursor", N_("Use local cursor"), FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "once", N_("Disconnect after first session"), FALSE, NULL, NULL }, -- cgit v1.2.3 From eb2b0e1b61bb011dfb6a6e7e71f38a648fc17ac8 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Fri, 10 Jan 2020 15:25:07 +0100 Subject: Updating copyrights and contribution lists --- CMakeLists.txt | 2 +- xdmcp_plugin.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f353e25..049ec7f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # remmina-plugin-xdmcp - The GTK+ Remote Desktop Client # # Copyright (C) 2011 Marc-Andre Moreau -# Copyright (C) 2014-2019 Antenore Gatta, Giovanni Panozzo +# Copyright (C) 2014-2020 Antenore Gatta, Giovanni Panozzo # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index bfdd963..9e0592d 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -2,7 +2,7 @@ * Remmina - The GTK Remote Desktop Client * Copyright (C) 2010 Vic Lee * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo - * Copyright (C) 2016-2019 Antenore Gatta, Giovanni Panozzo + * Copyright (C) 2016-2020 Antenore Gatta, Giovanni Panozzo * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- cgit v1.2.3 From 76bb48269bdbe17bd41bc263dd5a0c86b9e84d47 Mon Sep 17 00:00:00 2001 From: Giovanni Panozzo Date: Thu, 16 Jan 2020 07:33:27 +0100 Subject: Separate ssh tunnel params from ssh connection params --- xdmcp_plugin.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 9e0592d..d5e8c66 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -135,7 +135,7 @@ static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) argv[argc++] = g_strdup("tcp"); } - if (!remmina_plugin_service->file_get_int(remminafile, "ssh_enabled", FALSE)) { + if (!remmina_plugin_service->file_get_int(remminafile, "ssh_tunnel_enabled", FALSE)) { remmina_plugin_service->get_server_port(remmina_plugin_service->file_get_string(remminafile, "server"), 0, &host, &i); @@ -204,7 +204,7 @@ static gboolean remmina_plugin_xdmcp_main(RemminaProtocolWidget *gp) remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); - if (remmina_plugin_service->file_get_int(remminafile, "ssh_enabled", FALSE)) { + if (remmina_plugin_service->file_get_int(remminafile, "ssh_tunnel_enabled", FALSE)) { if (!remmina_plugin_service->protocol_plugin_start_xport_tunnel(gp, remmina_plugin_xdmcp_tunnel_init_callback)) { gpdata->thread = 0; return FALSE; @@ -276,7 +276,7 @@ static gboolean remmina_plugin_xdmcp_open_connection(RemminaProtocolWidget *gp) gpdata->socket_id = gtk_socket_get_id(GTK_SOCKET(gpdata->socket)); - if (remmina_plugin_service->file_get_int(remminafile, "ssh_enabled", FALSE)) { + if (remmina_plugin_service->file_get_int(remminafile, "ssh_tunnel_enabled", FALSE)) { if (pthread_create(&gpdata->thread, NULL, remmina_plugin_xdmcp_main_thread, gp)) { remmina_plugin_service->protocol_plugin_set_error(gp, "Failed to initialize pthread. Falling back to non-thread mode…"); -- cgit v1.2.3 From 1ac0160ebd2d731c9b57bfaf6b8d3bb8855f06f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Tue, 5 May 2020 15:39:11 +0000 Subject: Spelling: Ran out of, Could not start, keystrokes --- xdmcp_plugin.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index d5e8c66..148d373 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -94,7 +94,7 @@ static gboolean remmina_plugin_xdmcp_start_xephyr(RemminaProtocolWidget *gp) gpdata->display = remmina_get_available_xdisplay(); if (gpdata->display == 0) { - remmina_plugin_service->protocol_plugin_set_error(gp, _("Run out of available local X display number.")); + remmina_plugin_service->protocol_plugin_set_error(gp, _("Ran out of available local X display numbers.")); return FALSE; } @@ -279,7 +279,7 @@ static gboolean remmina_plugin_xdmcp_open_connection(RemminaProtocolWidget *gp) if (remmina_plugin_service->file_get_int(remminafile, "ssh_tunnel_enabled", FALSE)) { if (pthread_create(&gpdata->thread, NULL, remmina_plugin_xdmcp_main_thread, gp)) { remmina_plugin_service->protocol_plugin_set_error(gp, - "Failed to initialize pthread. Falling back to non-thread mode…"); + "Could not start pthread. Using non-threaded mode instead…"); gpdata->thread = 0; return FALSE; }else { @@ -312,7 +312,7 @@ static gboolean remmina_plugin_xdmcp_close_connection(RemminaProtocolWidget *gp) return FALSE; } -/* Send Ctrl+Alt+Del keys keystrokes to the plugin socket widget */ +/* Send Ctrl+Alt+Del keystrokes to the plugin socket widget */ static void remmina_plugin_xdmcp_send_ctrlaltdel(RemminaProtocolWidget *gp) { TRACE_CALL(__func__); -- cgit v1.2.3 From 1f70fc54a5d8e1a915996e5b731c2223628815c7 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Mon, 4 Jan 2021 08:12:01 +0100 Subject: Updating Copyright notice for 2021 --- CMakeLists.txt | 2 +- xdmcp_plugin.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 049ec7f..df0f09c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # remmina-plugin-xdmcp - The GTK+ Remote Desktop Client # # Copyright (C) 2011 Marc-Andre Moreau -# Copyright (C) 2014-2020 Antenore Gatta, Giovanni Panozzo +# Copyright (C) 2014-2021 Antenore Gatta, Giovanni Panozzo # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 148d373..15c2695 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -2,7 +2,7 @@ * Remmina - The GTK Remote Desktop Client * Copyright (C) 2010 Vic Lee * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo - * Copyright (C) 2016-2020 Antenore Gatta, Giovanni Panozzo + * Copyright (C) 2016-2021 Antenore Gatta, Giovanni Panozzo * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- cgit v1.2.3 From 3cc50ff2f684b37569e60cbc199254a0e10729a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Fri, 15 Jan 2021 07:43:52 +0000 Subject: Spelling: Start-up --- xdmcp_plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 15c2695..3b66eb5 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -367,7 +367,7 @@ static const RemminaProtocolSetting remmina_plugin_xdmcp_basic_settings[] = { REMMINA_PROTOCOL_SETTING_TYPE_SERVER, "server", NULL, FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION, "resolution", NULL, FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "colordepth", N_("Colour depth"), FALSE, colordepth_list, NULL }, - { REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "exec", N_("Startup program"), FALSE, NULL, NULL }, + { REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "exec", N_("Start-up program"), FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "showcursor", N_("Use local cursor"), FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "once", N_("Disconnect after first session"), FALSE, NULL, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "listen_on_tcp", N_("Listen for TCP connections"), FALSE, NULL, NULL }, -- cgit v1.2.3 From 436fd2fc944cef77376e6dbf00bd9ea48f98300d Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Fri, 22 Jan 2021 08:43:30 +0100 Subject: Using curly double quotes where possible --- xdmcp_plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 3b66eb5..2caa961 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -261,7 +261,7 @@ static gboolean remmina_plugin_xdmcp_open_connection(RemminaProtocolWidget *gp) if (!remmina_plugin_service->gtksocket_available()) { remmina_plugin_service->protocol_plugin_set_error(gp, - _("The protocol \"%s\" is unavailable because GtkSocket only works under X.Org."), + _("The protocol “%s” is unavailable because GtkSocket only works under X.Org."), remmina_plugin_xdmcp.name); return FALSE; } -- cgit v1.2.3 From 73724a5c0412cf8259aab65491b025e166b9a202 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Fri, 23 Apr 2021 15:10:01 +0200 Subject: Fixing RemminaConnectionWindow map/unmap events The remmina connection windows in fullscreen is a different object than when is in scrolled mode, therefore the old logic to map and unmap the windows from the plugin it was notr working. Now the events are managed directly from the RCW object and the RemminaProtocolWidget, with an API that can be used by any plugins. When in multi monitor and fullscreen, this mechanism doesn't work, Therefore, in the plugin itself I catch when we are in multi monitor fullscreen mode And I ignore the event. This last behaviour should be managed directly in the Remmina Protocol Widget (TODO). Fixes #2475 Signed-off-by: Antenore Gatta --- xdmcp_plugin.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xdmcp_plugin.c b/xdmcp_plugin.c index 2caa961..8e4fce3 100644 --- a/xdmcp_plugin.c +++ b/xdmcp_plugin.c @@ -403,7 +403,9 @@ static RemminaProtocolPlugin remmina_plugin_xdmcp = remmina_plugin_xdmcp_query_feature, // Query for available features remmina_plugin_xdmcp_call_feature, // Call a feature NULL, // Send a keystroke - NULL // No screenshot support available + NULL, // No screenshot support available + NULL, // RCW map event + NULL // RCW unmap event }; G_MODULE_EXPORT gboolean -- cgit v1.2.3