Make the app launcher "linear"

A patch can be non-trivial.

But this one looks fairly simple:

--- a/usr/share/lipstick-jolla-home-qt5/launcher/Launcher.qml
+++ b/usr/share/lipstick-jolla-home-qt5/launcher/Launcher.qml
@@ -18,6 +18,10 @@

 SilicaListView {
     id: launcherPager
+
+    VerticalScrollDecorator {
+        flickable: launcherPager
+    }

     onVisibleChanged: if (!visible) { resetPosition(400) }

@@ -25,7 +29,7 @@
     property alias openedChildFolder: launcher.openedChildFolder

     onEditModeChanged: {
-        if (editMode) {
+        if (true || editMode) {
             snapMode = ListView.NoSnap
             highlightRangeMode = ListView.NoHighlightRange
         } else {
@@ -39,8 +43,8 @@
         width: launcherPager.width
         height: launcherPager.height
     }
-    snapMode: ListView.SnapOneItem
-    highlightRangeMode: ListView.StrictlyEnforceRange
+    snapMode: ListView.NoSnap
+    highlightRangeMode: ListView.NoHighlightRange
     cacheBuffer: height * model.count

     // Match velocity with EdgeLayer gesture transition's 200ms (0.2s below) duration
@@ -126,8 +130,8 @@
         ScriptAction {
             script: {
                 launcherPager.currentIndex = Math.round((contentY - originY) / height)
-                launcherPager.snapMode = ListView.SnapOneItem
-                launcherPager.highlightRangeMode = ListView.StrictlyEnforceRange
+                launcherPager.snapMode = ListView.NoSnap
+                launcherPager.highlightRangeMode = ListView.NoHighlightRange
             }
         }
     }

2 Likes