Китайский разработчик Данцин Лю выпустил утилиту Pinch для исправления бага в macOS, который возникает при попытке выполнить жест масштабирования на трекпаде двумя пальцами.
Удобная для дизайнеров и пользователей опция случайным образом перестаёт работать. Причём обычно это происходит в штатных приложениях macOS. Apple в курсе проблемы, но компания с ноября прошлого года пока так и не выпустила патч для её устранения.
Временное решение проблемы — это каждый раз при возникновении бага запускать приложение Terminal на Mac и выполнить в нём команду killall Dock. Разработчик Лю решил облегчить этот процесс для пользователей. Теперь каждый раз при возникновении бага с жестом масштабирования на трекпаде нужно нажать Fix Pinch Gesture в приложении Pinch.
// PinchApp.swift
// Pinch
//
// Created by Danqing Liu on 1/10/23.
//
import ServiceManagement
import SwiftUI
@main
struct PinchApp: App {
@State private var startAtLogin = SMAppService.mainApp.status == .enabled
var body: some Scene {
MenuBarExtra("Pincher", systemImage: "arrow.up.left.and.arrow.down.right.circle.fill") {
Button("Fix Pinch Gesture") {
let task = Process()
task.launchPath = "/bin/zsh"
task.arguments = ["-c", "killall Dock"]
try? task.run()
}
Divider()
Button(startAtLogin ? "Stop Starting at Login" : "Start at Login") {
if SMAppService.mainApp.status == .enabled {
try? SMAppService.mainApp.unregister()
} else {
try? SMAppService.mainApp.register()
}
startAtLogin = !startAtLogin
}
Button("Quit") {
NSApplication.shared.terminate(nil)
}.keyboardShortcut("q")
}
}
}