diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/input.c | 13 | ||||
-rw-r--r-- | src/window.c | 12 | ||||
-rw-r--r-- | src/window.h | 1 |
3 files changed, 23 insertions, 3 deletions
diff --git a/src/input.c b/src/input.c index b85c058..457cdcc 100644 --- a/src/input.c +++ b/src/input.c @@ -135,6 +135,9 @@ void handle_key_press(GdkEvent *event) case GDK_KEY_End: last(); break; + case GDK_KEY_f: + toggle_fullscreen(); + break; default: break; } @@ -142,9 +145,13 @@ void handle_key_press(GdkEvent *event) void handle_button_press(GdkEvent *event) { - grabbed = 1; - start_x = event->motion.x; - start_y = event->motion.y; + if (event->type == GDK_2BUTTON_PRESS) + toggle_fullscreen(); + else { + grabbed = 1; + start_x = event->motion.x; + start_y = event->motion.y; + } } void handle_button_release() diff --git a/src/window.c b/src/window.c index c659114..2f0dbce 100644 --- a/src/window.c +++ b/src/window.c @@ -6,6 +6,7 @@ GtkWidget *window; GtkWidget *scrolled_window; +int is_fullscreen = 0; static gboolean key_press(GtkWindow *window, GdkEvent *event, gpointer data) { @@ -103,3 +104,14 @@ void quit() g_application_quit( G_APPLICATION(gtk_window_get_application(GTK_WINDOW(window)))); } + +void toggle_fullscreen() +{ + if (is_fullscreen) { + gtk_window_unfullscreen(GTK_WINDOW(window)); + is_fullscreen = 0; + } else { + gtk_window_fullscreen(GTK_WINDOW(window)); + is_fullscreen = 1; + } +} diff --git a/src/window.h b/src/window.h index 8b8a7fe..0c9dbd9 100644 --- a/src/window.h +++ b/src/window.h @@ -8,5 +8,6 @@ void get_curr_win_size(gint *width, gint *height); void scroll_window(gdouble x, gdouble y); void set_window_title(const char *title); void quit(); +void toggle_fullscreen(); #endif |