
ל-macOS חסרה רשת המרחבים — ומפתח אחד החזיר אותה כאפליקציה
מפתח שהתגעגע לרשת שולחנות העבודה הווירטואליים של macOS Leopard הוציא את GridLion, אפליקציה שמחזירה ניווט 3x3 אחרי ש-Mission Control צמצמה את המרחבים לשורה אופקית אחת בלבד.
לפני עשרים שנה, לפי המחבר של הבלוג Hopefully Useful, חוויית שולחן העבודה ב-Mac הייתה טובה מזו שיש לו היום: מסך אחד ברזולוציה נמוכה שהרגיש כמו תשעה מסכים, משום שהניווט נעשה בזיכרון השרירי והמרחבי. הטענה שלו ממוקדת, וכעת הוא הוציא אפליקציה בשם GridLion כדי לענות עליה.
מה Leopard עשתה נכון
macOS 10.5 Leopard, שיצאה ב-2006, הציגה את Spaces: שולחנות עבודה וירטואליים שאפשר לסדר ברשת מותאמת אישית. המחבר בחר בפריסת 3x3 והתייחס אליה כתשעה מסכים — דפדפן במרכז, עורך מעליו למעבר בלחיצה אחת, Xcode בפינה השמאלית העליונה והסימולטור של iOS מתחתיו. המעבר בין מסכים חדל לדרוש מחשבה, והוא אימץ את הרעיון גם בתוכנות מאוחרות יותר, ובהן רשת 16 מסכי הרצף באפליקציית התופים EasyBeats.
מה Lion לקחה
ב-2011 החליפה macOS Lion את Spaces ב-Mission Control, שהגבילה את שולחנות העבודה הווירטואליים לשורה אופקית אחת. כדי להגיע למסך מסוים מהמקלדת היה צריך לגלול דרך כל השורה, והזכירה אם הדפדפן במסך השביעי או השמיני הפכה לניחוש. חלופות כמו Total Spaces גרמו להאטות והסתמכו על שינוי ה-Dock המערכתי, דבר שלימים חייב עקיפת System Integrity Protection. המחבר גם דוחה מנהלי חלונות אריחיים: הוא אינו רוצה חלונות מסודרים אלא עמדות עבודה נפרדות שנשארות כפי שהשאיר אותן.
כיצד נולד GridLion
נקודת המפנה הייתה פרויקט קוד פתוח בשם InstantSpaceSwitcher, שהסיר את האנימציה ש-macOS מציגה במעבר בין מרחבים בלי עריכות מערכת. למראה מעבר מיידי הבין המחבר שאפשר לדמות רשת מעל השורה המקורית. בעזרת LLM השיג אב-טיפוס מכוער אך עובד בתוך יום, ואחר כך הקדיש כחודש לליטוש. macOS נועלת את רוב ממשקי ה-API של Mission Control, וכיוון ש-GridLion קוראת ל-API פרטיים היא אינה מורשית ב-App Store, ולכן המכירות עוברות דרך Lemon Squeezy — Merchant of Record שחייב אותו להוכיח שהוא מוכר משהו בעל ערך ממשי.
ההרשאות היו החלק המסובך ביותר. ללכידת קיצורי מקלדת גלובליים ולניווט בין מרחבים נדרשת הרשאת Accessibility, ולהפקת תצוגות מקדימות של חלונות שאינם נראים נדרשת הרשאת Screen and System Audio Recording — שרשרת דיאלוגים שהוא משווה לרעתה ל-iOS, שבה בקשה אחת מפעילה הרשאה. האפליקציה עובדת גם בלי הרשאת התצוגה המקדימה, הוא מציין, ואינה נוגעת ברשת אלא לפי בקשה. ביחס ל-LLM הוא אמביוולנטי: הם, לדבריו, כמו ספינות מהירות מאוד שיוצאות ממסלולן בלי לולאת משוב טובה, וכיוון שכל כך הרבה ממשק משתמש הוא עניין של תחושה, אדם צריך להישאר בלופ. דברים אחדים נותרו מחוץ להישג יד — למשל העברת מרחב בין תצוגות, שכן אין לכך API אמין; הוא היה מעדיף שאפל תחזיר את המרחבים מבוססי הרשת ל-macOS עצמה.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.