static void status_activate(GtkStatusIcon* stat_icon, gpointer user_data) { gboolean main_wnd_visible = FALSE; if(g_pEngine->IsMainWndMinimized()) { gtk_window_present(GTK_WINDOW(g_pEngine->GetMainWindow())); return; } g_object_get(G_OBJECT(g_pEngine->GetMainWindow()), "visible", &main_wnd_visible, NULL); if(main_wnd_visible) { if(!gtk_window_has_toplevel_focus(GTK_WINDOW(g_pEngine->GetMainWindow()))) { g_pEngine->ShowMainWindow(); } else { g_pEngine->HideMainWindow(); } } else { g_pEngine->ShowMainWindow(); } }
static void window_removed (AtkObject *atk_obj, guint index, AtkObject *child) { GtkWidget *widget; GtkWindow *window; if (!GTK_IS_WINDOW_ACCESSIBLE (child)) return; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (child)); if (!widget) return; window = GTK_WINDOW (widget); /* * Deactivate window if it is still focused and we are removing it. This * can happen when a dialog displayed by gok is removed. */ if (gtk_window_is_active (window) && gtk_window_has_toplevel_focus (window)) g_signal_emit_by_name (child, "deactivate"); g_signal_handlers_disconnect_by_func (widget, (gpointer) window_focus, NULL); g_signal_emit_by_name (child, "destroy"); }
static void toplevels_foreach_cb (GtkWindow *window, GtkWindow **active) { if (gtk_window_has_toplevel_focus (window)) *active = window; }
JNIEXPORT jboolean JNICALL Java_org_gnome_gtk_GtkWindow_gtk_1window_1has_1toplevel_1focus ( JNIEnv* env, jclass cls, jlong _self ) { gboolean result; jboolean _result; GtkWindow* self; // convert parameter self self = (GtkWindow*) _self; // call function result = gtk_window_has_toplevel_focus(self); // cleanup parameter self // translate return value to JNI type _result = (jboolean) result; // and finally return _result; }
static void term_beeped (VteTerminal *vtterm, gpointer userdata) { /* * Only set the _URGENT hint when the window is not focused. If the * window is focused, the user is likely to notice what is happening * without the need to call for attention. */ if (!gtk_window_has_toplevel_focus (GTK_WINDOW (userdata))) gtk_window_set_urgency_hint (GTK_WINDOW (userdata), TRUE); }
static gboolean beeped_revealer_timeout (gpointer userdata) { GtkWindow *window = GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (userdata), GTK_TYPE_WINDOW)); if (!gtk_window_has_toplevel_focus (window)) return TRUE; gtk_revealer_set_reveal_child (GTK_REVEALER (userdata), FALSE); return FALSE; /* Do not re-arm timer, run only once */ }
GtkWidget * anjuta_docman_get_current_focus_widget (AnjutaDocman *docman) { GtkWidget *widget; widget = gtk_widget_get_toplevel (GTK_WIDGET (docman)); if (gtk_widget_is_toplevel (widget) && gtk_window_has_toplevel_focus (GTK_WINDOW (widget))) { return gtk_window_get_focus (GTK_WINDOW (widget)); } return NULL; }
static void window_has_toplevel_focus_notified (GObject *object, GParamSpec *pspec, gpointer userdata) { if (gtk_window_has_toplevel_focus (GTK_WINDOW (object))) { vte_terminal_set_color_cursor (VTE_TERMINAL (userdata), &cursor_active); /* Clear the _URGENT hint when the window gets activated. */ gtk_window_set_urgency_hint (GTK_WINDOW (object), FALSE); } else { vte_terminal_set_color_cursor (VTE_TERMINAL (userdata), &cursor_inactive); } }
void termit_on_beep(VteTerminal *vte, gpointer user_data) { struct TermitTab* pTab = (struct TermitTab*)user_data; if (!pTab) { ERROR("pTab is NULL"); return; } if (!gtk_window_has_toplevel_focus(GTK_WINDOW(termit.main_window))) { if (configs.urgency_on_bell) { gtk_window_set_urgency_hint(GTK_WINDOW(termit.main_window), TRUE); gchar* marked_title = g_strdup_printf("<b>%s</b>", gtk_label_get_text(GTK_LABEL(pTab->tab_name))); gtk_label_set_markup(GTK_LABEL(pTab->tab_name), marked_title); g_free(marked_title); } } }
// when the status icon is clicked, we want to either show or hide the main window static void on_status_icon_clicked (G_GNUC_UNUSED GtkWidget* widget, gpointer data) { GtkWidget *window = GTK_WIDGET (((GtkFrontend*)data)->get_main_window ()); if (!gtk_widget_get_visible (window) || (gdk_window_get_state (GDK_WINDOW (gtk_widget_get_window (window))) & GDK_WINDOW_STATE_ICONIFIED)) { gtk_widget_show (window); } else { if (gtk_window_has_toplevel_focus (GTK_WINDOW (window))) gtk_widget_hide (window); else gtk_window_present (GTK_WINDOW (window)); } }
static void status_icon_clicked_cb (G_GNUC_UNUSED GtkWidget* widget, gpointer data) { StatusIcon *self = STATUSICON (data); GtkWidget *window = gm_application_get_ekiga_window (GM_APPLICATION (self->priv->app)); if (!gtk_widget_get_visible (window) || (gdk_window_get_state (GDK_WINDOW (gtk_widget_get_window (window))) & GDK_WINDOW_STATE_ICONIFIED)) { gtk_widget_show (window); } else { if (gtk_window_has_toplevel_focus (GTK_WINDOW (window))) gtk_widget_hide (window); else gtk_window_present (GTK_WINDOW (window)); } }
void gnac_ui_on_audio_ready_state(void) { gnac_bars_on_row_inserted(); if (gtk_window_has_toplevel_focus( GTK_WINDOW(gnac_ui_get_widget("main_window")))) { gnac_ui_hide_trayicon(); } gnac_ui_show_progress(FALSE); gnac_ui_show_pause(FALSE); gnac_bars_on_convert_stop(); if (timeout_id != 0) { g_source_remove(timeout_id); timeout_id = 0; } gnac_ui_set_progress_fraction(0.0f); gnac_ui_set_progress_text(""); }
gint main (gint argc, gchar *argv[]) { Window root; //gettext bindtextdomain( "gamine", LOCALDIR ); textdomain( "gamine" ); gamine_t cb; GtkWidget *window; GdkWindow *gdkwindow; GtkWindow *gtkwindow; GdkScreen *screen; GdkPixbuf *cursor_pixbuf; GdkPixbuf *icon_pixbuf; GdkCursor *cursor; GdkColor bg_color; gchar *cursorfile; gchar *iconfile; cb.is_cairo = FALSE; gtk_init (&argc, &argv); gst_init (&argc, &argv); gconf_init(argc, argv, NULL); gst_play_background (cb.bus, "BachJSBrandenburgConcertNo2inFMajorBWV1047mvmt1.ogg", TRUE); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* Create the drawing area and configuration */ cb.da = gtk_drawing_area_new (); bg_color.red = 65535; bg_color.green = 65535; bg_color.blue = 65535; gtk_widget_modify_bg (cb.da, GTK_STATE_NORMAL, &bg_color); gtk_container_add (GTK_CONTAINER (window), cb.da); cb.gc = gconf_client_get_default(); gtkwindow = GTK_WINDOW(window); gtk_window_set_title (gtkwindow, "Gamine"); gtk_window_set_wmclass(gtkwindow, "gamine", "Gamine"); gtk_container_set_border_width (GTK_CONTAINER (gtkwindow), 0); /* Event signals */ g_signal_connect (gtkwindow, "destroy", G_CALLBACK (gtk_main_quit), >kwindow); g_signal_connect (G_OBJECT (cb.da), "expose-event", G_CALLBACK (display_help), &cb); g_signal_connect (cb.da, "motion_notify_event", G_CALLBACK (draw_line), &cb); g_signal_connect (cb.da, "button_press_event", G_CALLBACK (draw_star), &cb); g_signal_connect (gtkwindow, "key-press-event", G_CALLBACK (gamine_on_key), &cb); gtk_widget_set_events (cb.da, gtk_widget_get_events (cb.da) | GDK_LEAVE_NOTIFY_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK); /* Set fullscreen, grab mouse/keyboard, ...*/ gtk_widget_show_all (GTK_WIDGET(gtkwindow)); gdkwindow = GDK_WINDOW(GTK_WIDGET(gtkwindow)->window); screen = gtk_widget_get_screen (cb.da); gtk_window_present (gtkwindow); gtk_window_stick(gtkwindow); //gtk_window_set_keep_above (gtkwindow), True); //gtk_window_set_transient_for (gtkwindow, NULL); //set fullscreen gdk_window_fullscreen (gdkwindow); gtk_window_fullscreen (gtkwindow); gdk_window_raise (gdkwindow); //set full screen without window manager XMoveResizeWindow(GDK_WINDOW_XDISPLAY(gdkwindow), GDK_WINDOW_XID(gdkwindow), 0, 0, gdk_screen_get_width (screen), gdk_screen_get_height (screen)); root = DefaultRootWindow(GDK_WINDOW_XDISPLAY (gdkwindow)); XGrabPointer(GDK_WINDOW_XDISPLAY (gdkwindow), root, True, PointerMotionMask, GrabModeAsync, GrabModeAsync, root, None, CurrentTime); XGrabKeyboard(GDK_WINDOW_XDISPLAY (gdkwindow), root, True, GrabModeAsync, GrabModeAsync, CurrentTime); //remove keyboard repeat XAutoRepeatOff(GDK_WINDOW_XDISPLAY (gdkwindow)); gtk_window_has_toplevel_focus (gtkwindow); /*cursor*/ cursorfile = g_build_filename(DATADIR, "pencil.png", NULL); if (!g_file_test (cursorfile, G_FILE_TEST_EXISTS)) { printf(gettext("*** error: %s does not exists***\n"), cursorfile); } else { cursor_pixbuf = gdk_pixbuf_new_from_file(cursorfile, NULL); cursor = gdk_cursor_new_from_pixbuf(gdk_display_get_default(), cursor_pixbuf, 0, 38); gdk_window_set_cursor(gdkwindow, cursor); gdk_cursor_unref(cursor); gdk_pixbuf_unref(cursor_pixbuf); } g_free(cursorfile); /*Set icon*/ iconfile = g_build_filename(DATADIR, "gamine.png", NULL); if (!g_file_test (iconfile, G_FILE_TEST_EXISTS)) printf(gettext("*** error: %s does not exists***\n"), iconfile); else { icon_pixbuf = gdk_pixbuf_new_from_file(iconfile, NULL); gtk_window_set_icon (gtkwindow, icon_pixbuf); gdk_pixbuf_unref (icon_pixbuf); } g_free(iconfile); load_conf(&cb); gtk_main (); //set keyboard repeat XAutoRepeatOn(GDK_WINDOW_XDISPLAY (gdkwindow)); XCloseDisplay(GDK_WINDOW_XDISPLAY (gdkwindow)); return 0; }