عن المشروع
Rectangle هو تطبيق لإدارة النوافذ على macOS، ويُوصف بأنه مبني على Spectacle. يستهدف macOS v10.15 والإصدارات الأحدث؛ آخر إصدار يدعم macOS 10.13 و10.14 هو v0.73. يمكن تثبيته من ملف dmg على rectangleapp.com أو صفحة Releases، أو عبر Homebrew cask (`brew install --cask rectangle`).
الوظيفة الأساسية هي نقل النوافذ وتغيير حجمها باستخدام اختصارات لوحة المفاتيح ومناطق الإطباق. سحب نافذة إلى حافة الشاشة يعرض معاينة للشكل الناتج: الحافة اليسرى/اليمنى تعطي نصفًا، الأعلى يكبّر، الزوايا تعطي أرباعًا، الحواف أعلى أو أسفل الزاوية مباشرة تعطي نصفين علوي/سفلي، والأثلاث السفلية تعطي الثلث المقابل (مع مجموعات السحب إلى المنتصف للحصول على ثلثين).
التبليط متاح عبر قائمة فرعية للتبليط (Rows وColumns) عند تفعيل "Show additional sizes in menu"، ويمكن تعيين اختصارات منفصلة لتبليط النوافذ في صفوف/أعمدة من Settings > General > Extras. يرتب التبليط النوافذ العادية في المساحة الحالية على الشاشة التي تحتوي على النافذة المركّزة، أو الشاشة الواقعة تحت المؤشر عندما لا تكون هناك نافذة عادية مركّزة. الصفوف تمتد من الأعلى إلى الأسفل والأعمدة من اليسار إلى اليمين، مرتبة حسب المواضع العلوية اليسرى للنوافذ. تملأ النطاقات منطقة العمل داخل حجوزات macOS (شريط القوائم، Dock) والفجوات المكوّنة عند حواف الشاشة حيث تسمح التطبيقات؛ ويتم احترام الحد الأدنى لأحجام النوافذ، وقد تكون التخطيطات جزئية إذا لم يستجب تطبيق في الوقت المناسب. يتم استبعاد نافذة Todo ويُحترم حجز شريطها الجانبي.
يمكن تجاهل تطبيق بحيث يتم إلغاء تسجيل اختصارات Rectangle أثناء كون هذا التطبيق في المقدمة وإعادة تسجيلها بعد ذلك، وهو مفيد عند تعارض الاختصارات. يتم ذلك من قائمة Rectangle.
يمكن تشغيل الإجراءات عبر URL: `rectangle://execute-action?name=[name]`، مع قائمة طويلة من الأسماء تغطي الأنصاف، والأثلاث، والأرباع، والأسداس، والأتساع، والأثمان، وصيغ التكبير، والتصغير/التكبير، والتمركز، والاستعادة، والتنقل بين الشاشات، واتجاهات النقل، وتبليط الكل/الصفوف/الأعمدة، وإجراءات التتالي. يمكن استدعاء مهام مثل تجاهل/إلغاء تجاهل عبر `rectangle://execute-task?name=...`، مع معرّف الحزمة اختياريًا. التفضيلات المخفية موثقة في TerminalCommands.md.
تشمل الاختلافات عن Spectacle استخدام MASShortcut لتسجيل الاختصارات، وإجراءات إضافية (النقل إلى الحافة دون تغيير الحجم، تكبير الارتفاع، تكبير شبه كامل)، وأثلاث أول/وسط/أخير صريحة بدلاً من التدوير (مراعية للاتجاه)، وعبور اختياري عبر الشاشات، وإطباق بالسحب إلى الحافة يمكن تعطيله.
تغطي المشكلات المعروفة عدم وجود واجهة برمجة تطبيقات عامة لنقل النوافذ بين المساحات/أسطح المكتب، والتداخل عندما تفرض التطبيقات أحجامًا دنيا (مع رسالة "Window size limited")، وiTerm2 الذي يغيّر الحجم بزيادات عرض الأحرف (يمكن إصلاحه عبر أمر defaults)، وتجميدات نادرة لمركز الإشعارات يمكن تخفيفها بتعطيل الإطباق بالسحب. تشمل إرشادات استكشاف الأخطاء القفل/الفتح، وإعادة التشغيل، وتسجيل التصحيح (عبر عنصر القائمة مع مفتاح alt "View Logging...")، والتحقق من وجود مديري نوافذ أو اختصارات متعارضة، والاختبار مع مستخدم macOS جديد، وإعادة تعيين أذونات إمكانية الوصول باستخدام `tccutil reset All com.knollsoft.Rectangle`.
يتم تخزين الإعدادات في NSUserDefaults على `~/Library/Preferences/com.knollsoft.Rectangle.plist`، ويتوفر استيراد/تصدير إعدادات JSON في التفضيلات؛ ملف إعدادات يوضع في `~/Library/Application Support/Rectangle/RectangleConfig.json` يُحمَّل عند الإقلاع ويُعاد تسميته بعلامة زمنية. إلغاء التثبيت يتم بإنهاء التطبيق ونقله إلى سلة المهملات، مع حذف الإعدادات اختياريًا أو استخدام `brew uninstall --zap rectangle`.
المساهمات مرحب بها، بما في ذلك الترجمات في Main.strings والأحجام/المواضع الإضافية عبر قسم Extra Shortcuts. يستخدم المشروع Swift Package Manager لـ Sparkle ونسخة معدلة من MASShortcut، ويشير إلى فشل البناء على إصدارات macOS الأقل من 26 بسبب أيقونة Liquid Glass ما لم تتم إزالة Other Flags الخاصة بـ Asset Catalog محليًا.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.