2 पॉइंट द्वारा GN⁺ 22 일 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • MacOS में Space switching animation को disable नहीं किया जा सकता, इसलिए बार-बार switch करने पर delay साफ़ महसूस होता है
  • मौजूदा “Reduce motion” setting या yabai window manager जैसी चीज़ों की अपनी सीमाएँ हैं, जैसे delay बना रहना या SIP disable करना पड़ना
  • InstantSpaceSwitcher इन सीमाओं के बिना trackpad swipe को high speed पर simulate करके instant switching लागू करता है
  • यह SIP disable किए बिना native app की तरह काम करता है, और CLI के जरिए Space number पर जाने की सुविधा भी देता है
  • यह मौजूदा third-party tools की जटिलता हटाकर MacOS के default environment में तेज़ Space switching संभव बनाने वाला व्यावहारिक tool है

MacOS में Space switching की समस्या और मौजूदा समाधान

  • MacOS में Space transition के समय animation बंद नहीं की जा सकती, इसलिए बार-बार switching होने पर delay का एहसास जमा होता जाता है
    • Apple लगातार animation disable करने के अनुरोध स्वीकार नहीं करता
    • transition time कम होने पर भी frequent switching में perceived speed कम लगती है
  • आम तौर पर सुझाया जाने वाला समाधान “Reduce motion” setting है, लेकिन यह इसे fade-in animation से बदल देता है, इसलिए delay फिर भी मौजूद रहता है
    • साथ ही यह setting web browser में prefers-reduced-motion media query को activate कर देती है, जिससे web animations disable होने का side effect आता है
  • yabai tiling window manager का instant switcher feature operating system binary patch मांगता है, इसलिए System Integrity Protection(SIP) बंद करनी पड़ती है
    • yabai इस्तेमाल करने पर default window manager को replace करना पड़ता है, और यह PaperWM.spoon आदि के साथ compatible नहीं है
  • FlashSpace, AeroSpace virtual workspaces जैसे third-party virtual space managers window hide/show तरीके से switching की नकल करने वाले non-native implementations हैं
  • BetterTouchTool के paid feature “Move Right/Left Space (Without Animation)” का इस्तेमाल भी एक तरीका है, लेकिन इसमें paid license की आवश्यकता होती है

InstantSpaceSwitcher — native instant Space switching tool

  • GitHub के jurplel द्वारा विकसित InstantSpaceSwitcher ऊपर की सभी सीमाओं को हटाकर instant Space switching को support करता है
    • यह menu bar application** के रूप में उपलब्ध है, और** SIP disable किए बिना काम करता है

      • यह trackpad swipe को high speed पर simulate करके बिना delay switching लागू करता है
      • यह Space number पर direct jump और command-line interface(CLI) दोनों उपलब्ध कराता है
      • CLI usage example:
      .build/release/ISSCli [left|right|index <n>]
      
      • installation steps इस प्रकार हैं
      • git clone https://github.com/jurplel/InstantSpaceSwitcher
      • cd InstantSpaceSwitcher
      • ./build.sh
      • build के बाद इसे native application के रूप में चलाया जा सकता है
      • फिलहाल GitHub repository में 1 star (स्वयं लेखक का) ही दर्ज है, और उम्मीद है कि ज़्यादा लोग इस tool को खोजें और इस्तेमाल करें

अतिरिक्त संदर्भ

  • instantspaces yabai के instant switcher को अलग करने की कोशिश थी, लेकिन MacOS Tahoe में यह काम नहीं करता
    • कई बार कोशिश के बाद भी सफलता नहीं मिली, और InstantSpaceSwitcher ज़्यादा स्थिर रूप से काम करता है
    • अगर किसी अन्य user ने इसे सफलतापूर्वक चलाया हो, तो feedback देने का अनुरोध है

