Terminal: إضافة إعداد للتحكم في "تمويه" الاكريليك بالإضافة إلى التعتيم

تم إنشاؤها على ١ يوليو ٢٠١٩  ·  38تعليقات  ·  مصدر: microsoft/terminal

إلى حد كبير العنوان.

في الوقت الحالي ، نستخدم مقدار التمويه الافتراضي فقط.

Area-Settings Area-TerminalControl Help Wanted Issue-Task Product-Terminal

التعليق الأكثر فائدة

للتوضيح ، هل سيسمح هذا بشفافية النافذة بدون التعتيم (أي يتصرف مثل cmd و PS)؟ سيكون من الرائع أن تكون قادرًا على قراءة النص خلف النافذة.

ال 38 كومينتر

سيعمل أيضًا شريط تمرير العتامة ، مع التبديل لتشغيل أو إيقاف تشغيل الاكريليك

انتزاع علامة الفرز. هذا قدر معروف من العمل الذي نحتاج فقط إلى القيام به.

قد يكون هذا مستحيلاً ...

عندما رفعت هذه المشكلة ، اعتقدت خطأً أن هناك خاصية "Blur" على AcrylicBrush ، لكن هذا لا يبدو أنه مكشوف على الإطلاق. انظر صفحتها على MSDN .

وبالنظر إلى هذه المشكلة ، يبدو أن هذا قد يكون مستحيلًا لأسباب أمنية.

في هذا السياق ، أود خاصيتين مستقلتين لتعيين قيم الأكريليك عندما تكون النافذة في المقدمة وعندما تكون في الخلفية. على سبيل المثال ، أود أن تكون النافذة عند 90٪ عتامة عندما يكون التركيز على النافذة ، و 70٪ عتامة عندما لا يكون كذلك.

للتوضيح ، هل سيسمح هذا بشفافية النافذة بدون التعتيم (أي يتصرف مثل cmd و PS)؟ سيكون من الرائع أن تكون قادرًا على قراءة النص خلف النافذة.

عندما رفعت هذه المشكلة ، اعتقدت خطأً أن هناك خاصية "Blur" على AcrylicBrush ، لكن هذا لا يبدو أنه مكشوف على الإطلاق. انظر صفحتها على MSDN.

ألا يتحكم في ذلك TintOpacity ؟ https://docs.microsoft.com/en-us/windows/uwp/design/style/acrylic#custom -acrylic-brush

أعتقد أن هذا هو ما يقصده معظم الناس (أو على الأقل أنا) عند الحديث عن تغيير مستوى التمويه.

لقد وجدت طريقة (واحدة على الأقل) لتحقيق هذا التأثير ، ولكن ليس عبر UWP. واجهة برمجة التطبيقات القديمة حقًا من حقبة Vista DwmEnableBlurBehindWindow ، إذا تم استدعاؤها على Windows 10 ، تقوم بتغيير خلفية النافذة إلى أسود شبه شفاف ، بدون ضبابية. كم هو مثير للسخرية عند إعطاء اسم الوظيفة ، هاه؟ AFAICT ، هذا لا يمثل أي مشاكل أمنية ، حيث لا يمكن للتطبيق قراءة محتويات الخلفية الموضحة ، حيث تتم معالجتها بالكامل داخل dwm.exe.

ومع ذلك ، ألن نكون قادرين على استخدام SetLayeredWindowAttributes على الجذر HWND ، تمامًا كما يفعل conhostV2؟ كما أفهم المستندات ، يجب أن يؤثر هذا أيضًا على النوافذ الفرعية. إذا فعلت ذلك بطريقة قد تكون غير مرضية ، فيمكننا بعد ذلك استخدام نفس الوظيفة لتعيين ألفا من HWNDs الطفل إلى 255 (معتم) ، ثم امسح النوافذ الفرعية بلون شفاف لمحو تعبئة الخلفية الافتراضية. بعد ذلك يجب أن نكون قادرين على رسم ما نريده أعلى نافذة الخلفية الشفافة. قد يستغرق هذا بعضًا من إعادة هيكلة بنية Cascadia ، لكنني لا أرى سببًا لعدم إمكانية القيام بذلك. أتمنى أن يساعدك هذا!

