typedef struct
{
+ /* User list this user is part of */
LightDMUserList *user_list;
+ /* DMRC file */
+ GKeyFile *dmrc_file;
+
+ /* Username */
gchar *name;
+
+ /* Descriptive name for user */
gchar *real_name;
+
+ /* Home directory of user */
gchar *home_directory;
+
+ /* Image for user */
gchar *image;
+
+ /* Background image for users */
gchar *background;
+
+ /* TRUE if this user has messages available */
gboolean has_messages;
- GKeyFile *dmrc_file;
+ /* User chosen language */
gchar *language;
+
+ /* User layout preferences */
gchar **layouts;
+
+ /* User default session */
gchar *session;
} LightDMUserPrivate;
for (link = priv->users; link; link = link->next)
{
LightDMUser *user = link->data;
- if (strcmp (lightdm_user_get_name (user), username) == 0)
+ if (g_strcmp0 (lightdm_user_get_name (user), username) == 0)
return user;
}
compare_user (gconstpointer a, gconstpointer b)
{
LightDMUser *user_a = (LightDMUser *) a, *user_b = (LightDMUser *) b;
- return strcmp (lightdm_user_get_display_name (user_a), lightdm_user_get_display_name (user_b));
+ return g_strcmp0 (lightdm_user_get_display_name (user_a), lightdm_user_get_display_name (user_b));
}
static gboolean
{
LightDMUserPrivate *priv = GET_USER_PRIVATE (user);
+ /* Skip if already set to this */
if (g_strcmp0 (lightdm_user_get_real_name (user), real_name) == 0 &&
g_strcmp0 (lightdm_user_get_home_directory (user), home_directory) == 0 &&
g_strcmp0 (lightdm_user_get_image (user), image) == 0)
if (!result)
return FALSE;
+ /* Store the properties we need */
g_variant_get (result, "(a{sv})", &iter);
while (g_variant_iter_loop (iter, "{&sv}", &name, &value))
{