Commit 1e0bb5569c9089cf43d83b9f16f99e62a0ee2546
1 parent
957b5cd8
Exists in
master
and in
1 other branch
Changing the default session name from "application name" to "product
name".
Showing
2 changed files
with
18 additions
and
7 deletions
Show diff stats
src/terminal/properties/get.c
@@ -124,17 +124,21 @@ LIB3270_EXPORT const gchar * v3270_get_luname(GtkWidget *widget) | @@ -124,17 +124,21 @@ LIB3270_EXPORT const gchar * v3270_get_luname(GtkWidget *widget) | ||
124 | return lib3270_get_luname(GTK_V3270(widget)->host); | 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 | v3270 * terminal = GTK_V3270(widget); | 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 | LIB3270_EXPORT H3270 * v3270_get_session(GtkWidget *widget) | 144 | LIB3270_EXPORT H3270 * v3270_get_session(GtkWidget *widget) |
src/testprogram/testprogram.c
@@ -43,6 +43,10 @@ | @@ -43,6 +43,10 @@ | ||
43 | 43 | ||
44 | /*---[ Implement ]----------------------------------------------------------------------------------*/ | 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 | static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { | 50 | static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { |
47 | 51 | ||
48 | GtkWidget * window = gtk_application_window_new(app); | 52 | GtkWidget * window = gtk_application_window_new(app); |
@@ -76,11 +80,14 @@ | @@ -76,11 +80,14 @@ | ||
76 | // v3270_trace_window_new(terminal,NULL); | 80 | // v3270_trace_window_new(terminal,NULL); |
77 | 81 | ||
78 | // Setup and show main window | 82 | // Setup and show main window |
83 | + gtk_window_set_title(GTK_WINDOW(window),v3270_get_session_name(terminal)); | ||
79 | gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); | 84 | gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); |
80 | gtk_window_set_default_size (GTK_WINDOW (window), 800, 500); | 85 | gtk_window_set_default_size (GTK_WINDOW (window), 800, 500); |
81 | gtk_container_add(GTK_CONTAINER(window),vBox); | 86 | gtk_container_add(GTK_CONTAINER(window),vBox); |
82 | gtk_widget_show_all(window); | 87 | gtk_widget_show_all(window); |
83 | 88 | ||
89 | + g_signal_connect(G_OBJECT(terminal),"session_changed",G_CALLBACK(session_changed),window); | ||
90 | + | ||
84 | gtk_widget_grab_focus(terminal); | 91 | gtk_widget_grab_focus(terminal); |
85 | 92 | ||
86 | } | 93 | } |