diff --git a/Cargo.lock b/Cargo.lock
index abbaeea..e0cc8b6 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -863,6 +863,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"ashpd",
+ "futures-channel",
"gettext-rs",
"gtk-macros",
"gtk4",
diff --git a/Cargo.toml b/Cargo.toml
index 0babf77..f0a26a2 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -9,6 +9,7 @@ gtk-macros = "0.3.0"
log = "0.4.11"
once_cell = "1.9.0"
pretty_env_logger = "0.4.0"
+futures-channel = "0.3.19"
[dependencies.ashpd]
version = "0.2.2"
diff --git a/data/gtk/image_page.ui b/data/gtk/image_page.ui
new file mode 100644
index 0000000..815b249
--- /dev/null
+++ b/data/gtk/image_page.ui
@@ -0,0 +1,76 @@
+
+
+
+ True
+ True
+
+
+
+
+
+
diff --git a/data/gtk/image_view.ui b/data/gtk/image_view.ui
index 7dcb506..88af8a3 100644
--- a/data/gtk/image_view.ui
+++ b/data/gtk/image_view.ui
@@ -8,61 +8,42 @@
True
-
- center
- center
+
+ True
+ False
+ False
+
-
- True
-
-
- start
- center
- 18
- 18
- go-previous-symbolic
- iv.previous
- Previous Image
-
-
-
-
-
- True
- end
- center
- 18
- 18
- go-next-symbolic
- iv.next
- Next Image
-
-
-
-
-
- 3
-
-
-
-
- True
-
-
-
-
-
+
+ start
+ center
+ 18
+ 18
+ go-previous-symbolic
+ iv.previous
+ Previous Image
+
+
+
+
+
+ True
+ end
+ center
+ 18
+ 18
+ go-next-symbolic
+ iv.next
+ Next Image
+
@@ -87,32 +68,4 @@
-
diff --git a/data/gtk/window.ui b/data/gtk/window.ui
index 7feb7f5..bf803d3 100644
--- a/data/gtk/window.ui
+++ b/data/gtk/window.ui
@@ -16,11 +16,6 @@