Thanks so much, Carlos. This was exactly what I needed. In Gtkmm: Gtk::Window has the methods fullscreen and unfullscreen. Perfect.
Rather than using a bool of my own to track the state, I did what the docs on fullscreen() suggested and set a function to be signaled when the windows state changed. LXMainWindow::LXMainWindow() { <snip> m_bFullScreen = false; signal_window_state_event().connect(sigc::mem_fun(*this, &LXMainWindow::OnWindowStateEvent)); } void LXMainWindow::ToggleFullScreen() { // Toggle fullscreen mode off and on. if (m_bFullScreen)) unfullscreen(); else fullscreen(); } bool LXMainWindow::OnWindowStateEvent( GdkEventWindowState* pEvent) // [in] from system -- has flags of current state { m_bFullScreen = (pEvent->new_window_state & GDK_WINDOW_STATE_FULLSCREEN); return true; // we want to keep getting this signal } Thanks again. Happy coding! >Garth's KidStuff wrote: >> Hi All, >> >> I notice that quite a few apps (firefox, gimp, terminal, etc. -- but not >> gedit, huh?) have the option to toggle fullscreen mode in their view menu > > using the F11 key. How would I implement this in my Gtkmm app? > > > Connect the key_press_event to your top window, ot to a drawing area, > and then prepare a callback along these lines (sorry, C code): > > #include <gdk/gdkkeysyms.h> > > void function_handle_key_press (GtkWidget *widget, > GdkEventKey *event, void *data) > { > GtkWidget *window = (GtkWindow *) data; /* this is just a simple example */ > static int fullscreen = FALSE; > >switch (event->keyval) > { > case GDK_F11: > if (fullscreen == FALSE) > { > gdk_window_raise (window->window); > hide decorations; > gtk_window_fullscreen (GTK_WINDOW (window)); > fullscreen = TRUE; > } > else > { > show decorations; > gtk_window_unfullscreen (GTK_WINDOW (window)); > fullscreen = FALSE; > } > break; > } -- Garth Upshaw Garth's KidStuff _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list