Giải pháp chuyển đổi Space tức thì trên macOS mà không cần tắt SIP
Bài viết giới thiệu InstantSpaceSwitcher, một ứng dụng mã nguồn mở giúp giải quyết sự khó chịu khi chuyển đổi không gian làm việc (Spaces) trên macOS bằng cách loại bỏ hoàn toàn hiệu ứng chuyển động mà không ảnh hưởng đến bảo mật hệ thống.

Một trong những điểm yếu lớn nhất trong việc quản lý cửa sổ trên macOS là khả năng không thể chuyển đổi giữa các Space (màn hình ảo) một cách tức thì. Apple liên tục phớt lờ các yêu cầu từ người dùng về việc tắt hiệu ứng chuyển động (animation) gây chóng mặt khi chuyển đổi màn hình. Mặc dù thời gian hiệu ứng không quá dài, nhưng với những ai phải chuyển đổi Space liên tục, độ trễ này trở nên rất rõ ràng và khá khó chịu.
Tuy nhiên, tôi tin rằng mình đã tìm ra giải pháp tốt nhất để chuyển đổi Space tức thì!
Trước khi đi vào chi tiết, chúng ta hãy xem qua các phương án hiện có và lý do tại sao chúng chưa thực sự lý tưởng:
Cài đặt hệ thống
1. Bật chế độ "Giảm chuyển động" (Reduce motion) trong Cài đặt hệ thống
Đây luôn là câu trả lời mặc định trên mạng, nhưng tôi thực sự mệt mỏi vì nó! Nó không giải quyết triệt để vấn đề mà chỉ thay thế hiệu ứng chuyển cảnh bằng một hiệu ứng mờ dần (fade-in) vô cùng kém hiệu quả không kém. Ngoài ra, việc bật tính năng này còn gây ra tác dụng phụ là kích hoạt prefers-reduced-motion trên các trình duyệt web, làm thay đổi trải nghiệm lướt web của bạn.
2. Cài đặt yabai (tiling window manager) và sử dụng tính năng chuyển đổi tức thì
Công bằng mà nói, cách này hoạt động khá tốt. Tuy nhiên, nó tồn tại hai vấn đề lớn. Thứ nhất, yabai thực hiện việc này bằng cách vá một phần của hệ điều hành (binary patching), điều này bắt buộc bạn phải tắt System Integrity Protection (SIP) – một rủi ro bảo mật không đáng có. Thứ hai, cài đặt yabai buộc bạn phải học và sử dụng nó như trình quản lý cửa sổ xếp lát (tiling window manager). Cá nhân tôi sử dụng PaperWM.spoon, và hai công cụ này không tương thích khi chạy cùng nhau.
3. Sử dụng trình quản lý không gian ảo của bên thứ ba
Một số lựa chọn phổ biến như FlashSpace và AeroSpace virtual workspaces. Tôi không có nhiều phàn nàn về chúng, ngoại trừ việc chúng không phải là giải pháp gốc (native) của macOS và cảm giác khá thừa thãi khi mục đích duy nhất của chúng ta chỉ là tắt một hiệu ứng hình ảnh.
4. Mua bản quyền BetterTouchTool
Bạn có thể bật tính năng "Move Right Space (Without Animation)" và "Move Left Space (Without Animation)". Đây là giải pháp trả phí.
Giải pháp hoàn hảo: InstantSpaceSwitcher
Không dài dòng nữa, tôi đã tìm thấy InstantSpaceSwitcher của jurplel trên GitHub. Đây là một ứng dụng thanh menu đơn giản giúp đạt được việc chuyển đổi Space tức thì mà không có bất kỳ nhược điểm nào kể trên.
Giao diện ứng dụng
InstantSpaceSwitcher không yêu cầu bạn tắt Security Integration Protection (SIP). Nó hoạt động bằng cách mô phỏng thao tác vuốt trên trackpad với tốc độ rất lớn. Ngoài ra, công cụ này còn cho phép bạn nhảy ngay đến một Space cụ thể theo số thứ tự và cung cấp giao diện dòng lệnh (CLI).
Cách cài đặt và sử dụng
Hướng dẫn cài đặt không được liệt kê trong file README của dự án, nên bạn có thể thực hiện như sau:
$ git clone https://github.com/jurplel/InstantSpaceSwitcher
$ cd InstantSpaceSwitcher
$ ./build.sh
Sau khi chạy lệnh trên, InstantSpaceSwitcher sẽ sẵn sàng dưới dạng một ứng dụng macOS gốc.
Giao diện dòng lệnh sẽ có sẵn tại đường dẫn sau:
$ .build/release/ISSCli --help
Usage: .build/release/ISSCli [left|right|index ]
Tôi có nhắc đến việc kho lưu trữ này hiện chỉ có đúng một sao trên GitHub (tôi) không? Tôi muốn nhiều người hơn nữa khám phá ra InstantSpaceSwitcher và tin tưởng sử dụng nó. Vì vậy, nếu bạn thấy nó hữu ích, hãy cân nhắc tặng cho dự án một ngôi sao nhé.
Hẹn gặp lại trong các bài viết tiếp theo!



