static void egg_tray_icon_unrealize (GtkWidget *widget) { EggTrayIcon *icon = EGG_TRAY_ICON (widget); GdkWindow *root_window; if (icon->manager_window != None) { GdkWindow *gdkwin; #if GTK_CHECK_VERSION(2,1,0) gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (widget), icon->manager_window); #else gdkwin = gdk_window_lookup (icon->manager_window); #endif gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon); } #if GTK_CHECK_VERSION(2,1,0) root_window = gdk_screen_get_root_window (gtk_widget_get_screen (widget)); #else root_window = gdk_window_lookup (gdk_x11_get_default_root_xwindow ()); #endif gdk_window_remove_filter (root_window, egg_tray_icon_manager_filter, icon); if (GTK_WIDGET_CLASS (parent_class)->unrealize) (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); }
void gdk_superwin_destroy(GtkObject *object) { GdkSuperWin *superwin = NULL; g_return_if_fail(object != NULL); g_return_if_fail(GTK_IS_OBJECT(object)); g_return_if_fail(GTK_OBJECT_CONSTRUCTED(object)); g_return_if_fail(GDK_IS_SUPERWIN(object)); superwin = GDK_SUPERWIN(object); gdk_window_remove_filter(superwin->shell_window, gdk_superwin_shell_filter, superwin); gdk_window_remove_filter(superwin->bin_window, gdk_superwin_bin_filter, superwin); gdk_window_destroy(superwin->bin_window); gdk_window_destroy(superwin->shell_window); if (superwin->translate_queue) { GSList *tmp_list = superwin->translate_queue; while (tmp_list) { g_free(tmp_list->data); tmp_list = tmp_list->next; } g_slist_free(superwin->translate_queue); } }
static void egg_tray_icon_unrealize (GtkWidget *widget) { #ifdef GDK_WINDOWING_X11 EggTrayIcon *icon = EGG_TRAY_ICON (widget); GdkWindow *root_window; if (icon->manager_window != None) { GdkWindow *gdkwin; gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (widget), icon->manager_window); gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon); } root_window = gdk_screen_get_root_window (gtk_widget_get_screen (widget)); gdk_window_remove_filter (root_window, egg_tray_icon_manager_filter, icon); if (GTK_WIDGET_CLASS (parent_class)->unrealize) (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); #endif }
static void egg_tray_manager_unmanage (EggTrayManager *manager) { #ifdef GDK_WINDOWING_X11 Display *display; guint32 timestamp; GtkWidget *invisible; if (manager->invisible == NULL) return; invisible = manager->invisible; g_assert (GTK_IS_INVISIBLE (invisible)); g_assert (GTK_WIDGET_REALIZED (invisible)); g_assert (GDK_IS_WINDOW (invisible->window)); display = GDK_WINDOW_XDISPLAY (invisible->window); if (XGetSelectionOwner (display, manager->selection_atom) == GDK_WINDOW_XWINDOW (invisible->window)) { timestamp = gdk_x11_get_server_time (invisible->window); XSetSelectionOwner (display, manager->selection_atom, None, timestamp); } gdk_window_remove_filter (invisible->window, egg_tray_manager_window_filter, manager); manager->invisible = NULL; /* prior to destroy for reentrancy paranoia */ gtk_widget_destroy (invisible); g_object_unref (G_OBJECT (invisible)); #endif }
static void egg_tray_icon_update_manager_window(EggTrayIcon * icon) { Display *xdisplay; xdisplay = GDK_DISPLAY_XDISPLAY(gtk_widget_get_display(GTK_WIDGET(icon))); if (icon->manager_window != None) { GdkWindow *gdkwin; gdkwin = gdk_window_lookup_for_display(gtk_widget_get_display(GTK_WIDGET(icon)), icon->manager_window); gdk_window_remove_filter(gdkwin, egg_tray_icon_manager_filter, icon); } XGrabServer(xdisplay); icon->manager_window = XGetSelectionOwner(xdisplay, icon->selection_atom); if (icon->manager_window != None) XSelectInput(xdisplay, icon->manager_window, StructureNotifyMask); XUngrabServer(xdisplay); XFlush(xdisplay); if (icon->manager_window != None) { GdkWindow *gdkwin; gdkwin = gdk_window_lookup_for_display(gtk_widget_get_display(GTK_WIDGET(icon)), icon->manager_window); gdk_window_add_filter(gdkwin, egg_tray_icon_manager_filter, icon); /* Send a request that we'd like to dock */ egg_tray_icon_send_dock_request(icon); } }
static void remove_popup (GtkWidget *popup) { GdkWindow *root; #if GTK_CHECK_VERSION (3, 0, 0) GdkDisplay *display; GdkDevice *pointer; GdkDevice *keyboard; GdkDeviceManager *device_manager; #endif root = gdk_screen_get_root_window ( gtk_window_get_screen (GTK_WINDOW (popup))); gdk_window_remove_filter (root, (GdkFilterFunc) popup_filter, popup); gtk_widget_destroy (popup); #if GTK_CHECK_VERSION (3, 0, 0) display = gdk_window_get_display (root); device_manager = gdk_display_get_device_manager (display); pointer = gdk_device_manager_get_client_pointer (device_manager); keyboard = gdk_device_get_associated_device (pointer); gdk_device_ungrab (pointer, GDK_CURRENT_TIME); gdk_device_ungrab (keyboard, GDK_CURRENT_TIME); #else gdk_pointer_ungrab (GDK_CURRENT_TIME); gdk_keyboard_ungrab (GDK_CURRENT_TIME); #endif }
/* title_on_screen_changed */ static void _title_on_screen_changed(GtkWidget * widget, GdkScreen * previous, gpointer data) { Title * title = data; GdkEventMask events; #ifdef DEBUG fprintf(stderr, "DEBUG: %s()\n", __func__); #endif if(title->root != NULL) gdk_window_remove_filter(title->root, _title_on_filter, title); title->screen = gtk_widget_get_screen(widget); title->display = gdk_screen_get_display(title->screen); title->root = gdk_screen_get_root_window(title->screen); events = gdk_window_get_events(title->root); gdk_window_set_events(title->root, events | GDK_PROPERTY_CHANGE_MASK); gdk_window_add_filter(title->root, _title_on_filter, title); title->atom_active = gdk_x11_get_xatom_by_name_for_display( title->display, "_NET_ACTIVE_WINDOW"); title->atom_name = gdk_x11_get_xatom_by_name_for_display( title->display, "_NET_WM_NAME"); title->atom_utf8_string = gdk_x11_get_xatom_by_name_for_display( title->display, "UTF8_STRING"); title->atom_visible_name = gdk_x11_get_xatom_by_name_for_display( title->display, "_NET_WM_VISIBLE_NAME"); _title_do(title); }
static void assistive_registry_start (void) { GdkWindow *root; guint tid; root = gdk_get_default_root_window (); if ( ! AT_SPI_IOR) { AT_SPI_IOR = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "AT_SPI_IOR", False); } gdk_window_set_events (root, GDK_PROPERTY_CHANGE_MASK); if ( ! assistive_registry_launch ()) { g_warning ("The accessibility registry could not be started."); return; } gdk_window_add_filter (root, filter_watch, NULL); tid = g_timeout_add_seconds (5, filter_timeout, NULL); gtk_main (); gdk_window_remove_filter (root, filter_watch, NULL); g_source_remove (tid); }
static void pager_destructor(plugin_instance *p) { pager_priv *pg = (pager_priv *)p; ENTER; g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), do_net_current_desktop, pg); g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), do_net_active_window, pg); g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), pager_rebuild_all, pg); g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), do_net_client_list_stacking, pg); gdk_window_remove_filter(NULL, (GdkFilterFunc)pager_event_filter, pg); while (pg->desknum--) { desk_free(pg, pg->desknum); } g_hash_table_foreach_remove(pg->htable, (GHRFunc) task_remove_all, (gpointer)pg); g_hash_table_destroy(pg->htable); gtk_widget_destroy(pg->box); if (pg->wallpaper) { g_signal_handlers_disconnect_by_func(G_OBJECT (pg->fbbg), pager_bg_changed, pg); DBG("put fbbg %p\n", pg->fbbg); g_object_unref(pg->fbbg); } if (pg->wins) XFree(pg->wins); RET(); }
static void tray_widget_unrealize(GtkWidget *widget) { struct _tray_widget_icon *widget_icon = TRAY_WIDGET_ICON(widget); if (widget_icon->manager_window != None) { GdkWindow *gdk_window = gdk_window_lookup_for_display(gtk_widget_get_display(widget), widget_icon->manager_window); gdk_window_remove_filter(gdk_window, tray_widget_filter, widget_icon); } GdkWindow *gdk_window = gdk_screen_get_root_window(gtk_widget_get_screen(widget)); gdk_window_remove_filter(gdk_window, tray_widget_filter, widget_icon); if (GTK_WIDGET_CLASS(parent_class)->unrealize) (* GTK_WIDGET_CLASS(parent_class)->unrealize)(widget); }
static void remove_workarea_filter (NemoDesktopManager *manager) { gdk_window_remove_filter (manager->root_window, gdk_filter_func, manager); manager->root_window = NULL; }
void _gdk_x11_xsettings_finish (GdkX11Screen *x11_screen) { gdk_window_remove_filter (gdk_screen_get_root_window (GDK_SCREEN (x11_screen)), gdk_xsettings_root_window_filter, x11_screen); if (x11_screen->xsettings_manager_window) { gdk_window_remove_filter (x11_screen->xsettings_manager_window, gdk_xsettings_manager_window_filter, x11_screen); g_object_unref (x11_screen->xsettings_manager_window); x11_screen->xsettings_manager_window = NULL; } if (x11_screen->xsettings) { g_hash_table_unref (x11_screen->xsettings); x11_screen->xsettings = NULL; } }
static void hd_home_plugin_item_unrealize (GtkWidget *widget) { gdk_window_remove_filter (gtk_widget_get_window (widget), hd_home_plugin_item_event_filter, widget); GTK_WIDGET_CLASS (hd_home_plugin_item_parent_class)->unrealize (widget); }
void cd_xkbd_stop () { g_return_if_fail (myData.pEngine != NULL); xkl_engine_stop_listen (myData.pEngine, XKLL_TRACK_KEYBOARD_STATE); gdk_window_remove_filter (NULL, (GdkFilterFunc) _filter_xevent, NULL); /// gdk_window_remove_filter (gdk_get_default_root_window (), (GdkFilterFunc) _filter_xevent, NULL); }
static void hildon_remote_texture_unrealize (GtkWidget *widget) { gdk_window_remove_filter (widget->window, hildon_remote_texture_event_filter, widget); GTK_WIDGET_CLASS (hildon_remote_texture_parent_class)->unrealize (widget); }
/* * Called when the root window pixmap actor is destroyed. */ static void root_pixmap_destroy (GObject *sender, gpointer data) { ShellGlobal *global = SHELL_GLOBAL (data); gdk_window_remove_filter (gdk_get_default_root_window (), root_window_filter, global); global->root_pixmap = NULL; }
static void clutter_backend_gdk_finalize (GObject *gobject) { ClutterBackendGdk *backend_gdk = CLUTTER_BACKEND_GDK (gobject); gdk_window_remove_filter (NULL, cogl_gdk_filter, NULL); g_object_unref (backend_gdk->display); G_OBJECT_CLASS (clutter_backend_gdk_parent_class)->finalize (gobject); }
void panel_stop(panel *p) { ENTER; tray_destructor(p); XSelectInput (gdk_helper_display(), GDK_ROOT_WINDOW(), NoEventMask); gdk_window_remove_filter(gdk_get_default_root_window (), (GdkFilterFunc)panel_wm_events, p); gtk_widget_destroy(p->topgwin); RET(); }
/* title_destroy */ static void _title_destroy(Title * title) { if(title->source != 0) g_signal_handler_disconnect(title->widget, title->source); title->source = 0; if(title->root != NULL) gdk_window_remove_filter(title->root, _title_on_filter, title); gtk_widget_destroy(title->widget); free(title); }
static void egg_tray_icon_unrealize (GtkWidget *widget) { EggTrayIcon *icon = EGG_TRAY_ICON (widget); GdkWindow *root_window=NULL; if (icon->manager_window != None) { gdk_window_remove_filter (root_window, egg_tray_icon_manager_filter, icon); if (GTK_WIDGET_CLASS (parent_class)->unrealize) (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); } }
void destroy_wrapper(GdkWindow* wrapper) { GdkWindow* icon = get_icon_window(wrapper); gdk_window_remove_filter(icon, (GdkFilterFunc)monitor_icon_event, wrapper); if (icon != wrapper) { gdk_window_destroy(wrapper); //this will decrements wrapper's reference count, don't repeat call g_object_unref g_object_unref(icon); } else { g_object_unref(icon); } }
void mate_rr_screen_destroy (MateRRScreen *screen) { g_return_if_fail (screen != NULL); gdk_window_remove_filter (screen->gdk_root, screen_on_event, screen); screen_info_free (screen->info); screen->info = NULL; g_free (screen); }
/* removal is by data due to proxy function */ void meta_ui_remove_event_func (Display *xdisplay, MetaEventFunc func, gpointer data) { g_return_if_fail (ef != NULL); gdk_window_remove_filter (NULL, filter_func, ef); g_free (ef); ef = NULL; }
static void tray_widget_manager_window_destroyed(struct _tray_widget_icon *widget_icon) { g_return_if_fail(widget_icon->manager_window != None); GdkWindow *gdk_window = gdk_window_lookup_for_display(gtk_widget_get_display(GTK_WIDGET(widget_icon)), widget_icon->manager_window); gdk_window_remove_filter(gdk_window, tray_widget_filter, widget_icon); widget_icon->manager_window = None; tray_widget_update_manager_window(widget_icon, TRUE); }
static void remove_popup (GtkWidget *popup) { GdkWindow *root; root = gdk_screen_get_root_window ( gtk_window_get_screen (GTK_WINDOW (popup))); gdk_window_remove_filter (root, (GdkFilterFunc) popup_filter, popup); gtk_widget_destroy (popup); gdk_pointer_ungrab (GDK_CURRENT_TIME); gdk_keyboard_ungrab (GDK_CURRENT_TIME); }
void release_filter() { GdkDisplay *display; int screen; display = gdk_display_get_default(); for (screen = 0; screen<gdk_display_get_n_screens(display); screen++) { gdk_window_remove_filter(gdk_screen_get_root_window(gdk_display_get_screen(display, screen)), gdk_filter, NULL); } }
static void matenu_settings_real_attach_to_window (MatenuSettings* self, GdkWindow* window) { GdkEventMask events; g_return_if_fail (self != NULL); if (self->priv->_window != NULL) { gdk_window_remove_filter (window, _matenu_settings_event_filter_gdk_filter_func, self); } if (window == NULL) { return; } matenu_settings_set_window (self, window); gdk_window_add_filter (self->priv->_window, _matenu_settings_event_filter_gdk_filter_func, self); events = gdk_window_get_events (self->priv->_window); gdk_window_set_events (self->priv->_window, events | GDK_PROPERTY_CHANGE_MASK); matenu_settings_pull (self); }
static void icons_destructor(plugin_instance *p) { icons_priv *ics = (icons_priv *) p; ENTER; g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), do_net_client_list, ics); g_signal_handlers_disconnect_by_func(G_OBJECT(gtk_icon_theme_get_default()), theme_changed, ics); gdk_window_remove_filter(NULL, (GdkFilterFunc)ics_event_filter, ics ); drop_config(ics); g_hash_table_destroy(ics->task_list); RET(); }
static void byzanz_recorder_finalize (GObject *object) { ByzanzRecorder *recorder = BYZANZ_RECORDER (object); if (recorder->next_image_source) g_source_remove (recorder->next_image_source); gdk_window_remove_filter (recorder->window, byzanz_recorder_filter_events, recorder); g_object_unref (recorder->window); g_sequence_free (recorder->layers); G_OBJECT_CLASS (byzanz_recorder_parent_class)->finalize (object); }
static void xfce_keyboard_layout_helper_finalize (GObject *object) { #ifdef HAVE_LIBXKLAVIER XfceKeyboardLayoutHelper *helper = XFCE_KEYBOARD_LAYOUT_HELPER (object); xkl_engine_stop_listen (helper->engine, XKLL_TRACK_KEYBOARD_STATE); gdk_window_remove_filter (NULL, (GdkFilterFunc) handle_xevent, helper); g_object_unref (helper->config); g_object_unref (helper->engine); g_free (helper->system_keyboard_model); #endif /* HAVE_LIBXKLAVIER */ G_OBJECT_CLASS (xfce_keyboard_layout_helper_parent_class)->finalize (object); }