From 90edb584c1b24cd352e8e3e2f7e0217803a6fd10 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Fri, 27 Jan 2017 23:39:26 +0000 Subject: [PATCH 1/5] Improved 'Pre command' tooltip --- remmina/src/remmina_file_editor.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/remmina/src/remmina_file_editor.c b/remmina/src/remmina_file_editor.c index c7961f965c..e660b00f78 100644 --- a/remmina/src/remmina_file_editor.c +++ b/remmina/src/remmina_file_editor.c @@ -1419,12 +1419,9 @@ GtkWidget* remmina_file_editor_new_from_file(RemminaFile* remminafile) priv->precommand_entry = widget; cs = remmina_file_get_string(remminafile, "precommand"); gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : ""); - if (!cs) - { - s = g_strdup_printf(_("A command or a script name/path.")); - gtk_widget_set_tooltip_text (widget, s); - g_free(s); - } + s = g_strdup_printf(_("Script/command full path w/o arguments")); + gtk_widget_set_tooltip_text (widget, s); + g_free(s); /* POST Connection Command */ widget = gtk_label_new(_("Post Command")); @@ -1441,12 +1438,7 @@ GtkWidget* remmina_file_editor_new_from_file(RemminaFile* remminafile) priv->postcommand_entry = widget; cs = remmina_file_get_string(remminafile, "postcommand"); gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : ""); - if (!cs) - { - s = g_strdup_printf(_("A command or a script name/path.")); - gtk_widget_set_tooltip_text (widget, s); - g_free(s); - } + s = g_strdup_printf(_("Script/command full path w/o arguments")); /* Create the Preference frame */ widget = gtk_event_box_new(); From 8a0350f92e2958f2e40d15de58dff8244ed90547 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Thu, 2 Feb 2017 00:05:55 +0100 Subject: [PATCH 2/5] Tooltip imporvements - Copyright bump --- remmina/src/remmina_file_editor.c | 1 + remmina/ui/remmina_main.glade | 11 ++++++++--- remmina/ui/remmina_preferences.glade | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/remmina/src/remmina_file_editor.c b/remmina/src/remmina_file_editor.c index e660b00f78..ac9705f990 100644 --- a/remmina/src/remmina_file_editor.c +++ b/remmina/src/remmina_file_editor.c @@ -2,6 +2,7 @@ * Remmina - The GTK+ Remote Desktop Client * Copyright (C) 2009-2011 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 diff --git a/remmina/ui/remmina_main.glade b/remmina/ui/remmina_main.glade index 7ce19c55a0..52ca991604 100644 --- a/remmina/ui/remmina_main.glade +++ b/remmina/ui/remmina_main.glade @@ -1,8 +1,8 @@ - - + accelgroup_shortcuts @@ -286,6 +286,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 25 gtk-connect gtk-clear + Server name or IP address + Clear entrycompletion GTK_INPUT_HINT_WORD_COMPLETION | GTK_INPUT_HINT_NONE @@ -706,5 +708,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + + diff --git a/remmina/ui/remmina_preferences.glade b/remmina/ui/remmina_preferences.glade index 83ea5d45bd..825342413d 100644 --- a/remmina/ui/remmina_preferences.glade +++ b/remmina/ui/remmina_preferences.glade @@ -2,7 +2,7 @@ - + From 93b6bbfb1a68031d634f48e63bfa2604fcf892ca Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Thu, 9 Feb 2017 23:13:20 +0100 Subject: [PATCH 3/5] Improve #1084. The user can now choose the fullscreen behaviour --- remmina/src/remmina_connection_window.c | 16 +++++--- remmina/src/remmina_pref.c | 5 +++ remmina/src/remmina_pref.h | 1 + remmina/src/remmina_pref_dialog.c | 2 + remmina/src/remmina_pref_dialog.h | 1 + remmina/ui/remmina_preferences.glade | 52 +++++++++++++++++++------ 6 files changed, 60 insertions(+), 17 deletions(-) diff --git a/remmina/src/remmina_connection_window.c b/remmina/src/remmina_connection_window.c index e7aa4a7097..d7ec53ece7 100644 --- a/remmina/src/remmina_connection_window.c +++ b/remmina/src/remmina_connection_window.c @@ -2877,11 +2877,17 @@ static gboolean remmina_connection_window_go_fullscreen(GtkWidget *widget, GdkEv priv = cnnhld->cnnwin->priv; #if GTK_CHECK_VERSION(3, 18, 0) - gtk_window_fullscreen_on_monitor(GTK_WINDOW(cnnhld->cnnwin), - gdk_screen_get_default (), - gdk_screen_get_monitor_at_window - (gdk_screen_get_default (), gtk_widget_get_window(GTK_WIDGET(cnnhld->cnnwin)) - )); + if (remmina_pref.fullscreen_on_auto) + { + gtk_window_fullscreen_on_monitor(GTK_WINDOW(cnnhld->cnnwin), + gdk_screen_get_default (), + gdk_screen_get_monitor_at_window + (gdk_screen_get_default (), gtk_widget_get_window(GTK_WIDGET(cnnhld->cnnwin)) + )); + } else { + remmina_log_print("Fullscreen managed by WM or by the user, as per settings"); + gtk_window_fullscreen(GTK_WINDOW(cnnhld->cnnwin)); + } #else remmina_log_print("Cannot fullscreen on a specific monitor, feature available from GTK 3.18"); gtk_window_fullscreen(GTK_WINDOW(cnnhld->cnnwin)); diff --git a/remmina/src/remmina_pref.c b/remmina/src/remmina_pref.c index 530d91a79a..a8fbfe1e0a 100644 --- a/remmina/src/remmina_pref.c +++ b/remmina/src/remmina_pref.c @@ -255,6 +255,11 @@ void remmina_pref_init(void) else remmina_pref.invisible_toolbar = FALSE; + if (g_key_file_has_key(gkeyfile, "remmina_pref", "fullscreen_on_auto", NULL)) + remmina_pref.fullscreen_on_auto = g_key_file_get_boolean(gkeyfile, "remmina_pref", "fullscreen_on_auto", NULL); + else + remmina_pref.fullscreen_on_auto = TRUE; + if (g_key_file_has_key(gkeyfile, "remmina_pref", "floating_toolbar_placement", NULL)) remmina_pref.floating_toolbar_placement = g_key_file_get_integer(gkeyfile, "remmina_pref", "floating_toolbar_placement", NULL); else diff --git a/remmina/src/remmina_pref.h b/remmina/src/remmina_pref.h index e8433f3e16..684a4c4a6f 100644 --- a/remmina/src/remmina_pref.h +++ b/remmina/src/remmina_pref.h @@ -99,6 +99,7 @@ typedef struct _RemminaPref gchar *keystrokes; /* In RemminaPrefDialog appearance tab */ gboolean invisible_toolbar; + gboolean fullscreen_on_auto; gboolean always_show_tab; gboolean hide_connection_toolbar; gint default_mode; diff --git a/remmina/src/remmina_pref_dialog.c b/remmina/src/remmina_pref_dialog.c index cfddf5fd88..c147719fed 100644 --- a/remmina/src/remmina_pref_dialog.c +++ b/remmina/src/remmina_pref_dialog.c @@ -126,6 +126,7 @@ void remmina_pref_on_dialog_destroy(GtkWidget *widget, gpointer user_data) remmina_pref.save_view_mode = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(remmina_pref_dialog->checkbutton_options_remember_last_view_mode)); remmina_pref.save_when_connect = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(remmina_pref_dialog->checkbutton_options_save_settings)); remmina_pref.invisible_toolbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(remmina_pref_dialog->checkbutton_appearance_invisible_toolbar)); + remmina_pref.fullscreen_on_auto = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(remmina_pref_dialog->checkbutton_appearance_fullscreen_on_auto)); remmina_pref.always_show_tab = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(remmina_pref_dialog->checkbutton_appearance_show_tabs)); remmina_pref.hide_connection_toolbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(remmina_pref_dialog->checkbutton_appearance_hide_toolbar)); @@ -394,6 +395,7 @@ GtkDialog* remmina_pref_dialog_new(gint default_tab, GtkWindow *parent) remmina_pref_dialog->checkbutton_options_remember_last_view_mode = GTK_CHECK_BUTTON(GET_OBJECT("checkbutton_options_remember_last_view_mode")); remmina_pref_dialog->checkbutton_options_save_settings = GTK_CHECK_BUTTON(GET_OBJECT("checkbutton_options_save_settings")); remmina_pref_dialog->checkbutton_appearance_invisible_toolbar = GTK_CHECK_BUTTON(GET_OBJECT("checkbutton_appearance_invisible_toolbar")); + remmina_pref_dialog->checkbutton_appearance_fullscreen_on_auto = GTK_CHECK_BUTTON(GET_OBJECT("checkbutton_appearance_fullscreen_on_auto")); remmina_pref_dialog->checkbutton_appearance_show_tabs = GTK_CHECK_BUTTON(GET_OBJECT("checkbutton_appearance_show_tabs")); remmina_pref_dialog->checkbutton_appearance_hide_toolbar = GTK_CHECK_BUTTON(GET_OBJECT("checkbutton_appearance_hide_toolbar")); remmina_pref_dialog->comboboxtext_options_double_click = GTK_COMBO_BOX(GET_OBJECT("comboboxtext_options_double_click")); diff --git a/remmina/src/remmina_pref_dialog.h b/remmina/src/remmina_pref_dialog.h index 67bbd932f5..b145bb42a8 100644 --- a/remmina/src/remmina_pref_dialog.h +++ b/remmina/src/remmina_pref_dialog.h @@ -53,6 +53,7 @@ typedef struct _RemminaPrefDialog GtkCheckButton *checkbutton_options_remember_last_view_mode; GtkCheckButton *checkbutton_options_save_settings; GtkCheckButton *checkbutton_appearance_invisible_toolbar; + GtkCheckButton *checkbutton_appearance_fullscreen_on_auto; GtkCheckButton *checkbutton_appearance_show_tabs; GtkCheckButton *checkbutton_appearance_hide_toolbar; GtkComboBox *comboboxtext_options_double_click; diff --git a/remmina/ui/remmina_preferences.glade b/remmina/ui/remmina_preferences.glade index 825342413d..e80d320b0e 100644 --- a/remmina/ui/remmina_preferences.glade +++ b/remmina/ui/remmina_preferences.glade @@ -1,5 +1,5 @@ -