void meta_image_window_set_showing (MetaImageWindow *iw, gboolean showing) { if (showing) gtk_widget_show_all (iw->window); else { gtk_widget_hide (iw->window); meta_core_increment_event_serial (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); } }
void meta_image_window_set_showing (MetaImageWindow *iw, gboolean showing) { if (showing) gtk_widget_show_all (iw->window); else { gtk_widget_hide (iw->window); meta_core_increment_event_serial (gdk_display); } }
static void display_entry (MetaTabPopup *popup, TabEntry *te) { if (popup->current_selected_entry) { if (popup->outline) meta_select_image_unselect (META_SELECT_IMAGE (popup->current_selected_entry->widget)); else meta_select_workspace_unselect (META_SELECT_WORKSPACE (popup->current_selected_entry->widget)); } gtk_label_set_markup (GTK_LABEL (popup->label), te->title); if (popup->outline) meta_select_image_select (META_SELECT_IMAGE (te->widget)); else meta_select_workspace_select (META_SELECT_WORKSPACE (te->widget)); if (popup->outline) { GdkRectangle rect; GdkWindow *window; cairo_region_t *region; window = gtk_widget_get_window (popup->outline_window); /* Do stuff behind gtk's back */ gdk_window_hide (window); meta_core_increment_event_serial (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); rect = te->rect; rect.x = 0; rect.y = 0; gtk_window_move (GTK_WINDOW (popup->outline_window), te->rect.x, te->rect.y); gtk_window_resize (GTK_WINDOW (popup->outline_window), te->rect.width, te->rect.height); region = cairo_region_create_rectangle (&rect); cairo_region_subtract_rectangle (region, &te->inner_rect); gdk_window_shape_combine_region (gtk_widget_get_window (popup->outline_window), region, 0, 0); cairo_region_destroy (region); gdk_window_show_unraised (window); } /* Must be before we handle an expose for the outline window */ popup->current_selected_entry = te; }
void meta_ui_tab_popup_set_showing (MetaTabPopup *popup, gboolean showing) { if (showing) { gtk_widget_show_all (popup->window); } else { if (GTK_WIDGET_VISIBLE (popup->window)) { meta_verbose ("Hiding tab popup window\n"); gtk_widget_hide (popup->window); meta_core_increment_event_serial (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); } } }
static void display_entry (MetaTabPopup *popup, TabEntry *te) { GdkRectangle rect; GdkRegion *region; GdkRegion *inner_region; GdkWindow *window; if (popup->current_selected_entry) { if (popup->outline) unselect_image (popup->current_selected_entry->widget); else unselect_workspace (popup->current_selected_entry->widget); } gtk_label_set_markup (GTK_LABEL (popup->label), te->title); if (popup->outline) select_image (te->widget); else select_workspace (te->widget); if (popup->outline) { /* Do stuff behind gtk's back */ gdk_window_hide (gtk_widget_get_window(popup->outline_window)); meta_core_increment_event_serial (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); rect = te->rect; rect.x = 0; rect.y = 0; window = gtk_widget_get_window(GTK_WIDGET(popup->outline_window)); gdk_window_move_resize (window, te->rect.x, te->rect.y, te->rect.width, te->rect.height); #if GTK_CHECK_VERSION(3, 0, 0) GdkRGBA black = { 0.0, 0.0, 0.0, 1.0 }; gdk_window_set_background_rgba (window, &black); #else gdk_window_set_background (window, &popup->outline_window->style->black); #endif region = gdk_region_rectangle (&rect); inner_region = gdk_region_rectangle (&te->inner_rect); gdk_region_subtract (region, inner_region); gdk_region_destroy (inner_region); gdk_window_shape_combine_region (window, region, 0, 0); gdk_region_destroy (region); /* This should piss off gtk a bit, but we don't want to raise * above the tab popup. So, instead of calling gtk_widget_show, * we manually set the window as mapped and then manually map it * with gdk functions. */ #if GTK_CHECK_VERSION(3, 0, 0) gtk_widget_set_mapped (popup->outline_window, TRUE); #else GTK_WIDGET_SET_FLAGS (popup->outline_window, GTK_MAPPED); #endif gdk_window_show_unraised (window); } /* Must be before we handle an expose for the outline window */ popup->current_selected_entry = te; }