2 điểm bởi GN⁺ 12 ngày trước | 1 bình luận | Chia sẻ qua WhatsApp
  • macOS có cấu trúc không cho phép tắt hoạt ảnh chuyển đổi Space, nên khi chuyển đổi thường xuyên sẽ xuất hiện độ trễ có thể cảm nhận được
  • Các giải pháp trước đây như thiết lập “Reduce motion” hay trình quản lý cửa sổ yabai đều có giới hạn riêng như độ trễ vẫn còn hoặc cần tắt SIP
  • InstantSpaceSwitcher hiện thực việc chuyển đổi tức thì bằng cách mô phỏng thao tác vuốt trackpad ở tốc độ cao mà không vướng các ràng buộc này
  • Công cụ chạy dưới dạng ứng dụng native mà không cần tắt SIP, đồng thời hỗ trợ di chuyển theo số thứ tự Space qua CLI
  • Đây là công cụ thực dụng giúp chuyển đổi Space nhanh trong môi trường macOS mặc định, loại bỏ sự phức tạp của các công cụ bên thứ ba trước đó

Vấn đề chuyển đổi Space trên macOS và các giải pháp hiện có

  • macOS có cấu trúc không thể tắt hoạt ảnh khi chuyển đổi Space, nên nếu chuyển đổi thường xuyên sẽ có cảm giác chậm tích lũy gây bất tiện
    • Apple liên tục không chấp nhận các yêu cầu vô hiệu hóa hoạt ảnh
    • Dù thời gian chuyển mỗi lần ngắn, khi chuyển đổi thường xuyên vẫn xảy ra suy giảm tốc độ cảm nhận
  • Giải pháp thường được nhắc tới là thiết lập “Reduce motion”, nhưng cách này chỉ thay bằng hoạt ảnh fade-in, nên độ trễ vẫn tồn tại
    • Ngoài ra, thiết lập này còn kích hoạt media query prefers-reduced-motion trong trình duyệt web, gây ra tác dụng phụ là vô hiệu hóa hoạt ảnh web
  • Tính năng instant switcher của trình quản lý cửa sổ dạng tiling yabai yêu cầu patch nhị phân của hệ điều hành, nên phải tắt System Integrity Protection (SIP)
    • Khi dùng yabai, người dùng phải thay thế window manager mặc định, đồng thời không tương thích với PaperWM.spoon và các công cụ tương tự
  • Các trình quản lý không gian ảo bên thứ ba như FlashSpace, AeroSpace virtual workspaces là các triển khai không native, giả lập việc chuyển đổi bằng cách ẩn/hiện cửa sổ
  • Cũng có thể dùng tính năng trả phí của BetterTouchTool là “Move Right/Left Space (Without Animation)”, nhưng bị giới hạn ở chỗ cần giấy phép trả phí

InstantSpaceSwitcher — công cụ chuyển đổi Space tức thì theo kiểu native

  • InstantSpaceSwitcher do jurplel phát triển trên GitHub loại bỏ toàn bộ các giới hạn ở trên và hỗ trợ chuyển đổi Space tức thì
    • Được cung cấp dưới dạng ứng dụng trên thanh menu, hoạt động mà không cần tắt SIP

      • Công cụ mô phỏng thao tác vuốt trackpad ở tốc độ cao để hiện thực chuyển đổi không có độ trễ
      • Đồng thời cung cấp chức năng chuyển trực tiếp tới số thứ tự Spacegiao diện dòng lệnh (CLI)
      • Ví dụ dùng CLI:
      .build/release/ISSCli [left|right|index <n>]
      
      • Quy trình cài đặt như sau
      • git clone https://github.com/jurplel/InstantSpaceSwitcher
      • cd InstantSpaceSwitcher
      • ./build.sh
      • Sau khi build, có thể chạy dưới dạng ứng dụng native
      • Hiện tại kho lưu trữ GitHub mới chỉ có 1 sao (từ chính tác giả), và tác giả kỳ vọng sẽ có thêm nhiều người dùng khám phá và tận dụng công cụ này