1 टिप्पणियां

 
GN⁺ 22 일 전
Hacker News की राय
  • बचपन से इस space switching animation की आदत थी, इसलिए कभी असुविधाजनक नहीं लगा।
    लेकिन नया MacBook लेने के बाद महसूस हुआ कि shortcut input सिस्टम focus switching से तेज़ है, इसलिए चीज़ें बार-बार गड़बड़ा जाती हैं।
    खोजने पर पता चला कि मेरी muscle memory गलत नहीं थी, बल्कि 120Hz display वाले नए Mac में animation speed वास्तव में और धीमी हो गई है।
    स्क्रीन को 60Hz पर बदलने से पुरानी speed वापस आ जाती है।
    यह बदलाव क्यों हुआ, और $3.82 trillion market cap वाली कंपनी ने 5 साल बाद भी इसे क्यों नहीं ठीक किया, यह समझ से बाहर है।
    इससे जुड़ी चर्चा Apple forum और YouTube वीडियो में भी देखी जा सकती है।

    • इतना पुराना bug अभी भी बना हुआ है, यह यक़ीन करना मुश्किल है।
      सोचता हूँ Apple engineers ख़ुद macOS इस्तेमाल करते भी हैं या नहीं।
    • Mac customization के बारे में ज़्यादा नहीं जानता, लेकिन Android और Linux में animation बंद करके देखा है, और कुछ भी मिस नहीं किया।
      आख़िरकार शुरुआती wow effect के अलावा उसका कोई फ़ायदा नहीं था।
    • 2021 में जब पहली बार 120Hz MacBook इस्तेमाल किया, तभी यह तुरंत महसूस हुआ।
      इतनी बुनियादी UI functionality आज तक ठीक नहीं हुई, यह हैरानी की बात है।
    • मैं भी यही समस्या झेल रहा था।
      space switch करते समय गलत window में key input चला जाता था, जिससे बहुत झुंझलाहट होती थी, और अब जाकर पता चला कि इसकी वजह नया MacBook था।
      सच में राहत मिली।
    • शायद यह deceleration animation की calculation method की वजह से हो रहा होगा।
      कुछ वैसा ही सिद्धांत लगता है जैसा frame cap के बिना चलने वाले games में frame rate के हिसाब से movement बदल जाता है।
  • मुझे लगता है Apple वास्तव में घातक गलती कर रहा है।
    Microsoft भी यही कर रहा है।
    अच्छे interface और sensible defaults डिज़ाइन करने चाहिए, लेकिन power users को बाँधकर नहीं रखना चाहिए
    power users कम होते हैं, लेकिन वही design language को आगे बढ़ाते हैं, bugs ढूँढते हैं, और community को दिशा देते हैं।
    लेकिन Apple और Microsoft नियंत्रण बढ़ाने के नाम पर ecosystem को बंद कर रहे हैं।
    नतीजा यह है कि users के लिए चीज़ें लगातार अधिक असुविधाजनक होती जा रही हैं।
    इसलिए Linux की लोकप्रियता उल्टा बढ़ रही है — क्योंकि वह पूरा control देता है और entry barrier भी पहले से कम हो गया है।
    पुराना Apple इस संतुलन को अच्छी तरह समझता था, लेकिन अब यह सिर्फ control obsession जैसा लगता है।

    • असली समस्या यह है कि वे अब अच्छे defaults भी नहीं दे रहे।
      खराब design आसानी से गायब नहीं होता और दशकों तक बना रहता है।
      animation में बर्बाद होने वाला समय सिर्फ power users नहीं, बल्कि सभी का नुकसान है।
  • yabai की बात निकली है, तो Aerospace ज़रूर आज़माने की सलाह दूँगा।
    मैंने कई WM इस्तेमाल किए हैं, लेकिन यह सबसे स्थिर लगा।
    Aerospace GitHub

    • मैं भी Aerospace इस्तेमाल करता हूँ, और यह लगभग बिना configuration के शानदार काम करता है।
      इसके defaults इतने अच्छे हैं कि मैं कई सालों से इसमें लगभग कोई बदलाव नहीं कर रहा हूँ।
      हालाँकि मैं tiling WM power user नहीं हूँ।
    • Aerospace सच में कमाल का tool है।
    • पहले मैं macOS Spaces बहुत इस्तेमाल करता था, लेकिन recommendation मिलने के बाद Aerospace पर गया और तब से पूरी तरह संतुष्ट हूँ।
      Yabai पर भी विचार किया था, लेकिन उसकी कुछ features के लिए SIP(System Integrity Protection) बंद करना पड़ता था, इसलिए छोड़ दिया।
    • पहले यह बढ़िया चलता था, लेकिन आजकल windows बार-बार गायब हो जाती हैं, इसलिए बार-बार reset करना पड़ता है।
  • हाल में काम की वजह से macOS पर आया, लेकिन यह सच में engineering का शिखर नहीं है।
    अपने हाथ से सेट किए गए Linux desktop की आदत होने के कारण शायद ऐसा लगता है, पर macOS धीमा है, configure करना मुश्किल है, और keyboard-friendly भी नहीं है।

  • अभी कुछ देर पहले तक मुझे पता ही नहीं था, लेकिन अब समझ आया कि macOS की space switching animation कितनी परेशान करने वाली है।

    • ऊपर से 120Hz monitor पर यह और धीमी हो जाती है, और animation खत्म होने तक input focus पिछले space पर ही बना रहता है।
    • अब तुम्हारी नज़र दूसरे issues पर भी जाने लगेगी, इसलिए मानसिक शांति के लिए इसे भूल जाना ही बेहतर है
  • macOS के इसी bug की वजह से मैं Fedora Asahi Remix पर चला गया।
    Asahi Remix Gnome-आधारित है और इसका window management कहीं ज़्यादा समझदारी भरा है।
    bug का वीडियो यहाँ है।

    • मैं भी इसी वजह से Asahi Linux पर चला गया।
      90s के शुरुआती System 6 दौर से Mac user रहा हूँ, लेकिन अब पक्का नहीं कि अगला hardware Apple से ही खरीदूँगा।
    • मैं Asahi Alarm (Arch-आधारित) और Sway इस्तेमाल कर रहा हूँ।
      macOS ने मेरी इच्छा के खिलाफ़ जबरन update किया, उसके तुरंत बाद मैंने switch कर लिया।
  • switching animation हटाने के लिए तेज़ swipe को synthesize करने का विचार वाकई जीनियस है।

  • थोड़ा संबंधित मुद्दा है, लेकिन reboot के बाद जब Finder कई tabs restore करता है,
    तो tab पर क्लिक करते ही window अचानक किसी दूसरे space में उछलकर चली जाती है
    लगता है जैसे वह मान बैठता है कि एक ही window के tabs अलग-अलग spaces में हैं।
    आजकल Apple software के bugs सिर्फ साधारण edge cases नहीं लगते, बल्कि गलत modeling structure से निकले हुए दिखते हैं।

  • यह space switching hack भी बढ़िया है, लेकिन अगर पुराने OS X 10.5/10.6 वाले 2D space grid को वापस लाने का कोई तरीका हो तो और अच्छा होगा।
    10.7 के बाद का linear design बहुत ज़्यादा सरल बना दिया गया है।

    • मुझे भी वह feature बहुत याद आता था।
      macOS से KDE पर आने के बाद मुझे फिर से 3x3 virtual desktop grid मिल गया, और वह सच में बहुत सुविधाजनक है।
      हर desktop को अलग उपयोग के लिए fixed रखा जा सकता है, और switching animation भी fade, slide, speed adjustment जैसी settings के साथ मनचाहे ढंग से बदली जा सकती है।
      KDE की यही flexible configurability वास्तव में आकर्षक है।
  • Linux में Hyperland और Niri जैसे विकल्पों की आदत पड़ने के बाद, हाल में मैं OmniWM भी आज़मा रहा हूँ।

    • यह अभी शुरुआती development stage में है, लेकिन bug fixes की रफ़्तार बहुत तेज़ है।
      जब macOS इस्तेमाल करना ही पड़ता है, तो OmniWM की वजह से उसे झेलना काफ़ी आसान हो जाता है।
    • मैं spaces या window manager इस्तेमाल नहीं करता, इसलिए सोचता हूँ कि सिर्फ Cmd+Tab switching से मैं क्या मिस कर रहा हूँ।
      शायद यह सचमुच life-changing experience हो?
    • मैं भी यही सोचता था, लेकिन OmniWM इतना अच्छा लग रहा है कि अब इसे तुरंत आज़माने वाला हूँ।