summaryrefslogtreecommitdiff
path: root/src/mir-server.c
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2013-07-25 09:42:16 +1200
committerRobert Ancell <robert.ancell@canonical.com>2013-07-25 09:42:16 +1200
commit58e1f2a5145b66a9f3853c2d83775d70d7ce27dc (patch)
treeee4bb7c752568ba33cdbae7999a73c629dccd5f4 /src/mir-server.c
parentd23ee069b10ed4369990c802cd9b676a61fd82db (diff)
downloadlightdm-58e1f2a5145b66a9f3853c2d83775d70d7ce27dc.tar.gz
Start to set Mir environment variables
Diffstat (limited to 'src/mir-server.c')
-rw-r--r--src/mir-server.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mir-server.c b/src/mir-server.c
index 9a2973d4..c43e6d34 100644
--- a/src/mir-server.c
+++ b/src/mir-server.c
@@ -12,11 +12,18 @@
#include <string.h>
#include "mir-server.h"
+#include "configuration.h"
struct MirServerPrivate
{
/* VT to run on */
gint vt;
+
+ /* Mir socket for children of this display server to communicate on */
+ gchar *mir_socket;
+
+ /* Mir socket for this server to talk to parent */
+ gchar *mir_parent_socket;
};
G_DEFINE_TYPE (MirServer, mir_server, DISPLAY_SERVER_TYPE);
@@ -42,6 +49,19 @@ mir_server_start (DisplayServer *display_server)
static void
mir_server_setup_session (DisplayServer *display_server, Session *session)
{
+ MirServer *mir_server;
+
+ mir_server = MIR_SERVER (display_server);
+ if (mir_server->priv->mir_socket)
+ session_set_env (session, "MIR_SOCKET", mir_server->priv->mir_socket);
+ if (mir_server->priv->mir_parent_socket)
+ session_set_env (session, "MIR_SERVER_FILE", mir_server->priv->mir_parent_socket);
+ if (mir_server->priv->vt > 0)
+ {
+ gchar *value = g_strdup_printf ("%d", mir_server->priv->vt);
+ session_set_env (session, "MIR_SERVER_VT", value);
+ g_free (value);
+ }
}
static void