لإضافة سنتي ، أود حقًا نوع الشفافية وطمس الخيارات التي يمتلكها iterm2 على Mac. لديك شفافية منتظمة ، ويمكنك إضافة القليل من التمويه لتقليل إجهاد العين ولكن لا يزال بإمكانك تحديد خلفية الخلفية أو أي شيء واضح.

يبدو الأكريليك رهيبًا ، والشيء الموجود أسفل النافذة لا يمكن التعرف عليه تمامًا.

@ zadjii-msft @ DHowett-MSFT نحن لسنا مقيدين بواجهة برمجة التطبيقات المنشورة كمطورين MSFT. إذا تواصلت مع مديري المكتبة ، فربما يمكنك حل هذا الأمر ، فهم يبنون أشياءهم بطريقة غبية لا يعني أننا جميعًا يجب أن نتعايش معها بشكل صحيح؟

للتسجيل ، هذه هي الميزة الأخيرة التي يجب أن تكون لدي ، وشفافية النافذة ليست قابلة للاستخدام حقًا بدونها imo. تعمل شفافية صورة الخلفية على الأقل ، ولكن من الأجمل أن تكون قادرًا على رؤية التطبيقات الفعلية الموجودة أسفل و / أو سطح المكتب الحقيقي. يدير كل من Terminus و Alacritty و Conemu هذا (وإن كان ذلك بدرجات متفاوتة من النجاح).

@ zadjii-msft @ DHowett-MSFT نحن لسنا مقيدين بواجهة برمجة التطبيقات المنشورة كمطورين MSFT. إذا تواصلت مع مديري المكتبة ، فربما يمكنك حل هذا الأمر ، فهم يبنون أشياءهم بطريقة غبية لا يعني أننا جميعًا يجب أن نتعايش معها بشكل صحيح؟

👆🏻 هذا. كثيرا هذا.

سألاحظ أن https://github.com/goreliu/wsl-terminal يتعامل مع الشفافية على ما يرام (وأعتقد بالطريقة التي يريدها غالبية الأشخاص هنا) ، لذا ربما يكون التحقيق في قاعدة البيانات هذه مكانًا معقولاً للبدء.

* تعديل *

وخيار الشفافية يأتي حقًا من https://github.com/mintty/mintty المشروع الأساسي

أرغب في قراءة ما يوجد خلف النافذة ، وعادة ما يكون نماذج التعليمات البرمجية على صفحة الويب. في هذا السياق ، هل من الأفضل أن يكون لديك مفتاح اختصار للتبديل بين الشفافية الضبابية وغير الضبابية؟ Aka ، يقوم بإيقاف تشغيل الأكريليك ولكنه يحافظ على الشفافية. يمكن أن يكون الدفع مع الاستمرار أو التبديل ، وسيكون من الممتع تجربة كليهما.

