Display client name as window title.
This commit is contained in:
		@ -94,6 +94,7 @@ struct _ServerContext {
 | 
			
		||||
    guint registration_id;
 | 
			
		||||
    char *object_path;
 | 
			
		||||
    char *client_connection;
 | 
			
		||||
    char *client_name;
 | 
			
		||||
 | 
			
		||||
    gboolean enabled;
 | 
			
		||||
    gboolean last_keyboard_visible;
 | 
			
		||||
@ -285,7 +286,10 @@ update_widget (ServerContext *context)
 | 
			
		||||
 | 
			
		||||
        gtk_widget_set_can_focus (context->window, FALSE);
 | 
			
		||||
        g_object_set (G_OBJECT(context->window), "accept_focus", FALSE, NULL);
 | 
			
		||||
        gtk_window_set_title (GTK_WINDOW(context->window), _("Keyboard"));
 | 
			
		||||
        gtk_window_set_title (GTK_WINDOW(context->window),
 | 
			
		||||
                              context->client_name ?
 | 
			
		||||
                              context->client_name :
 | 
			
		||||
                              _("Keyboard"));
 | 
			
		||||
        gtk_window_set_icon_name (GTK_WINDOW(context->window), "eekboard");
 | 
			
		||||
        gtk_window_set_keep_above (GTK_WINDOW(context->window), TRUE);
 | 
			
		||||
 | 
			
		||||
@ -372,6 +376,7 @@ server_context_finalize (GObject *object)
 | 
			
		||||
 | 
			
		||||
    g_free (context->object_path);
 | 
			
		||||
    g_free (context->client_connection);
 | 
			
		||||
    g_free (context->client_name);
 | 
			
		||||
 | 
			
		||||
    G_OBJECT_CLASS (server_context_parent_class)->finalize (object);
 | 
			
		||||
}
 | 
			
		||||
@ -797,6 +802,7 @@ void
 | 
			
		||||
server_context_set_client_connection (ServerContext *context,
 | 
			
		||||
                                      const gchar   *client_connection)
 | 
			
		||||
{
 | 
			
		||||
    g_free (context->client_connection);
 | 
			
		||||
    context->client_connection = g_strdup (client_connection);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -805,3 +811,11 @@ server_context_get_client_connection (ServerContext *context)
 | 
			
		||||
{
 | 
			
		||||
    return context->client_connection;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
server_context_set_client_name (ServerContext *context,
 | 
			
		||||
                                const gchar   *client_name)
 | 
			
		||||
{
 | 
			
		||||
    g_free (context->client_name);
 | 
			
		||||
    context->client_name = g_strdup (client_name);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -43,6 +43,9 @@ void           server_context_set_client_connection
 | 
			
		||||
                                           const gchar     *client_connection);
 | 
			
		||||
const gchar   *server_context_get_client_connection
 | 
			
		||||
                                          (ServerContext   *context);
 | 
			
		||||
void           server_context_set_client_name
 | 
			
		||||
                                          (ServerContext   *context,
 | 
			
		||||
                                           const gchar     *client_name);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
#endif  /* SERVER_CONTEXT_H */
 | 
			
		||||
 | 
			
		||||
@ -321,6 +321,7 @@ handle_method_call (GDBusConnection       *connection,
 | 
			
		||||
        object_path = g_strdup_printf (SERVER_CONTEXT_PATH, context_id++);
 | 
			
		||||
        context = server_context_new (object_path, server->connection);
 | 
			
		||||
        server_context_set_client_connection (context, sender);
 | 
			
		||||
        server_context_set_client_name (context, client_name);
 | 
			
		||||
        g_hash_table_insert (server->context_hash,
 | 
			
		||||
                             object_path,
 | 
			
		||||
                             context);
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user