Tham khảo thêm

  • instantspaces là một nỗ lực tách instant switcher khỏi yabai, nhưng không hoạt động trên macOS Tahoe
    • Dù đã thử nhiều lần vẫn thất bại, và InstantSpaceSwitcher hoạt động ổn định hơn
    • Nếu người dùng khác đã thành công, tác giả mong nhận được phản hồi

1 bình luận

 
Ý kiến trên Hacker News
  • Từ nhỏ tôi đã quen với hiệu ứng chuyển không gian làm việc này nên không thấy nó bất tiện
    Nhưng sau khi mua MacBook mới, tôi nhận ra các lần bấm phím tắt lại nhanh hơn việc hệ thống chuyển focus, nên mọi thứ cứ bị lệch nhịp
    Tìm hiểu thì mới biết không phải trí nhớ cơ của tôi sai, mà trên các máy Mac đời mới dùng màn hình 120Hz, tốc độ animation thực sự chậm hơn
    Nếu chuyển màn hình về 60Hz thì nó lại trở về tốc độ cũ
    Tôi thắc mắc vì sao lại có thay đổi này, và vì sao đã 5 năm trôi qua mà công ty vốn hóa 3,82 nghìn tỷ USD vẫn chưa sửa
    Có thể xem thêm thảo luận liên quan trên diễn đàn Applevideo YouTube

    • Thật khó tin là một bug tồn tại lâu như vậy mà vẫn chưa biến mất
      Không biết các kỹ sư Apple có thực sự dùng macOS hằng ngày không
    • Tôi không rành việc tùy biến trên Mac, nhưng trên Android và Linux tôi đã thử tắt animation, và chẳng hề thấy nhớ nhung gì cả
      Rốt cuộc ngoài hiệu ứng wow ban đầu thì nó chẳng có ích gì
    • Tôi nhận ra ngay từ năm 2021 khi lần đầu dùng MacBook 120Hz
      Thật ngạc nhiên là một tính năng UI cơ bản như vậy đến giờ vẫn chưa được sửa
    • Tôi cũng gặp đúng vấn đề này
      Trong lúc chuyển không gian làm việc, phím lại bị nhập vào nhầm cửa sổ nên rất bực, mà giờ mới biết hóa ra là do MacBook mới
      Thật sự nhẹ nhõm
    • Tôi đoán có lẽ là do cách tính animation giảm tốc
      Nguyên lý có vẻ giống như game không giới hạn khung hình, nơi chuyển động thay đổi theo tốc độ khung hình
  • Tôi nghĩ Apple đang mắc một sai lầm chí mạng
    Microsoft cũng vậy
    Họ nên thiết kế giao diện tốt và mặc định hợp lý, nhưng không nên trói tay power user
    Power user là thiểu số, nhưng lại là lực lượng nòng cốt thúc đẩy ngôn ngữ thiết kế, tìm bug và dẫn dắt cộng đồng
    Thế nhưng Apple và Microsoft đang khép kín hệ sinh thái với lý do tăng cường kiểm soát
    Kết quả là người dùng ngày càng thấy khó chịu hơn
    Vì vậy mà độ phổ biến của Linux thậm chí còn tăng lên — vì nó trao toàn quyền kiểm soát, trong khi rào cản tiếp cận lại đã thấp hơn
    Apple ngày xưa từng cân bằng điều này rất tốt, còn bây giờ thì chỉ giống như ham muốn kiểm soát đơn thuần

    • Vấn đề là giờ họ thậm chí còn không đưa ra được mặc định tốt nữa
      Thiết kế tệ rất khó biến mất, nên thường kéo dài hàng chục năm
      Thời gian bị lãng phí vào animation không chỉ làm power user thiệt thòi mà tất cả mọi người đều chịu ảnh hưởng
  • Nhân tiện đang nói về yabai, tôi rất khuyên nên thử Aerospace
    Tôi đã dùng nhiều WM, và đây là cái ổn định nhất
    Aerospace GitHub

    • Tôi cũng dùng Aerospace, và nó hoạt động cực tốt gần như không cần cấu hình gì
      Thiết lập mặc định tốt đến mức mấy năm nay tôi gần như không phải đụng vào
      Dù vậy tôi cũng không phải power user của tiling WM
    • Aerospace thật sự là một công cụ đáng kinh ngạc
    • Trước đây tôi dùng macOS Spaces rất nhiều, nhưng sau khi được giới thiệu thì chuyển sang Aerospace và hoàn toàn hài lòng
      Tôi cũng từng cân nhắc Yabai, nhưng bỏ qua vì có những tính năng phải tắt SIP (System Integrity Protection)
    • Trước đây nó chạy tốt, nhưng dạo này lại hay làm tôi mất cửa sổ nên phải reset liên tục
  • Gần đây vì công việc mà tôi chuyển sang macOS, và đây thực sự không phải là đỉnh cao của kỹ thuật
    Có lẽ vì tôi đã quen với desktop Linux tự cấu hình, nhưng macOS vừa chậm, vừa khó tùy chỉnh, lại không thân thiện với bàn phím

  • Cho tới tận vừa nãy tôi còn không nhận ra animation chuyển không gian làm việc trên macOS lại khó chịu đến thế

    • Chưa kể trên màn hình 120Hz nó còn chậm hơn, và focus nhập liệu vẫn ở không gian trước đó cho tới khi animation kết thúc
    • Giờ thì những vấn đề khác cũng sẽ bắt đầu lọt vào mắt bạn, nên vì sức khỏe tinh thần hãy quên nó đi
  • Tôi đã chuyển sang Fedora Asahi Remix vì bug này của macOS
    Asahi Remix dùng Gnome và quản lý cửa sổ hợp lý hơn nhiều
    Video về bug ở đây

    • Tôi cũng chuyển sang Asahi Linux vì đúng lý do đó
      Tôi là người dùng Mac từ thời System 6 đầu những năm 90, nhưng giờ thì không chắc phần cứng tiếp theo của mình còn mua từ Apple nữa không
    • Tôi đang dùng Asahi Alarm (dựa trên Arch) cùng với Sway
      Tôi chuyển ngay sau khi macOS ép cập nhật bất chấp ý muốn của tôi
  • Ý tưởng ghép nhiều thao tác vuốt nhanh để loại bỏ animation chuyển là thật sự thiên tài

  • Hơi liên quan một chút, nhưng khi Finder khôi phục nhiều tab sau lúc khởi động lại
    nếu bấm vào tab thì cửa sổ sẽ đột ngột nhảy sang không gian khác
    Có vẻ như nó hiểu nhầm rằng các tab trong cùng một cửa sổ thuộc về những không gian khác nhau
    Bug trong phần mềm Apple dạo gần đây không còn là các trường hợp ngoại lệ đơn lẻ nữa, mà trông giống như hệ quả của cấu trúc mô hình hóa sai

  • Màn hack chuyển không gian này cũng hay đấy, nhưng sẽ tuyệt hơn nếu có cách hồi sinh lại lưới không gian 2D của OS X 10.5/10.6
    Thiết kế tuyến tính từ 10.7 trở đi quá đơn giản

    • Tôi cũng nhớ tính năng đó vô cùng
      Sau khi chuyển từ macOS sang KDE, tôi lại có được lưới desktop ảo 3x3, và nó cực kỳ tiện
      Tôi có thể cố định từng desktop theo từng mục đích sử dụng, và còn tùy chỉnh animation chuyển với fade·slide·điều chỉnh tốc độ một cách tự do
      Chính khả năng cấu hình linh hoạt như vậy là điểm hấp dẫn lớn của KDE
  • Sau khi quen với các lựa chọn như HyperlandNiri trên Linux, gần đây tôi đang thử OmniWM

    • Nó vẫn còn ở giai đoạn phát triển sớm, nhưng tốc độ sửa bug cực nhanh
      Nhờ OmniWM mà những lúc phải dùng macOS cũng trở nên dễ chịu hơn
    • Tôi không dùng Spaces hay window manager, nên chỉ với chuyển bằng Cmd+Tab thì không biết mình đang bỏ lỡ điều gì
      Biết đâu đây lại là trải nghiệm làm thay đổi cuộc đời?
    • Tôi cũng từng nghĩ vậy, nhưng OmniWM trông quá hấp dẫn nên tôi sẽ thử ngay