static void bell_flash_fullscreen (MetaDisplay *display, XkbAnyEvent *xkb_ev) { XkbBellNotifyEvent *xkb_bell_ev = (XkbBellNotifyEvent *) xkb_ev; MetaScreen *screen; g_assert (xkb_ev->xkb_type == XkbBellNotify); if (xkb_bell_ev->window != None) { screen = meta_display_screen_for_xwindow (display, xkb_bell_ev->window); if (screen) { if (display->compositor) meta_compositor_flash_screen (display->compositor, screen); else bell_flash_screen (display, screen); } } else { GSList *screen_list = display->screens; while (screen_list) { screen = (MetaScreen *) screen_list->data; if (display->compositor) meta_compositor_flash_screen (display->compositor, screen); else bell_flash_screen (display, screen); screen_list = screen_list->next; } } }
/** * bell_flash_fullscreen: * @display: The display the event came in on * @xkb_ev: The bell event * * Flashes one screen, or all screens, in response to a bell event. * If the event is on a particular window, flash the screen that * window is on. Otherwise, flash every screen on this display. * * If the configure script found we had no XKB, this does not exist. */ static void bell_flash_fullscreen (MetaDisplay *display) { meta_compositor_flash_screen (display->compositor, display->screen); }