From cf529cae28d9879a7411ba65b030d2780725af11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= <mordae@anilinux.org>
Date: Sun, 9 Mar 2025 09:49:11 +0100
Subject: [PATCH] Seek to start/end with home/end

---
 lazy_player/__init__.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/lazy_player/__init__.py b/lazy_player/__init__.py
index 9126ddf..8fa0d07 100644
--- a/lazy_player/__init__.py
+++ b/lazy_player/__init__.py
@@ -302,6 +302,20 @@ class MainWindow(Gtk.ApplicationWindow):
             self._seek_relative(-60)
             return True
 
+        elif keyval == Gdk.keyval_from_name("Home"):
+            self.pipeline.seek_simple(
+                Gst.Format.TIME, Gst.SeekFlags.FLUSH | Gst.SeekFlags.KEY_UNIT, 0
+            )
+            return True
+
+        elif keyval == Gdk.keyval_from_name("End"):
+            success, duration = self.pipeline.query_duration(Gst.Format.TIME)
+            if success:
+                self.pipeline.seek_simple(
+                    Gst.Format.TIME, Gst.SeekFlags.FLUSH | Gst.SeekFlags.KEY_UNIT, duration - 1
+                )
+            return True
+
         elif keyval == Gdk.keyval_from_name("j"):
             self._cycle_subtitles()
             return True