diff --git a/src/tpdfview.c b/src/tpdfview.c
index b92d5440799e212cf3314c8be6da87d544b0ade4..b15bad3a078d0b87aa93e9dee03b034508106aaf 100644 (file)
--- a/src/tpdfview.c
+++ b/src/tpdfview.c
exit(0);
} /* exit_version */
+static void
+toggle_fullscreen(GtkWindow *win)
+{
+ GdkWindowState state;
+
+ if (! gtk_widget_get_realized(GTK_WIDGET(win)))
+ return;
+
+ state = gdk_window_get_state(GTK_WIDGET(win)->window);
+
+ if (state & GDK_WINDOW_STATE_FULLSCREEN)
+ gtk_window_unfullscreen(win);
+ else
+ gtk_window_fullscreen(win);
+} /* toggle_fullscreen */
+
static void
on_destroy(GtkWidget __attribute__((unused)) *widget,
gpointer __attribute__((unused)) data)
} /* on_destroy */
static gboolean
-key_press(GtkWidget __attribute__((unused)) *widget,
- GdkEventKey *event, gpointer data)
+key_press(GtkWidget *window, GdkEventKey *event, gpointer data)
{
GtkWidget *tpdfv;
gtk_main_quit();
break;
+ case GDK_r:
+ gtk_tpdfv_reload(tpdfv);
+ break;
+
+ case GDK_F:
+ toggle_fullscreen(GTK_WINDOW(window));
+ break;
+
/* navigation */
case GDK_Page_Up:
gtk_tpdfv_page_up(tpdfv);
int
main(int argc, char **argv)
{
+ gtk_tpdfv_screens_t *screens;
+
GtkWidget *win = NULL;
GtkWidget *tpdfv = NULL;
if (! win)
return 1;
+ screens = gtk_tpdfv_screens_init(/* display = */ NULL);
+ if (! screens)
+ return 1;
+
snprintf(win_title, sizeof(win_title), "tpdfview: %s",
basename(filename));
gtk_window_set_title(GTK_WINDOW(win), win_title);
gtk_widget_show_all(win);
gtk_main();
+
+ gtk_tpdfv_screens_destroy(screens);
return 0;
} /* main */