قد يكون هذا التعليق (https://github.com/microsoft/terminal/issues/1375#issuecomment-569483109) من JasonStein ذا صلة بهذا الموضوع:

مرحبًا يا رفاق ، أنا مؤلف Notepads ، هذه هي الطريقة التي أجعل بها تأثير أكريليك الخلفية "دائمًا" لكل من شريط العنوان وجسم نافذة تطبيق Notepads: JasonStein / Notepads: src / Notepads / Services / ThemeSettingsService.cs @ 12940ad # L253

لقد صنعت فرشاة الأكريليك بنفسي باستخدام "AcrylicBackgroundSource.HostBackdrop" بمساعدة مكتبة UICompositionAnimations لجعل حياتي أسهل (المرجع: Sergio0694 / UICompositionAnimations ).

تقوم بشكل أساسي بإنشاء الفرشاة من الصفر باستخدام واجهات برمجة التطبيقات (أكريليك باكجراوندسورس. هوست باك دروب + نسيج ضوضاء).

أكريليك براش API ليس الخيار الوحيد. أرغب حقًا في الحصول على خيار للشفافية غير الضبابية ، بصرف النظر عن خيارات الأكريليك. من الغريب إسقاط ميزة مفيدة لـ cmd عند إنشاء Windows Terminal كـ cmd-ng.

الشفافية مع عدم وجود ضبابية على الإطلاق إذا كان من الممكن القيام بذلك بدون أكريليك سيكون رائعًا حتى لا أضطر إلى الضغط على مفتاح alt في منتصف الأمر للتحقق من شيء ما.

في نظامي التشغيل mac و Linux ، أستخدم Terminal الشفافة طوال الوقت لأنني كثيرًا ما أقرأ مستندًا أو بعض التعليمات البرمجية المصدر في النافذة الموجودة أسفلها أثناء كتابتي في متناول اليد للغاية.

سيكون التحكم في التمويه مثاليًا. (على جهاز Mac ، أستخدم 3٪ blur فقط لإبراز النص الطرفي دون جعل النص خلفه صعب القراءة.)

للتوضيح ، هل سيسمح هذا بشفافية النافذة بدون التعتيم (أي يتصرف مثل cmd و PS)؟ سيكون من الرائع أن تكون قادرًا على قراءة النص خلف النافذة.

بالضبط! في الواقع ، لن أفكر في التبديل إلى Windows Terminal (بقدر ما أحبه) حتى يتم تنفيذ ذلك. أستمر في التحقق مرة أخرى ، لكنني أشعر بخيبة أمل لرؤية أنه لم يتم ذلك بعد.

هذه الميزة مفيدة بشكل خاص لمن لديهم شاشة واحدة أو شاشة محدودة العقارات. لدي دائمًا بعض صفحات الويب أو نص آخر خلف الجهاز الطرفي أريد أن أكون قادرًا على قراءته أثناء وجودي. أقوم بضبط الشفافية / التعتيم بشكل مناسب لجعل هذه تجربة مريحة حتى لا يزال بإمكاني قراءة الجهاز الطرفي جيدًا.

يرجى تنفيذ هذا في أسرع وقت ممكن. إنني أتطلع إلى استخدام WT وقد أتبعه منذ إصدار Alpha الأول.

على سبيل المكافأة ، يجب أن يكون هناك أيضًا قيمة منطقية لتبديل ما إذا كان يجب تطبيق الشفافية / التعتيم أيضًا على النص في Terminal. سيضمن ذلك أن يظل النص في الجهاز نابضًا بالحياة ومرئيًا لجعله أكثر تميزًا عن أي نص آخر في النوافذ خلف الجهاز.

إذا تمت الإشارة إلى التمويه على أنه أكريليك ، فلا أعتقد أنه يجب أن ينحرف عن البناء المرئي لأسطح أكريليك أخرى تتجاوز التعتيم (وهو متغير مع فرش الأكريليك)

إذا بدأت في فصل الطبقات المختلفة مثل مقادير الضجيج أو اللمعان أو التمويه - لم يعد "أكريليك" بل مجموعة طبقة تكوين من التأثيرات.

أستمر في التحقق مرة أخرى

أخبار جيدة! ستتلقى بريدًا إلكترونيًا عندما نغلق هذا الخطأ: ابتسم: للأفضل أو للأسوأ

يجب أن أكرر ما يقوله الآخرون ؛ أستخدم حاليًا تثبيت PowerShell Core msi كصدفة أساسية. كمكون كبير جدًا من وظيفتي ، فأنا في وحدة التحكم نصف أو ملء الشاشة على نطاق واسع للغاية طوال اليوم وأحتاج إلى رؤية الأشياء تحتها بوضوح.

أحب الفكرة وأقدر الجهد الذي تبذله Microsoft في بعض أدوات الإدارة المساعدة على Windows ، ولكن في هذه المرحلة ، تعد هذه الوحدة الطرفية الجديدة مجرد حداثة لا يمكن أن تحل محل وحدة التحكم الأصلية. يرجى الاطلاع على لقطة الشاشة أدناه ؛ تم وضع كلا النافذتين في نفس المكان في هذه الصفحة. أحدهما رائع والآخر غير قابل للاستخدام ، ولا يتعين علي الإشارة إلى أيهما.

image

هذه المحطة الجديدة هي مجرد حداثة

إنني أقدر انتقاداتك الكريمة للمشروع الذي كنا نعمل عليه خلال العام ونصف العام الماضيين ، ولكن هل من الممكن أن _لا _؟

أنا أتعاطف مع ما تشعر به ؛ إنه ليس مكانًا ممتعًا ، ولكن ضع نفسك أيضًا في منظور قاعدة المستخدمين (للعملاء الذين يدفعون إلى حد كبير) الذين ينتظرون هذا لمدة عام ونصف. أردت أن أردد صدى الأفكار الأخرى التي يبدو أنها تعم المجتمع فيما يتعلق بهذا المنتج وأردت على الأقل تقديم لقطة شاشة لتكون بنّاءة حيث لم يفعل ذلك أي شخص آخر حتى هذه اللحظة. بدون رؤية المشكلة فعليًا ، سيكون من السهل رفض المشكلة باعتبارها بسيطة أو متذمرة ، لكنني آمل أن تدرك أن وحدة التحكم العلوية في لقطة الشاشة الخاصة بي لا تعمل بشكل واضح. آمل أن يتم إصلاحه.

  1. لا تقلق ، كل فرد في الفريق مستخدم يومي للوحدة الطرفية. نحن جميعًا قاعدة مستخدمين تمامًا مثل عملائنا الخارجيين.
  2. للتسجيل ، تم الإعلان عن المحطة الطرفية فقط في أبريل الماضي ، لذلك كنتم تنتظرون 13 شهرًا فقط
  3. نحن نحقق في هذه المشكلة منذ فترة حتى الآن. نحن نتفهم أن هذه ليست مشكلة رسومية تافهة ، لكن للأسف ، إنها ليست مشكلة بسيطة تقنيًا لإصلاحها 😕

@ zadjii-msft أفهم الجزء الثالث وهذا هو سبب قيامي بنشر لقطة الشاشة لتوضيح ما يشتكي منه الجميع في هذا الموضوع وغيره من سلاسل الرسائل. أنا أقدر عملكم يا رفاق على بناء منتجات رائعة مع نهج أكثر حيادية لنظام التشغيل ، وآمل أن تستمر في التحرك دون الكثير من المتاعب بالنسبة لك.

"مهمتنا هي تمكين كل شخص وكل منظمة على هذا الكوكب لتحقيق المزيد." - مايكروسوفت

لسوء الحظ ، هذه المحطة الجديدة نوعا ما اصابع الخط. بالتأكيد يأتي مع بعض الميزات الرائعة ، مثل علامات التبويب! رائعة حقا!!! ومع ذلك ، كمطورين ، علينا أن نأخذ الخير مع السيئ ، وأحيانًا لا ندرك أن هناك ميزات مفقودة ينتهي بها الأمر إلى أن تكون مهمة جدًا للمستخدم حتى بعد الإطلاق. 🤦🏼‍♂️ هذا برنامج مجاني ، لذلك أنا ممتن للغاية لذلك والالتزام الرائع بـ Open Source من Microsoft في السنوات الأخيرة (خاصة منذ أن قلب Satya الشركة). في الوقت نفسه ، فإن شفافية أي محطة أمر لا بد منه في كتابي. من المؤكد أن تأثيرات الأكريليك رائعة ، ولكن لن يكون الجميع على ما يرام مع التعتيم ، بما فيهم أنا ، خاصةً مع مساحة الشاشة المحدودة. 🥰

استمروا في العمل الرائع لفريق Windows Terminal!

سأحب حقًا إذا أضاف فريق Microsoft هذه الميزة ، السؤال هو ، كيف يمكننا أن نطلب تضمين هذه الميزة في الإصدار التالي؟ أنا متأكد من أنه يمكن تحقيق ذلك ، شكرًا لكل العمل الذي أنجزته مع هذه المحطة حتى الآن. نعم إنها ليست مشكلة فنية ، بل هي مطلب جديد للمحطة.

أحب أن أحصل على هذا في الإصدار التالي ، ولكن كما أوضحت بالتفصيل في https://github.com/microsoft/terminal/issues/603#issuecomment -626830075 ، هذه _هي مشكلة فنية لا حل سهل ، لذا لا يمكنني الالتزام بإضافته في أي إصدار معين.

أعجب حتى الآن بالجهود والتطلع إلى هذا التمويه القابل للتكوين (أو حتى مجرد شبه شفافية عادي بدون أكريليك!) تمت إضافته في النهاية .. ولكن حتى ذلك الحين سيتم التمسك بـ wsltty.

الشفافية أمر لا بد منه للنافذة الطرفية ، لأن معظم المستخدمين المتمرسين يحتاجون إلى الرؤية من خلال النافذة كثيرًا. التمويه هو في الغالب تجميلي بينما الشفافية هي أداة فعلية.

harounhajem هذا ليس هو الشيء نفسه الذي تتم مناقشته في هذا الموضوع - المهمة في هذا الموضوع AcrylicBrush ، بينما في الحقيقة ليس كذلك.

بصراحة ، ربما يكون هذا مخادعًا لـ # 603 في هذه المرحلة ، لكنني أتركه مفتوحًا لأن هناك ما لا يقل عن 22 شخصًا آخر يتابعون هذا الموضوع بالفعل للحصول على حل.

لول @ zadjii-msft أخطأ النقطة تمامًا. ويبدو أنه أزال تعليقه. 😅
لكن نعم ، ينتظر الكثير منا اليوم الذي يمكننا فيه استخدام تطبيق Terminal هذا. 👀

لست متأكدًا مما إذا كان يجب أن تكون هذه مشكلة منفصلة أم لا. أود أيضًا حقًا خيارًا للحفاظ على العتامة عندما لا تكون المحطة الطرفية هي النافذة النشطة ، أو الأفضل من ذلك ، خيار استخدام قيمة عتامة بديلة عندما تكون غير نشطة.

في الوقت الحالي ، لدي اختصار لضبط النافذة النشطة على تعتيم بنسبة 80 ٪ تقريبًا ، والتي تعمل بشكل رائع مع تمويه الاكريليك حيث يمكنني رؤية ما وراء ذلك ولكن تأثير التمويه يساعد على بقاء النص النهائي قابلاً للقراءة تمامًا.

تم ضبط أكريليك WT على 0.8 ، بينما تقوم وظيفة AutoHotKey بتعيين التعتيم على 200 (200/255).

في الوقت الحالي ، لدي اختصار لضبط النافذة النشطة على تعتيم بنسبة 80 ٪ تقريبًا ، والتي تعمل بشكل رائع مع تمويه الاكريليك حيث يمكنني رؤية ما وراء ذلك ولكن تأثير التمويه يساعد على بقاء النص النهائي قابلاً للقراءة تمامًا.

تم ضبط أكريليك WT على 0.8 ، بينما تقوم وظيفة AutoHotKey بتعيين التعتيم على 200 (200/255).

سأكون فضوليًا لقراءة المزيد عن الإعداد الخاص بك لذلك إذا كنت على استعداد للمشاركة. يبدو أنه شيء أجده مفيدًا.

وظيفة AutoHotKey:

#^Esc::
  WinGet, TransLevel, Transparent, A
  If (TransLevel = OFF) {
    WinSet, Transparent, 180, A
  } Else {
    WinSet, Transparent, OFF, A
  }
return

يؤدي هذا إلى تبديل النافذة النشطة بين عتامة كاملة وعتامة 180/255. الاختصار هو Win+Ctrl+Esc .
بالنسبة لـ Windows Terminal ، قم فقط بتعيين "acrylicOpacity" لشيء يتراوح بين 0.7 و 0.9 ، اعتمادًا على لون الخلفية لديك (أغمق = شفاف أكثر بشكل ملحوظ). أنا أستعمل:

"background" : "#560152",
"acrylicOpacity" : 0.75,

narfanar شكرا جزيلا لك على هذا! لدي محطة شفافة على Windows الآن!

لم يعمل هذا بالنسبة لي كما هو ، لسبب ما ، لا يفهم إصدار windows الخاص بي الإعداد OFF ، لذلك قمت بتعديله قليلاً:

; Toggle window transparency.
#^Esc::
WinGet, TransLevel, Transparent, A
If (TransLevel = 255) {
    WinSet, Transparent, 205, A
} Else {
    WinSet, Transparent, 255, A
}
return

وظيفة AutoHotKey:

أومغ شكرا جزيلا لك! لم يخطر ببالي أبدًا أن AHK يمكنه فعل ذلك. يبدو أن التغيير والتبديل في إعداد الأكريليك للحصول على مقدار التمويه المطلوب يعمل. لا يزال أكثر تشتيتًا قليلاً من التمويه الذي تحصل عليه على محطة mac ولكنه يقوم بالمهمة.

يمكن استخدام هذه المحطة بصفتي الرئيسية الآن tynarfanar

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات