diff --git a/data/hu.kramo.Cartridges.gschema.xml.in b/data/hu.kramo.Cartridges.gschema.xml.in
index 3da3a37..9da3915 100644
--- a/data/hu.kramo.Cartridges.gschema.xml.in
+++ b/data/hu.kramo.Cartridges.gschema.xml.in
@@ -116,6 +116,9 @@
false
+
+ 0
+
diff --git a/src/window.py b/src/window.py
index b3af2f4..785fe30 100644
--- a/src/window.py
+++ b/src/window.py
@@ -114,6 +114,21 @@ class CartridgesWindow(Adw.ApplicationWindow):
style_manager.connect("notify::dark", self.set_details_view_opacity)
style_manager.connect("notify::high-contrast", self.set_details_view_opacity)
+ # Allow for a custom number of rows for the library
+ if shared.schema.get_int("library-rows"):
+ shared.schema.bind(
+ "library-rows",
+ self.library,
+ "max-children-per-line",
+ Gio.SettingsBindFlags.DEFAULT,
+ )
+ shared.schema.bind(
+ "library-rows",
+ self.hidden_library,
+ "max-children-per-line",
+ Gio.SettingsBindFlags.DEFAULT,
+ )
+
def search_changed(self, _widget: Any, hidden: bool) -> None:
# Refresh search filter on keystroke in search box
(self.hidden_library if hidden else self.library).invalidate_filter()