Commit 1e0bb5569c9089cf43d83b9f16f99e62a0ee2546

Authored by Perry Werneck
1 parent 957b5cd8
Exists in master and in 1 other branch develop

Changing the default session name from "application name" to "product

name".
src/terminal/properties/get.c
... ... @@ -124,17 +124,21 @@ LIB3270_EXPORT const gchar * v3270_get_luname(GtkWidget *widget)
124 124 return lib3270_get_luname(GTK_V3270(widget)->host);
125 125 }
126 126  
127   -LIB3270_EXPORT const gchar * v3270_get_session_name(GtkWidget *widget)
  127 +LIB3270_EXPORT const gchar * v3270_get_session_name(GtkWidget *widget)
128 128 {
129   -#ifdef DEBUG
  129 + g_return_val_if_fail(GTK_IS_V3270(widget),NULL);
  130 +
130 131 v3270 * terminal = GTK_V3270(widget);
131   - debug("Session name: [%s] Application name: [%s]",terminal->session_name, g_get_application_name());
132   -#endif // DEBUG
133 132  
134   - if(!(GTK_IS_V3270(widget) && GTK_V3270(widget)->session_name))
135   - return g_get_application_name();
  133 + if(terminal->session_name)
  134 + return terminal->session_name;
  135 +
  136 + char id[] = { lib3270_get_session_id(terminal->host), 0 };
  137 + if(id[0])
  138 + return (terminal->session_name = g_strconcat(G_STRINGIFY(PRODUCT_NAME),":",id,NULL));
  139 +
  140 + return G_STRINGIFY(PRODUCT_NAME);
136 141  
137   - return GTK_V3270(widget)->session_name;
138 142 }
139 143  
140 144 LIB3270_EXPORT H3270 * v3270_get_session(GtkWidget *widget)
... ...
src/testprogram/testprogram.c
... ... @@ -43,6 +43,10 @@
43 43  
44 44 /*---[ Implement ]----------------------------------------------------------------------------------*/
45 45  
  46 + static void session_changed(GtkWidget *terminal, GtkWidget *window) {
  47 + gtk_window_set_title(GTK_WINDOW(window),v3270_get_session_name(terminal));
  48 + }
  49 +
46 50 static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) {
47 51  
48 52 GtkWidget * window = gtk_application_window_new(app);
... ... @@ -76,11 +80,14 @@
76 80 // v3270_trace_window_new(terminal,NULL);
77 81  
78 82 // Setup and show main window
  83 + gtk_window_set_title(GTK_WINDOW(window),v3270_get_session_name(terminal));
79 84 gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
80 85 gtk_window_set_default_size (GTK_WINDOW (window), 800, 500);
81 86 gtk_container_add(GTK_CONTAINER(window),vBox);
82 87 gtk_widget_show_all(window);
83 88  
  89 + g_signal_connect(G_OBJECT(terminal),"session_changed",G_CALLBACK(session_changed),window);
  90 +
84 91 gtk_widget_grab_focus(terminal);
85 92  
86 93 }
... ...