خب، بیایید این بهروزرسانی PowerToys رو با هم بررسی کنیم. PowerToys یه مجموعهای از ابزارهای کمکی برای ویندوزه که مایکروسافت ارائه میده و برای کاربرای حرفهایتر و کسایی که دوست دارن ویندوزشون رو حسابی دستکاری کنن خیلی به درد میخوره. این ابزارها شامل چیزایی مثل Advanced Paste (یه جور چسبوندن پیشرفته)، FancyZones (برای مدیریت پنجرهها)، افزونههای File Explorer (برای مدیریت فایلها)، پیشنمایش رجیستری و مدیریت کیبورد و ماوس میشن.
حالا توی این بهروزرسانی جدید، یعنی نسخهی 0.89.0، یه قابلیت خیلی باحال به Advanced Paste اضافه شده: تبدیل فرمت فایلهای صوتی و تصویری! یعنی میتونید خیلی راحت فرمت یه ویدیو یا آهنگ رو عوض کنید. این قابلیت رو ماه پیش معرفی کرده بودن و الان دیگه اومده.

یه خبر دیگه اینکه یه باگ هم برطرف شده. قبلاً فایل اجرایی PowerLauncher (یکی از ابزارهای PowerToys) نمیذاشت بقیهی فایلهای نصبکنندهی ویندوز (MSI) شورتکات بسازن. این مشکل الان حل شده. یه بهینهسازی هم توی ابزار Always On Top (که پنجرهها رو همیشه روی بقیه نگه میداره) انجام شده که باعث شده 18% سریعتر بشه.
تغییرات کامل این بهروزرسانی:
نکات مهم:
- Advanced Paste پیشرفتهتر شده: حالا میتونه فرمت فایلهای صوتی و تصویری رو عوض کنه.
- رفع چند تا مشکل: دیگه موقع بارگذاری تصاویر بندانگشتی بعد از آپدیت .NET 9 هنگ نمیکنه و PowerLauncher.exe هم دیگه جلوی ساخت شورتکات توسط بقیهی نصبکنندهها رو نمیگیره.
- بهبود دسترسیپذیری: توی FancyZones، Image Resizer و تنظیمات، یه سری مشکلات مربوط به دسترسیپذیری حل شده تا کسایی که از صفحهخوان استفاده میکنن راحتتر باشن.
- بهبود چارچوب اتوماسیون رابط کاربری: توی همهی بخشها این چارچوب بهتر شده و تستهای جدیدی هم اضافه شده.
تغییرات کلی:
- یه مشکلی که توی ویندوز 11 موقع آپدیت PowerToys وجود داشت و باعث میشد گزینههای منوی راستکلیک (مثل New+، PowerRename، Image Resizer و File Locksmith) درست آپدیت نشن، حل شده.
- بستههای .NET از 9.0.1 به 9.0.2 آپدیت شدن.
- سازگاری با VS17.3 و نسخههای بعدی برای C++23 فعال شده.
Advanced Paste:
- همونطور که گفتیم، قابلیت تبدیل فرمت فایلهای صوتی و تصویری اضافه شده.
- ظاهر برنامه هم بهتر شده.
- مدیریت کلیپبورد هم بهتر شده.
- از Semantic Kernel استفاده شده تا چسبوندن هوشمندتر بشه.
FancyZones:
- مشکلات دسترسیپذیری حل شده و اسم مانیتورها برای صفحهخوانها واضحتر شده.
Image Resizer:
- مشکلات مربوط به فیلدهای طول و عرض توی تنظیمات سفارشی Image Resizer حل شده. دیگه مقادیر خالی باعث خطا نمیشن، تنظیمات درست ذخیره میشن و تغییر اندازهی خودکار هم درست کار میکنه.
- صفحهخوانها حالا ابعاد انتخابشدهی تصویر رو توی منوی کشویی اعلام میکنن.
Monaco Preview:
- لینکها دیگه به جای Microsoft Edge توی مرورگر پیشفرض باز میشن.
Mouse Highlighter:
- یه مشکلی که باعث میشد هایلایت ماوس روی پنجرههای Administrator گیر کنه و تا وقتی دوباره روی یه پنجرهی معمولی کلیک نکنید محو نشه، حل شده.
Mouse Without Borders:
- یه مشکلی که توی حالت سرویس باعث میشد کپی-پیست و کشیدن و رها کردن فایلها کار نکنه، حل شده.
- امکان فعال/غیرفعال کردن Mouse Without Borders توی حالت سرویس از طریق GPO فعال شده.
- برای نگهداری راحتتر کد، کلاس بزرگ Common توی Mouse Without Borders به چند تا کلاس کوچیکتر و متمرکزتر تقسیم شده.
PowerRename:
- حالا میشه از مقادیر منفی به عنوان مقدار شروع توی عبارات باقاعده استفاده کرد (مثلاً ${start=-1314}).
- راهنمای RegEx بهتر شده و $، ^، عملگرهای شمارش و الگوهای رایج اضافه شدن.
PowerToys Run:
- مشکل هنگ کردن موقع بارگذاری تصاویر بندانگشتی بعد از آپدیت .NET 9 با غیرفعال کردن CETCompat حل شده.
- همونطور که گفتیم، PowerLauncher.exe دیگه جلوی ساخت شورتکات توسط بقیهی نصبکنندهها رو نمیگیره.
- تشخیص حالت تاریک توی Run بهتر شده و دیگه مشکلی توی تشخیص اشتباه تم وجود نداره.
- مدیریت جداکنندهی لیست توی ماشینحساب درست شده و توابعی که چند تا آرگومان دارن توی زبانهای مختلف درست کار میکنن (مثلاً pow(2;3) با pow(2,3) جایگزین میشه).
- تبدیل واحدهای زاویه توی ماشینحساب PowerToys Run درست شده و میشه سریع بین رادیان، درجه و گرادیان تبدیل کرد.
Quick Accent:
- کاراکترهای ǎ، ǒ و ǔ به مجموعهی کاراکترهای IPA اضافه شدن.
- کاراکترهای ` (بکتیک) و ~ (تیلده) به مجموعهی کاراکترهای VK_OEM_5 اضافه شدن.
- کاراکتر ς (سیمگای پایانی) به مجموعهی کاراکترهای یونانی اضافه شده.
Settings:
- امکان فعال/غیرفعال کردن تنظیم “اجرا در هنگام راهاندازی” از طریق GPO فعال شده.
- یه مشکل دسترسیپذیری حل شده و صفحهخوانها حالا میتونن اسم گروه لینکهای ثانویه رو توی صفحات تنظیمات اعلام کنن.
- یه مشکلی که باعث میشد شورتکات Color Picker توی داشبورد درست نمایش داده نشه، حل شده.
Workspaces:
- اگه یه پنجره آخرین بار روی یه مانیتوری که دیگه وصل نیست قرار گرفته باشه، وقتی دوباره باز میشه به جای اینکه خارج از صفحه و نامرئی بمونه، کوچیک میشه و توی محدودهی قابلمشاهدهی مانیتور اصلی قرار میگیره.
- توی ARM64 آیکونهای برنامههای بستهبندیشده به خاطر رفع مشکل تطابق مسیر، درست نمایش داده میشن.
ZoomIt:
- هشدار C4706 و خطای C2220 مربوطه موقع بیلد رفع شدن.
Documentation:
- لینک خراب توی runner-ipc.md درست شده.
- چکلیست پلاگین جدید با آپدیت کردن فریمورک هدف، حذف موارد تکراری و بهبود سازماندهی عبارات، بهروز شده.
- مستندات runner با ساختار کد جدید هماهنگ شده.
Development:
- پایپلاین روی ARM64 پایدار شده و بیلد فورک شده.
- تست فاز برای HostUILib اضافه شده و به عنوان بخشی از پایپلاین برای OneFuzz اضافه شده.
- چارچوب اتوماسیون UI-Test رفع اشکال و بهبود پیدا کرده و تستهای جدیدی برای ماژولهای FancyZones و Hosts اضافه شده.
- تابع Logger به عنوان سازگار با AOT بهینهسازی شده و عملکرد رو 18% بهبود داده.
- Common.UI و Setting.UI سازگار با AOT شدن.