Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntenore Gatta <antenore@simbiosi.org>2015-04-14 23:40:24 +0300
committerAntenore Gatta <antenore@simbiosi.org>2015-04-14 23:40:24 +0300
commit0b190a0a62127bf381f809c535fd378e681c8555 (patch)
treed3f69d887f24e58fbadf29d4f61c5422f82e66f2
parente9e5ae3f4e1a455e7c73044c5f3572e0bdb2ba78 (diff)
parente6071864c9690b2b27ed1c31084bed259a08ee02 (diff)
Merge pull request #552 from FreeRDP/commandsv1.2.0-rcgit.3
Added an option to execute commands just before to connect to a remote server closes #520
-rw-r--r--remmina-plugins/rdp/rdp_file.c1
-rw-r--r--remmina.doap29
-rw-r--r--remmina/desktop/remmina.appdata.xml22
-rw-r--r--remmina/src/remmina_connection_window.c13
-rw-r--r--remmina/src/remmina_file_editor.c20
-rw-r--r--remmina/ui/remmina_about.glade2
6 files changed, 85 insertions, 2 deletions
diff --git a/remmina-plugins/rdp/rdp_file.c b/remmina-plugins/rdp/rdp_file.c
index 3d327d7bd..a9aae2895 100644
--- a/remmina-plugins/rdp/rdp_file.c
+++ b/remmina-plugins/rdp/rdp_file.c
@@ -314,6 +314,7 @@ gboolean remmina_rdp_file_export_channel(RemminaFile* remminafile, FILE* fp)
fprintf(fp, "gatewayusagemethod:i:4\r\n");
fprintf(fp, "gatewaycredentialssource:i:4\r\n");
fprintf(fp, "gatewayprofileusagemethod:i:0\r\n");
+ fprintf(fp, "precommand:s:\r\n");
fprintf(fp, "promptcredentialonce:i:1\r\n");
fprintf(fp, "drivestoredirect:s:\r\n");
diff --git a/remmina.doap b/remmina.doap
new file mode 100644
index 000000000..cfd792260
--- /dev/null
+++ b/remmina.doap
@@ -0,0 +1,29 @@
+<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:foaf="http://xmlns.com/foaf/0.1/"
+ xmlns:gnome="http://api.gnome.org/doap-extensions#"
+ xmlns="http://usefulinc.com/ns/doap#">
+
+ <name xml:lang="en">Remmina</name>
+ <shortdesc xml:lang="en">Remote Desktop Client</shortdesc>
+ <shortdesc xml:lang="it">Client di connessione a desktop remoti</shortdesc>
+ <shortdesc xml:lang="fr">Client de contrôle de bureau à distance</shortdesc>
+ <homepage rdf:resource="https://github.com/FreeRDP/Remmina/wiki" />
+ <mailing-list rdf:resource="https://lists.sourceforge.net/mailman/listinfo/remmina-common" />
+ <download-page rdf:resource="https://github.com/FreeRDP/Remmina" />
+ <bug-database rdf:resource="https://bugzilla.gnome.org/browse.cgi?product=gnome-terminal" />
+ <category rdf:resource="http://api.gnome.org/doap-extensions#core" />
+ <programming-language>C</programming-language>
+
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Antenore Gatta</foaf:name>
+ <foaf:mbox rdf:resource="mailto:antenore@simbiosi.org" />
+ </foaf:Person>
+ </maintainer>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Giovanni Panozzo</foaf:name>
+ </foaf:Person>
+ </maintainer>
+</Project>
diff --git a/remmina/desktop/remmina.appdata.xml b/remmina/desktop/remmina.appdata.xml
index 628cbf3b6..11f2fe1b7 100644
--- a/remmina/desktop/remmina.appdata.xml
+++ b/remmina/desktop/remmina.appdata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright 2014 Fabio Castelli (Muflone) <muflone@vbsimple.net> -->
+<!--
+ Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli (Muflone), Giovanni Panozzo.
+ Copyright (C) 2009-2014 Vic Lee
+-->
<component type="desktop">
<id>remmina.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
@@ -7,6 +10,7 @@
<name>Remmina</name>
<summary>Remote Desktop Client</summary>
<summary xml:lang="it">Client di connessione a desktop remoti</summary>
+ <summary xml:lang="fr">Client de contrôle de bureau à distance</summary>
<description>
<p>
Remmina is a remote desktop client written in GTK+, aiming to be useful
@@ -19,6 +23,13 @@
numerosi computer remoti davanti a grandi monitor oppure a minuscoli
netbook.
</p>
+ <p xml:lang="fr">
+ Remmina est un client graphique de connexion et de prise de contrôle de
+ bureau multi-protocoles pour les systèmes d'exploitation basés sur le
+ noyau Linux. Il s'appuie sur la bibliothèque GTK+ pour l'affichage et
+ permet de se connecter à distance sur les bureaux de nombreux systèmes
+ d'exploitation : GNU/Linux, Unix, Windows, Mac OS, Android, etc.
+ </p>
<p>
Remmina supports multiple network protocols in an integrated and
@@ -34,6 +45,12 @@
NX (NoMachine NX / FreeNX), XDMCP (X Display Manager Control Protocol) e
SSH (Secure Shell / Open SSH).
</p>
+ <p xml:lang="fr">
+ Dans sa dernière version, Remmina prend en charge les technologies NX,
+ RDP, SFTP, SSH, VNC et XDMCP. Les connexions peuvent se faire en clair
+ (pas sécurisé du tout) ou à travers un tunnel SSH chiffré (recommandé)
+ par mot de passe ou par échange de clés.
+ </p>
<p>
External plugins are also supported to add new protocols and features.
@@ -42,6 +59,9 @@
Sono anche supportati plugin esterni per aggiungere nuovi protocolli e
funzionalità.
</p>
+ <p xml:lang="fr">
+ Ajout possible de greffons pour la gestion de nouveaux protocoles
+ </p>
</description>
<screenshots>
<screenshot type="default">https://freerdp.github.io/Remmina/images/appdata/main-en.png</screenshot>
diff --git a/remmina/src/remmina_connection_window.c b/remmina/src/remmina_connection_window.c
index 0d42a2043..92995b002 100644
--- a/remmina/src/remmina_connection_window.c
+++ b/remmina/src/remmina_connection_window.c
@@ -2154,6 +2154,7 @@ static void remmina_connection_window_initialize_notebook(GtkNotebook* to, GtkNo
GtkWidget* widget;
RemminaConnectionObject* tc;
+ /* Init connection */
if (cnnobj)
{
/* Initial connection for a newly created window */
@@ -3035,11 +3036,23 @@ remmina_connection_window_open_from_file_full(RemminaFile* remminafile, GCallbac
TRACE_CALL("remmina_connection_window_open_from_file_full");
RemminaConnectionObject* cnnobj;
+ GAppInfo *appinfo = NULL;
+ gboolean ret = FALSE;
+ char const *cmd = NULL;
+
remmina_file_update_screen_resolution(remminafile);
cnnobj = g_new0(RemminaConnectionObject, 1);
cnnobj->remmina_file = remminafile;
+ /* Exec precommand before everything else */
+ cmd = remmina_file_get_string(cnnobj->remmina_file, "precommand");
+ if (cmd)
+ {
+ appinfo = g_app_info_create_from_commandline(cmd, NULL, G_APP_INFO_CREATE_NEEDS_TERMINAL, NULL);
+ ret = g_app_info_launch(appinfo, NULL, NULL, NULL);
+ /* TODO error handling */
+ }
/* Create the RemminaProtocolWidget */
cnnobj->proto = remmina_protocol_widget_new();
diff --git a/remmina/src/remmina_file_editor.c b/remmina/src/remmina_file_editor.c
index f5184bd0e..40d49fca7 100644
--- a/remmina/src/remmina_file_editor.c
+++ b/remmina/src/remmina_file_editor.c
@@ -96,6 +96,7 @@ struct _RemminaFileEditorPriv
GtkWidget* name_entry;
GtkWidget* group_combo;
GtkWidget* protocol_combo;
+ GtkWidget* precommand_entry;
GtkWidget* save_button;
GtkWidget* config_box;
@@ -1100,6 +1101,8 @@ static void remmina_file_editor_update(RemminaFileEditor* gfe)
remmina_file_set_string_ref(priv->remmina_file, "protocol",
remmina_public_combo_get_active_text(GTK_COMBO_BOX(priv->protocol_combo)));
+ remmina_file_set_string(priv->remmina_file, "precommand", gtk_entry_get_text(GTK_ENTRY(priv->precommand_entry)));
+
remmina_file_set_string_ref(priv->remmina_file, "server",
(priv->server_combo ? remmina_public_combo_get_active_text(GTK_COMBO_BOX(priv->server_combo)) : NULL));
@@ -1143,6 +1146,7 @@ static void remmina_file_editor_on_default(GtkWidget* button, RemminaFileEditor*
remmina_file_set_string(gf, "name", NULL);
remmina_file_set_string(gf, "server", NULL);
remmina_file_set_string(gf, "password", NULL);
+ remmina_file_set_string(gf, "precommand", NULL);
remmina_file_save_all(gf);
remmina_file_free(gf);
@@ -1376,6 +1380,22 @@ GtkWidget* remmina_file_editor_new_from_file(RemminaFile* remminafile)
remmina_plugin_manager_for_each_plugin(REMMINA_PLUGIN_TYPE_PROTOCOL, remmina_file_editor_iterate_protocol, gfe);
g_signal_connect(G_OBJECT(widget), "changed", G_CALLBACK(remmina_file_editor_protocol_combo_on_changed), gfe);
+ /* Pre command */
+ widget = gtk_label_new(_("Command"));
+ gtk_widget_show(widget);
+ gtk_widget_set_valign (widget, GTK_ALIGN_START);
+ gtk_widget_set_halign (widget, GTK_ALIGN_START);
+ gtk_grid_attach(GTK_GRID(grid), widget, 0, 12, 3, 1);
+ gtk_grid_set_column_spacing (GTK_GRID(grid), 10);
+
+ widget = gtk_entry_new();
+ gtk_widget_show(widget);
+ gtk_grid_attach(GTK_GRID(grid), widget, 1, 12, 3, 1);
+ gtk_entry_set_max_length(GTK_ENTRY(widget), 100);
+ priv->precommand_entry = widget;
+ cs = remmina_file_get_string(remminafile, "precommand");
+ gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : "");
+
/* Create the Preference frame */
widget = gtk_event_box_new();
gtk_widget_show(widget);
diff --git a/remmina/ui/remmina_about.glade b/remmina/ui/remmina_about.glade
index cd425270b..e440236d9 100644
--- a/remmina/ui/remmina_about.glade
+++ b/remmina/ui/remmina_about.glade
@@ -15,11 +15,11 @@ Copyright (C) 2009-2014 Vic Lee</property>
<property name="authors">Maintainers:
Vic Lee &lt;llyzs@163.com&gt;
Antenore Gatta &lt;antenore@simbiosi.org&gt;
-Fabio Castelli (Muflone) &lt;muflone@vbsimple.net&gt;
Giovanni Panozzo &lt;giovanni@panozzo.it&gt;
Contributors:
Alex Chateau &lt;ash@zednet.lv&gt;
Alexander Logvinov &lt;avl@logvinov.com&gt;
+Fabio Castelli (Muflone) &lt;muflone@vbsimple.net&gt;
Harun Trefry &lt;aihtdikh@gmail.com&gt;
Nikolay Botev &lt;bono8106@gmail.com&gt;</property>
<property name="documenters">Dario Cavedon &lt;dcavedon@gmail.com&gt;</property>