הוספתי ל‑Mos מצב רשימה שחורה לאפליקציות והגשתי PR

ל־Mos יש רק מצב רשימת היתרים (allowlist), ואין מצב רשימת חסימות (blacklist). בתוכנות כמו Parallels Desktop, מכונות וירטואליות או שולחן עבודה מרוחק, אני בדרך כלל רוצה שהגלילה והמקשים יעברו ישירות לסביבת היעד לטיפול, ולא ש־Mos יתערב עם החלקה, היפוך או מיפוי כפתורים; אבל כשיש רק allowlist, צריך להפוך את זה ולתחזק רשימה של כל התוכנות שבהן כן רוצים שזה יעבוד — העלות גבוהה מדי.

הפעם הוספתי מקומית ל־Mos מצב “מצב רשימת אפליקציות”:

  • Normal: לשמור על הלוגיקה המקורית — לאפליקציות שברשימה יש הגדרות נפרדות, ולמי שלא ברשימה משתמשים בהגדרות הגלובליות.
  • Allowlist: להשאיר את מצב רשימת ההיתרים המקורי — חל רק על האפליקציות שברשימה.
  • Blacklist: האפליקציות שברשימה מקבלות מעבר חופשי לחלוטין — לא עוברות דרך העיבוד של Mos לגלילה, כפתורים וקיצורי גלילת HID++؛ אפליקציות שלא ברשימה ממשיכות להשתמש בהגדרות הגלובליות.

כבר בניתי עם ה־Xcode הרשמי והחלפתי את ה־Mos שרץ אצלי מקומית; כרגע ה־~/Downloads/Mos.app במחשב שלי מריץ את הגרסה הזו. בנוסף פתחתי Issue ו־PR במעלה הזרם:

אימתתי את הבדיקות הרלוונטיות, Build של Debug/Release, פירסור Swift, ‏Storyboard/XML ו־xcstrings JSON. מכיוון שאין לי תעודת צוות פיתוח של המעלה־זרם במחשב, הבדיקות וחבילת ההחלפה המקומית משתמשות בחתימה מסוג ad-hoc; לא נגעתי בחתימת ההפצה.