147
151
g_return_val_if_fail (BAMF_IS_LEGACY_WINDOW (self), NULL);
150
153
if (BAMF_LEGACY_WINDOW_GET_CLASS (self)->get_name)
151
154
return BAMF_LEGACY_WINDOW_GET_CLASS (self)->get_name (self);
153
156
if (!self->priv->legacy_window)
155
159
return wnck_window_get_name (self->priv->legacy_window);
163
bamf_legacy_window_get_role (BamfLegacyWindow *self)
165
g_return_val_if_fail (BAMF_IS_LEGACY_WINDOW (self), NULL);
167
if (BAMF_LEGACY_WINDOW_GET_CLASS (self)->get_role)
168
return BAMF_LEGACY_WINDOW_GET_CLASS (self)->get_role (self);
170
if (!self->priv->legacy_window)
173
return wnck_window_get_role (self->priv->legacy_window);
159
177
bamf_legacy_window_get_process_name (BamfLegacyWindow *self)
369
handle_name_changed (WnckWindow *window, BamfLegacyWindow *self)
387
handle_window_signal (WnckWindow *window, gpointer data)
389
BamfLegacyWindow *self = g_object_get_data (G_OBJECT (window), WNCK_WINDOW_BAMF_DATA);
371
390
g_return_if_fail (BAMF_IS_LEGACY_WINDOW (self));
373
g_signal_emit (self, legacy_window_signals[NAME_CHANGED], 0);
392
g_signal_emit (self, legacy_window_signals[GPOINTER_TO_UINT (data)], 0);
384
403
g_signal_emit (self, legacy_window_signals[STATE_CHANGED], 0);
388
handle_geometry_changed (WnckWindow *window, BamfLegacyWindow *self)
390
g_return_if_fail (BAMF_IS_LEGACY_WINDOW (self));
392
g_signal_emit (self, legacy_window_signals[GEOMETRY_CHANGED], 0);
396
407
bamf_legacy_window_is_closed (BamfLegacyWindow *self)
565
577
if (self->priv->legacy_window)
579
g_object_set_data (G_OBJECT (self->priv->legacy_window), WNCK_WINDOW_BAMF_DATA, NULL);
567
580
g_signal_handlers_disconnect_by_data (self->priv->legacy_window, self);
582
for (i = 0; i < LAST_SIGNAL; ++i)
584
g_signal_handlers_disconnect_by_func (self->priv->legacy_window,
585
handle_window_signal,
586
GUINT_TO_POINTER (NAME_CHANGED));
570
590
G_OBJECT_CLASS (bamf_legacy_window_parent_class)->dispose (object);
593
613
G_OBJECT_CLASS_TYPE (klass),
594
614
G_SIGNAL_RUN_FIRST,
595
615
G_STRUCT_OFFSET (BamfLegacyWindowClass, name_changed),
597
g_cclosure_marshal_VOID__VOID,
616
NULL, NULL, NULL, G_TYPE_NONE, 0);
618
legacy_window_signals [ROLE_CHANGED] =
619
g_signal_new (BAMF_LEGACY_WINDOW_SIGNAL_ROLE_CHANGED,
620
G_OBJECT_CLASS_TYPE (klass),
622
G_STRUCT_OFFSET (BamfLegacyWindowClass, role_changed),
623
NULL, NULL, NULL, G_TYPE_NONE, 0);
625
legacy_window_signals [CLASS_CHANGED] =
626
g_signal_new (BAMF_LEGACY_WINDOW_SIGNAL_CLASS_CHANGED,
627
G_OBJECT_CLASS_TYPE (klass),
629
G_STRUCT_OFFSET (BamfLegacyWindowClass, class_changed),
630
NULL, NULL, NULL, G_TYPE_NONE, 0);
600
632
legacy_window_signals [STATE_CHANGED] =
601
633
g_signal_new (BAMF_LEGACY_WINDOW_SIGNAL_STATE_CHANGED,
602
634
G_OBJECT_CLASS_TYPE (klass),
603
635
G_SIGNAL_RUN_FIRST,
604
636
G_STRUCT_OFFSET (BamfLegacyWindowClass, state_changed),
606
g_cclosure_marshal_VOID__VOID,
637
NULL, NULL, NULL, G_TYPE_NONE, 0);
609
639
legacy_window_signals [GEOMETRY_CHANGED] =
610
640
g_signal_new (BAMF_LEGACY_WINDOW_SIGNAL_GEOMETRY_CHANGED,
611
641
G_OBJECT_CLASS_TYPE (klass),
612
642
G_SIGNAL_RUN_FIRST,
613
643
G_STRUCT_OFFSET (BamfLegacyWindowClass, geometry_changed),
615
g_cclosure_marshal_VOID__VOID,
644
NULL, NULL, NULL, G_TYPE_NONE, 0);
618
646
legacy_window_signals [CLOSED] =
619
647
g_signal_new (BAMF_LEGACY_WINDOW_SIGNAL_CLOSED,
620
648
G_OBJECT_CLASS_TYPE (klass),
621
649
G_SIGNAL_RUN_FIRST,
622
650
G_STRUCT_OFFSET (BamfLegacyWindowClass, closed),
624
g_cclosure_marshal_VOID__VOID,
651
NULL, NULL, NULL, G_TYPE_NONE, 0);
628
654
BamfLegacyWindow *
634
660
self->priv->legacy_window = legacy_window;
662
g_return_val_if_fail (WNCK_IS_WINDOW (self->priv->legacy_window), self);
663
g_warn_if_fail (!g_object_get_data (G_OBJECT (legacy_window), WNCK_WINDOW_BAMF_DATA));
665
g_object_set_data (G_OBJECT (legacy_window), WNCK_WINDOW_BAMF_DATA, self);
636
667
g_signal_connect (G_OBJECT (legacy_window), "name-changed",
637
(GCallback) handle_name_changed, self);
668
G_CALLBACK (handle_window_signal),
669
GUINT_TO_POINTER (NAME_CHANGED));
671
g_signal_connect (G_OBJECT (legacy_window), "role-changed",
672
G_CALLBACK (handle_window_signal),
673
GUINT_TO_POINTER (ROLE_CHANGED));
675
g_signal_connect (G_OBJECT (legacy_window), "class-changed",
676
G_CALLBACK (handle_window_signal),
677
GUINT_TO_POINTER (CLASS_CHANGED));
679
g_signal_connect (G_OBJECT (legacy_window), "geometry-changed",
680
G_CALLBACK (handle_window_signal),
681
GUINT_TO_POINTER (GEOMETRY_CHANGED));
639
683
g_signal_connect (G_OBJECT (legacy_window), "state-changed",
640
(GCallback) handle_state_changed, self);
642
g_signal_connect (G_OBJECT (legacy_window), "geometry-changed",
643
(GCallback) handle_geometry_changed, self);
684
G_CALLBACK (handle_state_changed), self);