ichelash Posted July 10 Share Posted July 10 (edited) Hello everyone, i made an app called LaunchBack..which bring back Launchpad in Tahoe and beyond..it should also work in M Series macs..(NOT tested) App Link: https://github.com/vbored/Launchback @Max.1974 you should test this for us in the M series macs/golden gate.. Kindly. Spoiler Edited July 10 by ichelash 3 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/ Share on other sites More sharing options...
miliuco Posted July 10 Share Posted July 10 @ichelash I can tell you that it works on a M4. A bit glitchy, slow slides between pages, sometimes an icon overlaps another one when moving pages, but it runs. 4 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851817 Share on other sites More sharing options...
ichelash Posted July 10 Author Share Posted July 10 7 minutes ago, miliuco said: @ichelash I can tell you that it works on a M4. A bit glitchy, slow slides between pages, sometimes an icon overlaps another one when moving pages, but it runs. Thanks for the feedback...🫡..will work on those issues. 2 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851818 Share on other sites More sharing options...
MakAsrock Posted July 10 Share Posted July 10 1 hour ago, ichelash said: Hello everyone, i made an app called LaunchBack..which bring back Launchpad in Tahoe and beyond..it should also work in M Series macs..(NOT tested) App Link: https://github.com/vbored/Launchback @Max.1974 you should test this for us in the M series macs/golden gate.. Kindly. Looks like the real thing, only it’s a pity there’s no scroll wheel (middle button)! But still, respect! 👍 4 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851820 Share on other sites More sharing options...
ichelash Posted July 10 Author Share Posted July 10 (edited) 11 minutes ago, MakAsrock said: Looks like the real thing, only it’s a pity there’s no scroll wheel (middle button)! But still, respect! 👍 Thanks man..still work in progress..i just want to old launchpad back 🤣..the scroll wheel is there..working fixing noted bugs.. This? \ Edited July 10 by ichelash 3 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851821 Share on other sites More sharing options...
ichelash Posted July 10 Author Share Posted July 10 2 hours ago, miliuco said: @ichelash I can tell you that it works on a M4. A bit glitchy, slow slides between pages, sometimes an icon overlaps another one when moving pages, but it runs. Try this release: https://github.com/vbored/Launchback/releases/tag/Beta 3 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851822 Share on other sites More sharing options...
Max.1974 Posted July 11 Share Posted July 11 Hi @ichelash my friend. I Will test today and post results soon 👍🏻👊🏻🤩 2 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851829 Share on other sites More sharing options...
Max.1974 Posted Sunday at 10:40 AM Share Posted Sunday at 10:40 AM @ichelash Hello, my friend! How are you all doing? I really liked the app—congratulations on your initiative, and thank you for creating it. I'd like to mention that when using Apple's Magic Mouse, the horizontal swipe gesture to switch from one window to another is slow to respond. Thank you very much!! 2 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851849 Share on other sites More sharing options...
Max.1974 Posted Sunday at 11:09 AM Share Posted Sunday at 11:09 AM @ichelash My friend, I made a few changes, and now the Magic Mouse scrolling works perfectly. I’m sharing the project with you—I uploaded it to MediaFire. I’m not very good at creating forks, sorry about that. Here is the link to the modified project so you can improve it however you see fit. Thank you for the app! https://www.mediafire.com/file/krhzwm0o9j7xfdi/Launchback-main.zip/file # # # Change Report — LaunchBack Date: 07/12/2026 Requested by: User Executed by: GitHub Copilot (Claude Sonnet 4.6) 1. GridView.swift — Magic Mouse Lag Problem: The Magic Mouse sends scroll events with a momentum phase (inertia after lifting the finger). The native `ScrollView` continued processing those events even after snapping to the target page, causing visible drift/lag during page transitions. Fix: Added the `ScrollWheelPager` struct and integrated it into the `ScrollView`'s `.background` (in a `ZStack` alongside the existing `MouseDragPager`). How it works: - Intercepts `.scrollWheel` events via `NSEvent.addLocalMonitorForEvents` - Accumulates `scrollingDeltaX` during the real gesture phase (`.changed`) - When the delta crosses 30pt, changes the page programmatically (once per gesture) - Consumes all momentum-phase events (`event.momentumPhase != []`) by returning `nil` — the `ScrollView` never receives the deceleration ticks - Normalizes the delta for Magic Mouse 1 (`hasPreciseScrollingDeltas == false`), which reports in "lines" rather than pixels Files changed: GridView.swift 2. AppQueryEngine.swift — Swift Concurrency Errors Problem (3 build errors): - `Call to main actor-isolated instance method 'refresh(query:into:)' in a synchronous nonisolated context` - `Capture of 'query' with non-Sendable type 'NSMetadataQuery' in a '@Sendable' closure` The `NotificationCenter.addObserver` and `Timer.scheduledTimer` closures are `@Sendable`, but: 1. Captured the local variable `query: NSMetadataQuery` (a non-Sendable type) 2. Called the `@MainActor`-isolated method `refresh(query:into:)` from a non-isolated context Fix: All three occurrences replaced with `MainActor.assumeIsolated { }` — safe because `queue: .main` and the Timer both guarantee execution on the main thread. Inside the block, `self.query` (stored property) is read instead of capturing the local variable, eliminating the Sendable issue. Files changed: AppQueryEngine.swift 3. LaunchpadOverlayWindow.swift — Swift Concurrency Errors Problem (3 build errors): - `Main actor-isolated property 'hostingView' can not be referenced/mutated from a Sendable closure` - `Main actor-isolated property 'onRequestDismiss' can not be mutated from a Sendable closure` The `completionHandler` of `NSAnimationContext.runAnimationGroup` is `@Sendable`, but was mutating `@MainActor`-isolated properties (`hostingView`, `onRequestDismiss`). Fix: Completion handler body wrapped in `MainActor.assumeIsolated { }` — safe because AppKit animation completion handlers always execute on the main thread. Files changed: LaunchpadOverlayWindow.swift 4. make_app_bundle.sh — Binary Path Problem: The script expected the universal binary at `.build/apple/Products/Release/LaunchBack`, but the Swift toolchain on this system outputs to LaunchBack. Fix: Replaced the hardcoded path check with a sequential probe that tries both `.build/apple/` and out — compatible with both toolchain versions. Files changed: make_app_bundle.sh 5. Pending Warning (not changed) `Sources/LaunchBack/WallpaperBackground.swift:234` — `CGWindowListCreateImage` deprecated in macOS 14. This is not a build error (warning only). The correct replacement is `ScreenCaptureKit` (async API), which would require significant refactoring of the existing synchronous call chain. A dedicated future migration is recommended. Final result: Build successful ✅ — `LaunchBack.app` Universal (arm64 + x86_64), ad-hoc signed, with icon. 4 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851850 Share on other sites More sharing options...
miliuco Posted Sunday at 01:17 PM Share Posted Sunday at 01:17 PM Sorry, I'm busy with different things, not tried yet. 2 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851853 Share on other sites More sharing options...
Max.1974 Posted Sunday at 03:02 PM Share Posted Sunday at 03:02 PM The app is already LaunchBack.dmg.zip 2 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851857 Share on other sites More sharing options...
ichelash Posted Sunday at 04:33 PM Author Share Posted Sunday at 04:33 PM 5 hours ago, Max.1974 said: @ichelash My friend, I made a few changes, and now the Magic Mouse scrolling works perfectly. I’m sharing the project with you—I uploaded it to MediaFire. I’m not very good at creating forks, sorry about that. Here is the link to the modified project so you can improve it however you see fit. Thank you for the app! https://www.mediafire.com/file/krhzwm0o9j7xfdi/Launchback-main.zip/file # # # Change Report — LaunchBack Date: 07/12/2026 Requested by: User Executed by: GitHub Copilot (Claude Sonnet 4.6) 1. GridView.swift — Magic Mouse Lag Problem: The Magic Mouse sends scroll events with a momentum phase (inertia after lifting the finger). The native `ScrollView` continued processing those events even after snapping to the target page, causing visible drift/lag during page transitions. Fix: Added the `ScrollWheelPager` struct and integrated it into the `ScrollView`'s `.background` (in a `ZStack` alongside the existing `MouseDragPager`). How it works: - Intercepts `.scrollWheel` events via `NSEvent.addLocalMonitorForEvents` - Accumulates `scrollingDeltaX` during the real gesture phase (`.changed`) - When the delta crosses 30pt, changes the page programmatically (once per gesture) - Consumes all momentum-phase events (`event.momentumPhase != []`) by returning `nil` — the `ScrollView` never receives the deceleration ticks - Normalizes the delta for Magic Mouse 1 (`hasPreciseScrollingDeltas == false`), which reports in "lines" rather than pixels Files changed: GridView.swift 2. AppQueryEngine.swift — Swift Concurrency Errors Problem (3 build errors): - `Call to main actor-isolated instance method 'refresh(query:into:)' in a synchronous nonisolated context` - `Capture of 'query' with non-Sendable type 'NSMetadataQuery' in a '@Sendable' closure` The `NotificationCenter.addObserver` and `Timer.scheduledTimer` closures are `@Sendable`, but: 1. Captured the local variable `query: NSMetadataQuery` (a non-Sendable type) 2. Called the `@MainActor`-isolated method `refresh(query:into:)` from a non-isolated context Fix: All three occurrences replaced with `MainActor.assumeIsolated { }` — safe because `queue: .main` and the Timer both guarantee execution on the main thread. Inside the block, `self.query` (stored property) is read instead of capturing the local variable, eliminating the Sendable issue. Files changed: AppQueryEngine.swift 3. LaunchpadOverlayWindow.swift — Swift Concurrency Errors Problem (3 build errors): - `Main actor-isolated property 'hostingView' can not be referenced/mutated from a Sendable closure` - `Main actor-isolated property 'onRequestDismiss' can not be mutated from a Sendable closure` The `completionHandler` of `NSAnimationContext.runAnimationGroup` is `@Sendable`, but was mutating `@MainActor`-isolated properties (`hostingView`, `onRequestDismiss`). Fix: Completion handler body wrapped in `MainActor.assumeIsolated { }` — safe because AppKit animation completion handlers always execute on the main thread. Files changed: LaunchpadOverlayWindow.swift 4. make_app_bundle.sh — Binary Path Problem: The script expected the universal binary at `.build/apple/Products/Release/LaunchBack`, but the Swift toolchain on this system outputs to LaunchBack. Fix: Replaced the hardcoded path check with a sequential probe that tries both `.build/apple/` and out — compatible with both toolchain versions. Files changed: make_app_bundle.sh 5. Pending Warning (not changed) `Sources/LaunchBack/WallpaperBackground.swift:234` — `CGWindowListCreateImage` deprecated in macOS 14. This is not a build error (warning only). The correct replacement is `ScreenCaptureKit` (async API), which would require significant refactoring of the existing synchronous call chain. A dedicated future migration is recommended. Final result: Build successful ✅ — `LaunchBack.app` Universal (arm64 + x86_64), ad-hoc signed, with icon. No worries..let me check it. 2 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851858 Share on other sites More sharing options...
miliuco Posted Sunday at 05:04 PM Share Posted Sunday at 05:04 PM @ichelash Latest version, much better. Smooth sliding between pages, faster than the first version. @Max.1974 works fine too, I like the horizontal scroll bar at the bottom in this version. A way to quit the app without needing Activity Monitor would be welcome. 2 1 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851859 Share on other sites More sharing options...
ichelash Posted 2 hours ago Author Share Posted 2 hours ago (edited) On 7/12/2026 at 8:04 PM, miliuco said: @ichelash Latest version, much better. Smooth sliding between pages, faster than the first version. @Max.1974 works fine too, I like the horizontal scroll bar at the bottom in this version. A way to quit the app without needing Activity Monitor would be welcome. Fixed is latest version 1.0.5: https://github.com/vbored/Launchback/releases/tag/v1.0.5 Just press ⌘Q while the grid is open to quit LaunchBack entirely and you good to go. Edited 2 hours ago by ichelash 1 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851998 Share on other sites More sharing options...
lorys89 Posted 1 hour ago Share Posted 1 hour ago (edited) 44 minutes ago, ichelash said: Fixed is latest version 1.0.5: https://github.com/vbored/Launchback/releases/tag/v1.0.5 Just press ⌘Q while the grid is open to quit LaunchBack entirely and you good to go. i prefer this Features: Scans /Applications, /System/Applications, and ~/Applications Adaptive SwiftUI grid with native app icons Search by app name or bundle identifier One-click app launching Drag-and-drop folder organization Context menu actions: Open and Show in Finder Organize app icons without deleting or modifying installed apps Native macOS visual effect background Asset catalog with app icon and accent color LaunchPadBasic_1.0_b1.zip Edited 1 hour ago by lorys89 2 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2851999 Share on other sites More sharing options...
lorys89 Posted 1 hour ago Share Posted 1 hour ago Give me some feedback, and I'll tweak or improve it if necessary. 2 Link to comment https://www.insanelymac.com/forum/topic/362966-launchback-app/#findComment-2852000 Share on other sites More sharing options...
Recommended Posts