প্রকল্প সম্পর্কে

Rectangle হল macOS-এর জন্য একটি উইন্ডো ম্যানেজমেন্ট অ্যাপ, যা Spectacle-এর উপর ভিত্তি করে তৈরি বলে বর্ণিত। এটি macOS v10.15 এবং পরবর্তী সংস্করণ সমর্থন করে; macOS 10.13 এবং 10.14 সমর্থনকারী সর্বশেষ রিলিজ হল v0.73। এটি rectangleapp.com বা Releases পেজ থেকে dmg আকারে, অথবা Homebrew cask-এর মাধ্যমে (`brew install --cask rectangle`) ইনস্টল করা যায়। মূল কার্যকারিতা হল কীবোর্ড শর্টকাট এবং স্ন্যাপ এরিয়ার মাধ্যমে উইন্ডো সরানো এবং আকার পরিবর্তন করা। একটি উইন্ডোকে স্ক্রিনের প্রান্তে টেনে নিলে ফলস্বরূপ লেআউটের একটি ফুটপ্রিন্ট প্রিভিউ দেখায়: বাম/ডান প্রান্তে অর্ধেক, উপরে ম্যাক্সিমাইজ, কোণায় কোয়ার্টার, কোণার ঠিক উপরে বা নিচের প্রান্তে উপরের/নিচের অর্ধেক, এবং নিচের তৃতীয়াংশে যথাক্রমে সেই তৃতীয়াংশ (দুই-তৃতীয়াংশের জন্য ড্র্যাগ-টু-সেন্টার কম্বিনেশন সহ)। টাইলিং একটি Tiling সাবমেনু (Rows এবং Columns) থেকে উপলব্ধ, যখন "Show additional sizes in menu" সক্রিয় থাকে, এবং Settings > General > Extras-এ Tile Windows in Rows/Columns-এর জন্য আলাদা শর্টকাট নির্ধারণ করা যায়। টাইলিং বর্তমান Space-এর সাধারণ উইন্ডোগুলিকে ফোকাসড উইন্ডো ধারণকারী ডিসপ্লেতে সাজায়, অথবা যখন কোনো সাধারণ উইন্ডো ফোকাসড থাকে না তখন পয়েন্টারের নিচের ডিসপ্লেতে সাজায়। Rows উপরে থেকে নিচে এবং Columns বাম থেকে ডানে চলে, উইন্ডোগুলির উপরের-বাম অবস্থান অনুসারে ক্রম করা হয়। Bands macOS রিজার্ভেশন (মেনু বার, Dock) এবং কনফিগার করা স্ক্রিন-এজ গ্যাপের ভিতরে কাজের এলাকা পূরণ করে, যেখানে অ্যাপ অনুমতি দেয়; ন্যূনতম উইন্ডো সাইজ সম্মান করা হয়, এবং কোনো অ্যাপ সময়মতো সাড়া না দিলে লেআউট আংশিক হতে পারে। Todo উইন্ডো বাদ দেওয়া হয় এবং এর সাইডবার রিজার্ভেশন সম্মান করা হয়। একটি অ্যাপকে ইগনোর করা যেতে পারে, যাতে সেই অ্যাপ ফ্রন্টমোস্ট থাকাকালীন Rectangle-এর শর্টকাট নিবন্ধনমুক্ত থাকে এবং পরে পুনরায় নিবন্ধিত হয়, যা শর্টকাট সংঘর্ষের সময় দরকারী। এটি Rectangle মেনু থেকে করা যায়। URL-এর মাধ্যমে অ্যাকশন ট্রিগার করা যায়: `rectangle://execute-action?name=[name]`, যেখানে অর্ধেক, তৃতীয়াংশ, চতুর্থাংশ, ষষ্ঠাংশ, নবমাংশ, অষ্টমাংশ, ম্যাক্সিমাইজ ভ্যারিয়েন্ট, ছোট/বড়, সেন্টার, রিস্টোর, ডিসপ্লে নেভিগেশন, মুভ ডিরেকশন, টাইল-অল/রows/কলাম এবং ক্যাসকেড অ্যাকশন সহ অনেক নামের একটি দীর্ঘ তালিকা রয়েছে। ইগনোর/আনইগনোর-এর মতো কাজ `rectangle://execute-task?name=...` এর মাধ্যমে ডাকা যায়, ঐচ্ছিকভাবে একটি বান্ডল আইডেন্টিফায়ার সহ। লুকানো প্রিফারেন্স TerminalCommands.md-এ নথিভুক্ত। Spectacle থেকে পার্থক্যের মধ্যে রয়েছে শর্টকাট রেকর্ডিংয়ের জন্য MASShortcut ব্যবহার, অতিরিক্ত অ্যাকশন (আকার পরিবর্তন না করে প্রান্তে সরানো, উচ্চতা ম্যাক্সিমাইজ, প্রায় ম্যাক্সিমাইজ), সাইক্লিংয়ের পরিবর্তে স্পষ্ট প্রথম/কেন্দ্র/শেষ তৃতীয়াংশ (ওরিয়েন্টেশন-সচেতন), ঐচ্ছিক ক্রস-ডিসপ্লে ট্রাভার্সাল, এবং ড্র্যাগ-টু-এজ স্ন্যাপিং যা নিষ্ক্রিয় করা যায়। পরিচিত সমস্যাগুলির মধ্যে রয়েছে Spaces/ডেস্কটপের মধ্যে উইন্ডো সরানোর জন্য পাবলিক API-এর অভাব, অ্যাপ ন্যূনতম সাইজ প্রয়োগ করলে ওভারল্যাপ ("Window size limited" বার্তা সহ), iTerm2-এর অক্ষর-প্রস্থ বৃদ্ধিতে রিসাইজ করা (একটি ডিফল্টস কমান্ড দিয়ে সমাধানযোগ্য), এবং বিরল Notification Center ফ্রিজ যা স্ন্যাপ-বাই-ড্র্যাগিং নিষ্ক্রিয় করে প্রশমিত করা যায়। সমস্যা সমাধানের নির্দেশিকার মধ্যে রয়েছে লক/আনলক, রিস্টার্ট, ডিবাগ লগিং (alt-key মেনু আইটেম "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 বিভাগের মাধ্যমে অতিরিক্ত সাইজ/অবস্থান অন্তর্ভুক্ত। প্রকল্পটি Sparkle এবং একটি ফর্কড MASShortcut-এর জন্য Swift Package Manager ব্যবহার করে, এবং উল্লেখ করে যে Liquid Glass আইকনের কারণে macOS 26-এর নিচের সংস্করণে বিল্ড ব্যর্থ হয়, যদি না Asset Catalog Other Flags স্থানীয়ভাবে সরানো হয়।