static void on_monitors_changed (NemoDesktopManager *manager) { g_return_if_fail (NEMO_IS_DESKTOP_MANAGER (manager)); FETCH_PRIV (manager); GList *l; DEBUG ("Monitors or workarea changed"); if (get_run_state (manager) < RUN_STATE_RUNNING) { DEBUG ("...ignoring possibly bogus MonitorsChanged - we're not RUNNING or FALLBACK"); return; } if (((guint) get_n_monitors (manager)) != g_list_length (priv->desktops)) { queue_update_layout (manager); return; } for (l = priv->desktops; l != NULL; l = l->next) { DesktopInfo *info = (DesktopInfo *) l->data; if (NEMO_IS_DESKTOP_WINDOW (info->window)) { nemo_desktop_window_update_geometry (NEMO_DESKTOP_WINDOW (info->window)); } else if (NEMO_IS_BLANK_DESKTOP_WINDOW (info->window)) { nemo_blank_desktop_window_update_geometry (NEMO_BLANK_DESKTOP_WINDOW (info->window)); } } }
static void nemo_blank_desktop_window_constructed (GObject *obj) { AtkObject *accessible; NemoBlankDesktopWindow *window = NEMO_BLANK_DESKTOP_WINDOW (obj); G_OBJECT_CLASS (nemo_blank_desktop_window_parent_class)->constructed (obj); /* Set the accessible name so that it doesn't inherit the cryptic desktop URI. */ accessible = gtk_widget_get_accessible (GTK_WIDGET (window)); if (accessible) { atk_object_set_name (accessible, _("Desktop")); } GdkRectangle rect; nemo_desktop_utils_get_monitor_geometry (window->details->monitor, &rect); DEBUG ("NemoBlankDesktopWindow monitor:%d: x:%d, y:%d, w:%d, h:%d", window->details->monitor, rect.x, rect.y, rect.width, rect.height); gtk_window_move (GTK_WINDOW (window), rect.x, rect.y); gtk_widget_set_size_request (GTK_WIDGET (window), rect.width, rect.height); gtk_window_set_resizable (GTK_WINDOW (window), FALSE); gtk_widget_show_all (GTK_WIDGET (window)); g_signal_connect (GTK_WIDGET (window), "button-press-event", G_CALLBACK (on_button_press), window); g_signal_connect (GTK_WIDGET (window), "popup-menu", G_CALLBACK (on_popup_menu), window); }
static void nemo_blank_desktop_window_constructed (GObject *obj) { AtkObject *accessible; NemoBlankDesktopWindow *window = NEMO_BLANK_DESKTOP_WINDOW (obj); G_OBJECT_CLASS (nemo_blank_desktop_window_parent_class)->constructed (obj); /* Set the accessible name so that it doesn't inherit the cryptic desktop URI. */ accessible = gtk_widget_get_accessible (GTK_WIDGET (window)); if (accessible) { atk_object_set_name (accessible, _("Desktop")); } nemo_blank_desktop_window_update_geometry (window); gtk_window_set_resizable (GTK_WINDOW (window), FALSE); gtk_window_set_decorated (GTK_WINDOW (window), FALSE); gtk_widget_show_all (GTK_WIDGET (window)); g_signal_connect (GTK_WIDGET (window), "button-press-event", G_CALLBACK (on_button_press), window); g_signal_connect (GTK_WIDGET (window), "popup-menu", G_CALLBACK (on_popup_menu), window); }
static void nemo_blank_desktop_window_dispose (GObject *obj) { NemoBlankDesktopWindow *window = NEMO_BLANK_DESKTOP_WINDOW (obj); if (window->details->actions_changed_id > 0) { g_signal_handler_disconnect (nemo_desktop_manager_get_action_manager (), window->details->actions_changed_id); window->details->actions_changed_id = 0; } G_OBJECT_CLASS (nemo_blank_desktop_window_parent_class)->dispose (obj); }
static void nemo_blank_desktop_window_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { NemoBlankDesktopWindow *window = NEMO_BLANK_DESKTOP_WINDOW (object); switch (property_id) { case PROP_MONITOR: window->details->monitor = g_value_get_int (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } }