aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/input.c13
-rw-r--r--src/window.c12
-rw-r--r--src/window.h1
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