38 #include "buildflags.h" 40 #include <glib/gi18n.h> 61 # define ISSNAP "- SNAP Build -" 72 if (REMMINA_IS_CONNECTION_WINDOW(widget))
79 static const gchar build_config[] =
80 "Build configuration: " BUILD_CONFIG
"\n" 81 "Build type: " BUILD_TYPE
"\n" 82 "CFLAGS: " CFLAGS
"\n" 83 "Compiler: " COMPILER_ID
", " COMPILER_VERSION
"\n" 84 "Target architecture: " TARGET_ARCH
"\n";
102 g_application_quit(g_application_get_default());
107 TRACE_CALL(__func__);
110 if (REMMINA_IS_CONNECTION_WINDOW(widget)) {
119 TRACE_CALL(__func__);
152 while((c = *s) != 0 && c !=
'\r' && c !=
'\n')
168 gboolean abort = FALSE;
173 g_print(
"Unable to open profile file %s\n", profilefilename);
177 for(i = 0; settings[i] != NULL && !abort; i++) {
178 if (strlen(settings[i]) > 0) {
179 tk = g_strsplit(settings[i],
"=", 2);
181 read = getline(&line, &len, stdin);
186 g_print(
"Error: an extra line of standard input is needed\n");
196 if (line) free(line);
206 TRACE_CALL(__func__);
209 remmina_debug (
"Profile %s is set to autostart", remminafile->filename);
216 TRACE_CALL(__func__);
220 GtkWindow* mainwindow;
221 GtkDialog* prefdialog;
233 gtk_window_present(mainwindow);
234 gtk_window_deiconify(GTK_WINDOW(mainwindow));
237 gtk_widget_show(widget);
246 gtk_window_present(GTK_WINDOW(prefdialog));
247 gtk_window_deiconify(GTK_WINDOW(prefdialog));
251 gtk_widget_show(widget);
256 s1 = (data ? strchr(data,
',') : NULL);
259 s2 = strchr(s1,
',');
266 gtk_widget_show(widget);
280 gtk_widget_show(widget);
292 g_print(
"%s %s %s (git %s)\n", g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);
305 g_print(
"\n%s %s %s (git %s)\n\n", g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);
320 widget = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
321 _(
"Plugin %s is not registered."), data);
322 g_signal_connect(G_OBJECT(widget),
"response", G_CALLBACK(gtk_widget_destroy), NULL);
323 gtk_widget_show(widget);
int remmina_exec_set_setting(gchar *profilefilename, gchar **settings)
GtkWindow * remmina_main_get_window()
typedefG_BEGIN_DECLS struct _RemminaFile RemminaFile
gboolean rcw_delete(RemminaConnectionWindow *cnnwin)
gboolean remmina_icon_is_available(void)
Determine whenever the Remmina icon is available.
GtkWidget * remmina_file_editor_new_full(const gchar *server, const gchar *protocol)
GtkWidget * remmina_main_new(void)
void remmina_main_save_before_destroy()
Save the Remmina Main Window size and the exapnded group before to close Remmina. ...
const gchar * remmina_exec_get_build_config(void)
void remmina_debug(const gchar *fmt,...)
Print a string in the Remmina Debug Windows and in the terminal.
void remmina_plugin_manager_show(GtkWindow *parent)
static void remmina_exec_autostart_cb(RemminaFile *remminafile, gpointer user_data)
void remmina_icon_destroy(void)
void rcw_set_delete_confirm_mode(RemminaConnectionWindow *cnnwin, RemminaConnectionWindowOnDeleteConfirmMode mode)
void remmina_exec_command(RemminaCommandType command, const gchar *data)
void remmina_exec_exitremmina()
GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)
gint remmina_file_get_int(RemminaFile *remminafile, const gchar *setting, gint default_value)
void remmina_about_open(GtkWindow *parent)
RemminaPlugin * remmina_plugin_manager_get_plugin(RemminaPluginType type, const gchar *name)
GtkDialog * remmina_pref_dialog_get_dialog()
gboolean rcw_open_from_filename(const gchar *filename)
static gboolean cb_closewidget(GtkWidget *widget, gpointer data)
void remmina_application_condexit(RemminaCondExitType why)
static gboolean disable_rcw_delete_confirm_cb(GtkWidget *widget, gpointer data)
GtkDialog * remmina_pref_dialog_new(gint default_tab, GtkWindow *parent)
void remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value)
void remmina_file_save(RemminaFile *remminafile)
RemminaFile * remmina_file_manager_load_file(const gchar *filename)
static void newline_remove(char *s)
gint remmina_unlock_new(GtkWindow *parent)
void remmina_plugin_manager_show_stdout()
gint remmina_file_manager_iterate(GFunc func, gpointer user_data)