135
134
ShellTrayManager *manager = SHELL_TRAY_MANAGER (object);
137
136
g_object_unref (manager->priv->na_manager);
138
g_object_unref (manager->priv->stage);
139
137
g_hash_table_destroy (manager->priv->icons);
141
139
G_OBJECT_CLASS (shell_tray_manager_parent_class)->finalize (object);
222
shell_tray_manager_manage_stage (ShellTrayManager *manager,
224
StWidget *theme_widget)
220
shell_tray_manager_manage_screen (ShellTrayManager *manager,
222
StWidget *theme_widget)
226
Window stage_xwindow;
227
GdkWindow *stage_window;
228
224
GdkDisplay *display;
231
g_return_if_fail (manager->priv->stage == NULL);
233
manager->priv->stage = g_object_ref (stage);
235
stage_xwindow = clutter_x11_get_stage_window (stage);
237
/* This is a pretty ugly way to get the GdkScreen for the stage; it
238
* will normally go through the foreign_new() case with a
239
* round-trip to the X server, it might be nicer to pass the screen
240
* in in some way. (The Clutter/Mutter combo is currently incapable
241
* of multi-screen operation, so alternatively we could just assume
242
* that clutter_x11_get_default_screen() gives us the right
243
* screen.) We assume, in any case, that we are using the default
246
display = gdk_display_get_default();
247
stage_window = gdk_x11_window_lookup_for_display (display, stage_xwindow);
249
g_object_ref (stage_window);
251
stage_window = gdk_x11_window_foreign_new_for_display (display, stage_xwindow);
253
screen = gdk_window_get_screen (stage_window);
255
g_object_unref (stage_window);
257
na_tray_manager_manage_screen (manager->priv->na_manager, screen);
225
GdkScreen *gdk_screen;
228
display = gdk_display_get_default ();
229
screen_number = meta_screen_get_screen_number (screen);
230
gdk_screen = gdk_display_get_screen (display, screen_number);
232
na_tray_manager_manage_screen (manager->priv->na_manager, gdk_screen);
259
234
g_signal_connect (theme_widget, "style-changed",
260
235
G_CALLBACK (shell_tray_manager_style_changed), manager);
321
296
na_tray_child_set_composited (NA_TRAY_CHILD (socket), FALSE);
323
win = shell_embedded_window_new (manager->priv->stage);
298
win = shell_embedded_window_new ();
324
299
gtk_container_add (GTK_CONTAINER (win), socket);
326
301
/* The visual of the socket matches that of its contents; make