x11: Refactor the X11 startup notification bits into src/x11

Only one little bit left in MetaDisplay, because SnStartupSequence
is exposed in API there. These bits will be removed in future
commits.
This commit is contained in:
Carlos Garnacho
2018-08-22 20:57:04 +02:00
committed by Georges Basile Stavracas Neto
parent 576cd08088
commit 26fbd56a95
11 changed files with 422 additions and 351 deletions

View File

@@ -68,6 +68,7 @@
#include "meta/meta-enum-types.h"
#include "meta/meta-x11-errors.h"
#include "meta/prefs.h"
#include "x11/meta-startup-notification-x11.h"
#include "x11/meta-x11-display-private.h"
#include "x11/window-x11.h"
#include "x11/xprops.h"
@@ -632,10 +633,34 @@ on_startup_notification_changed (MetaStartupNotification *sn,
gpointer sequence,
MetaDisplay *display)
{
GSList *sequences, *l;
SnStartupSequence *seq;
g_slist_free (display->startup_sequences);
display->startup_sequences =
display->startup_sequences = NULL;
sequences =
meta_startup_notification_get_sequences (display->startup_notification);
g_signal_emit_by_name (display, "startup-sequence-changed", sequence);
for (l = sequences; l; l = l->next)
{
if (!META_IS_STARTUP_SEQUENCE_X11 (l->data))
continue;
g_object_get (G_OBJECT (l->data),
"seq", &seq,
NULL);
display->startup_sequences = g_slist_prepend (display->startup_sequences,
seq);
}
if (META_IS_STARTUP_SEQUENCE_X11 (sequence))
{
g_object_get (G_OBJECT (sequence),
"seq", &seq,
NULL);
g_signal_emit_by_name (display, "startup-sequence-changed", seq);
}
}
static void