Terminal: طلب الميزة: مفتاح التشغيل السريع المنسدلة ala quake / guake / tilda

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

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

Area-User Interface Help Wanted Issue-Feature Product-Terminal

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

سيكون وضع الزلزال شرطًا لي للتبديل من ConEmu. ومع ذلك ، فإنني أفضل كثيرًا أن يفتح نفس المثيل دائمًا بغض النظر عن الشاشة / سطح المكتب الافتراضي الذي يتم التركيز عليه حاليًا.

أنا شخصياً أستخدم win + tilde لفتح ConEmu ، ولكن من الواضح أن الاختصار يجب أن يكون قابلاً للتكوين.

ال 106 كومينتر

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

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

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

من الناحية المثالية ، يكون لكل شاشة محطة طرفية خاصة بها يمكن إبقائها مفتوحة في نفس الوقت مع الأجهزة الأخرى.
في nix باستخدام 3 مثيلات من Tilda ، قمت بإعداده بحيث يسقط f1 أو يغلق أو حدد ما إذا كان مفتوحًا ولكن غير نشط الشاشة اليسرى. يقوم F2 بشاشة المركز ويقوم f3 بعمل حقي. يمكنني استخدام مفاتيح التشغيل السريع هذه للتنقل بين هذه المحطات الثلاثة إذا كانت مفتوحة بالفعل أيضًا. تجعل النتيجة النهائية التنقل بين المحطات الطرفية وتطبيقات الخلفية الأخرى حلماً لسير العمل. يبدو أيضًا رائعًا جدًا إذا قلت ذلك بنفسي.

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

نحن حقا مدللون من الناحية الطرفية من الأشياء وهذا ما يجعل Microsoft تسعى لبناء محطة غنية بالميزات أكثر تقدمًا مثيرة للغاية. يبدو حقًا أن Microsoft تقاتل من أجل الوقت الذي يقضيه المطورون والمطورون المستقبليون (الطلاب هنا) في نظام التشغيل الخاص بهم ، وإذا قمت بإقران WSL2 بمحطة منسدلة ، فأنا أعرف حقيقة أنني سأقضي وقتًا أقل بكثير في إعادة التشغيل وما بين Mint و 10.

سيكون وضع الزلزال شرطًا لي للتبديل من ConEmu. ومع ذلك ، فإنني أفضل كثيرًا أن يفتح نفس المثيل دائمًا بغض النظر عن الشاشة / سطح المكتب الافتراضي الذي يتم التركيز عليه حاليًا.

أنا شخصياً أستخدم win + tilde لفتح ConEmu ، ولكن من الواضح أن الاختصار يجب أن يكون قابلاً للتكوين.

نعم ، هناك حالة واحدة تنخفض ، يجب أن تسقط على الشاشة حيث يوجد مؤشر الماوس الخاص بنا ، ويجب أن تركز ، ولكن لا يجب أن تظهر عندما تقوم بعمل Alt + Tab ، لذلك يبدو الأمر وكأنه مخبوز في نظام التشغيل. مثل guake.

cyberhck هل أنت متأكد من أنه يجب أن يكون مكان الماوس وليس مكان النافذة المركزة حاليًا؟

تضمين التغريدة
السلوك الافتراضي لـ Guake هو أن مفتاح التشغيل السريع ينشط الجهاز الطرفي في أي جهاز موجود حاليًا لمراقبة الماوس كما وصفه Cyberhck. كما أن لديها خيار تخصيص شاشة معينة لها إذا رغبت في ذلك. إنه مقيد فقط لأنه يمكن تشغيل مثيل واحد فقط في وقت واحد ، وهو شيء لا توجد مشكلة في windows Terminal معه. إذا كان من الممكن إعداد Windows Terminal ، فإن طريقة guake هي الاختيار بين السلوك الثابت أو اتباع السلوك ، فكل ما تحتاجه هو إعدادات مستقلة لكل مثيل لتتناسب مع وظائف كل من guake (متابعة أو ثابتة) و tilda (حالات متعددة)

نعم ، يمكن أن يكون لدينا تكوين ثلاثي الاتجاهات ، واحد على شاشة واحدة محددة ، وواحد على أي نافذة يتم التركيز عليها ، والآخر حيث يوجد الماوس ، (من المهم أيضًا أن يكون لديك خيار للاختباء من قائمة التطبيقات (alt + tab) إذا تم تمكين هذا الوضع ، لأنني أتخيل أن المستخدمين لن يرغبون في رؤية ذلك أثناء التبديل بين IDE والمتصفح)

:)

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

+1

الرجاء عدم الرد على سلاسل المحادثات بـ "+1" دون تقديم ملاحظات إضافية مفيدة. يحتوي Github على 1+ جيد تمامًا لا يقوم بإجراء اختبار ping لكل شخص في البريد الوارد لسلسلة الرسائل هنا:
image

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

السلوك الافتراضي على أجهزة العرض المتعددة لـ Guake هو أينما يكون الماوس حيث تسقط المحطة الطرفية.

ومع ذلك ، يمكنك ضبطه على المنسدلة إلى أي جهاز تريده عبر الإعدادات إذا كنت لا تريد هذا السلوك.

الأشياء التي أحتاجها مع هذا هي القدرة على تعطيل الرسوم المتحركة وإخفاء النافذة تمامًا (من شريط المهام ، alt + tab ، win + tab ، إلخ.)

سيكون خيارًا إضافيًا لعدم إظهار زر شريط المهام مطلقًا مطلوبًا من قبلي أيضًا ولكن قد يكون خارج نطاق هذه المشكلة

أحب الاقتراح ، وهو الشيء الوحيد الذي يمنع استخدامه يوميًا (بمجرد إصداره). أحب استخدام ctrl + `في ConEmu ولا أستخدم محطة VSCode المدمجة بسبب ذلك. ومع ذلك ، لست متأكدًا مما إذا كنت أهتم كثيرًا بربط المفتاح لكل فكرة شاشة.

أيضًا ، هل سيتضمن هذا الاقتراح بدء مثيل من المحطة إذا لم يكن أي منها قيد التشغيل ، على غرار مصطلحات Linux الأخرى مثل

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

سأفكر في التطوير على Windows أكثر (يتم حاليًا 95 ٪ على Linux) إذا كان لدي محطة يمكن أن تسقط مثل guake.

أنا أستخدم cmder / conemu بشكل أساسي على النوافذ أيضًا ، وهذا أيضًا هو السبب الرئيسي الذي يجعلني لا أقوم بالتبديل بعد ، خاصةً لأنني أستخدم شاشتين و (عادةً) 3 أجهزة كمبيوتر مكتبية ، بدون طريقة عالمية لاستدعاء المحطة I تحتوي بشكل أساسي على 6 أماكن حيث يمكن أن تكون النافذة الفعلية ، تبدو سخيفة ، لكنها مزعجة.

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

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

  1. يمكن تكوين كل مثيل إما لمتابعة الماوس أو الارتباط بجهاز عرض واحد.
  2. يمكن أن يكون لكل مثيل مفتاح التشغيل السريع الخاص به.

ثم لا يهم ما يعجبك داخل عالم الاحتمالات القابلة للتكوين.

أنا شخصياً أستخدم مزيجًا من الزلزال والتيلدا بحيث يكون لدي محطة واحدة مرتبطة بكل شاشة وواحدة تتبع الماوس.

NOFUNEVER لديك معظم ما يطلبه الناس بشكل صحيح ، لكن cyberhck و zakius حددوا بعض الميزات الأخرى التي قد تكون مهمة:

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

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

( zakius ، لقد ذكرت أيضًا الرغبة في تعطيل الرسوم المتحركة القائمة على القائمة المنسدلة. السبب؟ لا أرى أي خطأ في ذلك ، لكن التبرير قد يساعد.)

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

أفضل طريقة هي أن تكون قادرًا على اختيار وقت الرسوم المتحركة مع 0 تعطيله تمامًا

لا نريد رسومًا متحركة مثل mac التي تكون بطيئة جدًا ، لكن guake ينهي الرسوم المتحركة في أقل من 100 مللي ثانية ، على ما أعتقد ، لذلك فهو سريع ، ربما يمكن أن يكون التأخير تكوينًا أيضًا ، 0 لعدم وجود رسوم متحركة. تبدو الرسوم المتحركة Guake "صحيحة تمامًا" ، فهي سريعة جدًا ، ومع ذلك يمكنك معرفة من أين أتت أو إلى أين تتجه.

ستكون إضافة التكوين أمرًا رائعًا ، حيث يمكن لشخص لا يحب الرسوم المتحركة تعطيلها ، أو تحويلها إلى رسوم متحركة بطيئة مثل mac ، سأفعل 80 مللي ثانية أو 120 مللي ثانية.

آه كيف أتمنى أن يكون ConEmu حلاً بالنسبة لي ، فهو لا يعمل مع الجميع ، إنه مبني على Hotkey ، وأي شيء أعلى مفتاح التشغيل السريع يتم اكتشافه على أنه حصان طروادة (إنذار خاطئ).

يستخدم الكثير من الأشخاص Terminal للعمل ، ولا يسمح عملهم لهم بتثبيت شيء يتم اكتشافه على أنه حصان طروادة. (مثل Qonsole) https://github.com/joedf/Qonsole/issues/9

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

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

لذلك حتى يضيف أسيادنا هذا إلى المحطة ، فقد قمت بتكوين قطعة بسيطة من C # تعمل على إصلاح هذا بالنسبة لي في الوقت نفسه: https://github.com/flyingpie/windows-terminal-quake.

إنه يقوم بإسقاط نمط Quake باستخدام CTRL + ~ و CTRL + Q ، وهو أمر قابل للتغيير تمامًا بالطبع. يتم حاليًا إسقاط ملء الشاشة وينزل على الشاشة + مساحة العمل حيث يوجد الماوس.

إذا تم جذب أي شخص ، فأنا منفتح على الاقتراحات و / أو العلاقات العامة.

flyingpie هذا رمز أنيق جدًا لديك هناك. يبدو أن معظمها سيعمل في c ++ أيضًا ، لذلك من الجيد معرفة ذلك.

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

لدي حالة استخدام مماثلة. لا أستخدم أسلوب Quake ، لكني أحب حقًا المحطة المفتوحة دائمًا.

يقوم إعداد ConEmu الخاص بي بما يلي الذي يبدو أنه يفتقر إلى ملف wt.exe حتى الآن (بترتيب تقريبي للأهمية):

  1. لا يتم إنهاء ConEmu حرفياً إلا عند الإغلاق أو عند سؤاله صراحةً. إذا أغلقت علامة التبويب الأخيرة ، فستظل مفتوحة بدون علامات تبويب.
  2. يتم إطلاقه في نفس الموقع في كل مرة. (0،0) على شاشتي الثانية.
  3. لدي مفتاح اختصار عالمي لتبديل التركيز منه (ctrl + `).
  4. لا تظهر على شريط المهام. لديها أيقونة صينية.
  5. يمكنك فقط بدء مثيل واحد منه.
  6. يتم تشغيله تلقائيًا عند تسجيل الدخول إلى Windows. (مهم لما يلي)
  7. إنها المحطة الافتراضية ، وتستهلك أجهزة طرفية أخرى تلقائيًا (IE إذا قمت بتشغيل wt.exe ، ثم قمت بتشغيل cmd.exe ، أتوقع أن wt.exe سيفتح علامة تبويب جديدة بعلامة التبويب cmd.exe الجديدة) *

كل هذه حاصرات تقريبًا بالنسبة لي للتبديل إلى wt.exe من ConEmu.

بالإضافة إلى:

  • بعض الناس يريدون دائما في القمة.
  • يريد بعض الأشخاص تقليل فقد التركيز ، ويريد هؤلاء الأشخاص عمومًا تعطيل الرسوم المتحركة التصغير / المكبرة.
  • يريد البعض أن تقفز المحطة الطرفية إلى الشاشة "النشطة" عند التركيز.
  • البعض يريد مثيلات طرفية متعددة؟ *

هذه كلها ميزات مختلفة يجب أن يكون لها مواصفات IMO الخاصة بها. أنا على استعداد لدفع بعض من عملية المواصفات هذه. @ zadjii-msft هل تعرف أيًا من هذه النقاط التي تحتوي على مواصفات بالفعل ، ولن يتم إنجازها لسبب ما ، وما إلى ذلك؟

* صعب؟

إذاً لقد قمت بإدراج عدد من المشكلات المنفصلة ، يرجى معرفة ما إذا كان بإمكاني ربطها جميعًا:

  1. # 2080 هي مواصفات ويب هذه الميزة ، والتي ستتحول إلى مواصفات ضخمة بحلول الوقت الذي يتم فيه ذلك.
  2. ربما لا يحتاج # 1043 إلى TBH المواصفات ، فقط يحتاج إلى شخص ما للقيام بالعمل
  3. # 653 (هذا العدد)
  4. بصراحة لم أسمع طلب عدم وجوده في شريط المهام من قبل. لذلك هذا بالتأكيد ليس له مشكلته الخاصة. يبدو أن وجود رمز درج ضروري لعدم وجود رمز على شريط المهام ، لذلك قد تكون هذه مواصفات / مهمة واحدة
  5. هذا يقع تحت رقم 2080
  6. # 2189
  7. # 492 يتتبع هذا ، لكنه سيتطلب بعض التغييرات في نظام التشغيل على الأرجح. يأتي هذا أيضًا بشكل متكرر في # 2080.
  8. كان بإمكاني أن أقسم أن هذا كان مشكلة خاصة به ، لكن يبدو أنه ليس كذلك.
  9. لم أسمع هذا الطلب من قبل ، ولكن يبدو أنيقًا بالنسبة لي
  10. يبدو مشابهًا بشكل غامض لهذه الميزة TBH. ربما يجب علينا النظر في هذين السيناريوهين في هذه المواصفات؟
  11. لست متأكدًا مما تقصده في هذه النقطة - هل تقصد الأجزاء ، مثل # 1000؟

من بين هؤلاء ، # 1043 ، # 653 ، # 2189 تم وضع علامة "مطلوب مساعدة" 😉

لقد ذكرت 4. من قبل ، وللتأكد من عدم ظهور Terminal على Alt + Tab أو Win + Tab عندما تكون النافذة مخفية

حالات متعددة تعني نوافذ متعددة قد لا يجب أن تنتشر عبر شاشات متعددة أو أجهزة سطح مكتب افتراضية أفترض ، ولكن هذا من شأنه أن يجعل التعامل مع مفاتيح الاختصار العالمية أكثر تعقيدًا أو حتى مستحيلًا (أعتقد أن conemu يعطل المثيلات المتعددة عند تمكين وضع الزلزال)

بالنسبة إلى 11 / "مثيلات متعددة تعني نوافذ متعددة" ، أعني تحديدًا ما وصفته OP هنا: https://github.com/microsoft/terminal/issues/653#issuecomment -491389892

لا أهتم بهذا بشكل خاص ، لكنها قضية منفصلة ذات صلة. أعتقد أنهم يريدون مفاتيح اختصار عالمية متعددة لفتح / تنشيط / تركيز مثيلات متعددة بنفس الطريقة التي أريد بها مفتاح اختصار واحد للعنصر رقم 3 في قائمتي.

تضمين التغريدة

لقد ذكرت 4. من قبل ، وللتأكد من عدم ظهور Terminal على Alt + Tab أو Win + Tab عندما تكون النافذة مخفية

حالات متعددة تعني نوافذ متعددة قد لا يجب أن تنتشر عبر شاشات متعددة أو أجهزة سطح مكتب افتراضية أفترض ، ولكن هذا من شأنه أن يجعل التعامل مع مفاتيح الاختصار العالمية أكثر تعقيدًا أو حتى مستحيلًا (أعتقد أن conemu يعطل المثيلات المتعددة عند تمكين وضع الزلزال)

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

تعديل:
ربما يمكنك العمل في شيء حيث تكون النافذة الطرفية الأولى المفتوحة هي النافذة الرئيسية وهذه هي النافذة التي يتم استدعاؤها دائمًا عند استخدام مفتاح التشغيل السريع Quake.

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

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

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

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

أعتقد أنه يمكن تجاهل العديد من الحالات إذا استمر تحسين علامات التبويب ويمكن استدعاء نافذة نمط الزلزال من أي مكان. على الأقل لغاية الآن.

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

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

لقد كنت أستخدم سابقًا سطح مكتب Ubuntu على مدار السنوات القليلة الماضية (عدت للتو إلى Windows منذ WSL v2) وبما أن Guake ومحطة Ubuntu متشابهة جدًا من حيث الاستجابة وتصميم / سمات واجهة المستخدم وما إلى ذلك ، فغالبًا ما كانت محطة Ubuntu الافتراضية مفتوحة على شاشتي العمودية أشاهد السجلات وتحميل النظام.

من الواضح أن هذه هي الطريقة السهلة لحل المشكلة إذا تم تعطيل مثيلات متعددة مع قائمة منسدلة - استخدم محطة طرفية مختلفة.
المشكلة هي أن معظم المحطات الطرفية على Windows عبارة عن قمامة كاملة (ومن هنا يأتي هذا المشروع).

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

في يوم الاثنين ، 16 سبتمبر ، 2019 الساعة 2:00 مساءً ، كتب nofunatall [email protected] :

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

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

لقد كنت أستخدم Ubuntu لسطح المكتب من قبل خلال السنوات القليلة الماضية (فقط
عاد إلى Windows منذ WSL v2) ومنذ Guake ومحطة Ubuntu
متشابهة جدًا من حيث الاستجابة وتصميم / سمات واجهة المستخدم وما إلى ذلك كثيرًا
كانت محطة Ubuntu الافتراضية مفتوحة على شاشتي العمودية لمشاهدة السجلات
وتحميل النظام.

من الواضح أن هذه هي الطريقة السهلة للتغلب على المشكلة إذا كانت هناك حالات متعددة
تم تعطيل القائمة المنسدلة - استخدم محطة طرفية مختلفة.
المشكلة هي أن معظم المحطات الطرفية على نظام التشغيل Windows عبارة عن نفايات كاملة (ومن هنا يأتي هذا
مشروع OFC).

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/microsoft/terminal/issues/653؟email_source=notifications&email_token=ACAH5BIA5ZPETCBZK77LMVLQJ7XYVA5CNFSM4HL735C2YY3PNVWWK3TUL52HS4DFVREXG43VMVB5
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ACAH5BM722EZEB5LQBXGW6TQJ7XYVANCNFSM4HL735CQ
.

يا رفاق ، من الواضح أن لدينا قضيتين منفصلتين هنا. هل يمكننا تعديل هذا ليكون مجرد مفتاح التشغيل السريع "نمط Quake" (محطة عالمية / أحادية)؟

ثم هناك مشكلة ثانية ، سيتم حظرها بواسطة هذه المشكلة ، لتمكين تعيين مفتاح الاختصار "Quake style" المخصص لشاشات مختلفة.

يبدو أن الأول هو الأكثر شعبية والمطلوب. أنا أحب أن أرى ثانية واحدة أيضا (بارد فكرةNOFUNEVER لم أفكر من هذه الميزة، يبدو من المفيد)، ولكن سيكون من الرائع لو تمكنا من توضيح الموضوع قليلا.

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

https://github.com/microsoft/terminal/issues/653#issuecomment -520419611

هذا هو أفضل انهيار على ما أعتقد.

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

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

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

مع وجود العديد من المشكلات ، سيكون من الأسهل بكثير معرفة ما هو الطلب لكل تطور معين في الوصفة وتحديد أولويات التطوير. يبدو أن الحد الأدنى من الميزات القابلة للتطبيق قد يخدش الكثير من حكة الناس.

أليس هذا هو التعليق الذي يصفه https://github.com/microsoft/terminal/issues/653#issuecomment -520419611؟

لأي شخص ينتظر هذا للتبديل من conemu (مثلي) ، وما إلى ذلك ، يمكنك استخدام مفتاح التشغيل التلقائي وعنصر شريط المهام المثبت كحل بديل.

البرنامج النصي autohotkey:

^`::Send #5

سيؤدي هذا إلى تعيين ctrl + `إلى winkey + 5 ، قم بتغيير ذلك حسب احتياجاتك.

الأداة التي يوفرها flypie أفضل بكثير: لا تتطلب تثبيت وإخفاء زر شريط المهام تمامًا ، tbh أنا أستخدمه مع تطبيق آخر (نظرًا لأن Terminal يفتقد بعض الأشياء الأخرى أيضًا)

أخذ حل AutoHotKey إلى أبعد من ذلك:

#SC29::ToggleTerminal()

ShowAndPositionTerminal()
{
    WinShow ahk_class CASCADIA_HOSTING_WINDOW_CLASS
    WinActivate ahk_class CASCADIA_HOSTING_WINDOW_CLASS

    WinMove, ahk_class CASCADIA_HOSTING_WINDOW_CLASS,, -5, -10, A_ScreenWidth + 10, A_ScreenHeight * 0.7,
}

ToggleTerminal()
{
    WinMatcher := "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"

    DetectHiddenWindows, On

    if WinExist(WinMatcher)
    ; Window Exists
    {
        DetectHiddenWindows, Off

        ; Check if its hidden
        if !WinExist(WinMatcher) || !WinActive(WinMatcher)
        {
            ShowAndPositionTerminal()
        }
        else if WinExist(WinMatcher)
        {
            ; Script sees it without detecting hidden windows, so..
            WinHide ahk_class CASCADIA_HOSTING_WINDOW_CLASS
            Send !{Esc}
        }
    }
    else
    {
        Run "c:\Users\kim\AppData\Local\Microsoft\WindowsApps\wt.exe"
        Sleep, 1000
        ShowAndPositionTerminal()
    }
}

يربط هذا البرنامج النصي win + (على لوحة المفاتيح الدنماركية ، الزر الأيسر العلوي أسفل الهروب) بوظيفة تجعل التركيز على مثيل طرفي قيد التشغيل ، أو يبدأ مثيلًا جديدًا إذا لم يكن قيد التشغيل ، ويغير حجمه ويضعه "بشكل صحيح". إذا كانت المحطة الطرفية قيد التركيز بالفعل ، فإنها تخفي النافذة (لذلك لا تظهر في alt + tab).

لقد قمت بتحديث حل kimbirkelund قليلاً ، لذلك لإصلاح خطأ حجم النافذة في حال لم يكن لديك شريط المهام مثبتًا في الجزء السفلي كما أفعل.

يمكنك العثور على الكود الخاص بي هنا ، أو نسخه مباشرة من الأسفل:

; How much height of screen size the terminal window takes.
VRatio := 0.8
; The path to the Windows Terminal exe file.
WtPath = "%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe"

#SC29::ToggleTerminal()

ShowAndPositionTerminal()
{
    ScreenX := GetScreenLeft()
    ScreenY := GetScreenTop()
    ScreenWidth := GetScreenWidth()
    ScreenHeight := GetScreenHeight()
    global VRatio

    WinShow ahk_class CASCADIA_HOSTING_WINDOW_CLASS
    WinActivate ahk_class CASCADIA_HOSTING_WINDOW_CLASS

    WinMove, ahk_class CASCADIA_HOSTING_WINDOW_CLASS,, ScreenX-5, ScreenY-10, ScreenWidth+10, ScreenHeight * VRatio,
}

ToggleTerminal()
{
    WinMatcher := "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"

    DetectHiddenWindows, On

    if WinExist(WinMatcher)
    ; Window Exists
    {
        DetectHiddenWindows, Off

        ; Check if its hidden
        if !WinExist(WinMatcher) || !WinActive(WinMatcher)
        {
            ShowAndPositionTerminal()
        }
        else if WinExist(WinMatcher)
        {
            ; Script sees it without detecting hidden windows, so..
            WinHide ahk_class CASCADIA_HOSTING_WINDOW_CLASS
            Send !{Esc}
        }
    }
    else
    {
        global WtPath
        Run %WtPath%
        Sleep, 1000
        ShowAndPositionTerminal()
    }
}

; Gets the edge that the taskbar is docked to.  Returns:
;   "top"
;   "right"
;   "bottom"
;   "left"
GetTaskbarEdge() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,

  if (TW = A_ScreenWidth) { ; Vertical Taskbar
    if (TY = 0) {
      return "top"
    } else {
      return "bottom"
    }
  } else { ; Horizontal Taskbar
    if (TX = 0) {
      return "left"
    } else {
      return "right"
    }
  }
}

GetScreenTop() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
  TaskbarEdge := GetTaskbarEdge()

  if (TaskbarEdge = "top") {
    return TH
  } else {
    return 0
  }
}

GetScreenLeft() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
  TaskbarEdge := GetTaskbarEdge()

  if (TaskbarEdge = "left") {
    return TW
  } else {
    return 0
  }
}

GetScreenWidth() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
  TaskbarEdge := GetTaskbarEdge()

  if (TaskbarEdge = "top" or TaskbarEdge = "bottom") {
    return A_ScreenWidth
  } else {
    return A_ScreenWidth - TW
  }
}

GetScreenHeight() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
  TaskbarEdge := GetTaskbarEdge()

  if (TaskbarEdge = "top" or TaskbarEdge = "bottom") {
    return A_ScreenHeight - TH
  } else {
    return A_ScreenHeight
  }
}

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

  • ارتفاع المحطة
  • عتامة المحطة
  • نوع الخط الطرفي وحجمه
  • نظام الألوان

كل هذا دون إعادة ترجمة الملف أو فتح ملف JSON وتحريره يدويًا. يقوم بحفظ الإعدادات غير profile.json (مثل حجم المحطة الطرفية) في ملف settings.ini الخاص به في نفس الملف dir. يسعدني قبول التغييرات عليه إذا أراد أي شخص المساهمة. سأضيف أيضًا في مرحلة ما منشئ موضوع هنا لأنه كان نوعًا من العمل الروتيني على موضوع Monokai الذي أستخدمه حاليًا (في ذهني إذا أراد أي شخص إزالته). فيما يلي معاينة صغيرة لقائمة الإعدادات:

image

تحرير: لقطة شاشة محدثة

يمكنك الحصول على الكود هنا: https://gist.github.com/alenbasic/004c5abeb4cc0e0b31b7681371d48898

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

لقد تقدمت وبدأت في مشروع ، إلى حد كبير بسبب هذه الميزة. https://github.com/dotjosh/WinTermPlus

dotjosh يبدو رائعا! هل هناك أي سبب لتطبيقك لذلك كأداة مستقلة وليس علاقات عامة؟ ما مقدار الجهد المبذول لدمجها؟

dotjosh يبدو رائعا! هل هناك أي سبب لتطبيقك لذلك كأداة مستقلة وليس علاقات عامة؟ ما مقدار الجهد المبذول لدمجها؟

أنا قوي في C # / WPF وقد تمكنت من إنجازه بسرعة. سأكون على استعداد للمساعدة في نقلها إذا كنا سعداء بالسلوك.

بصراحة أعتقد أن هذا يبدو رائعًا جدًا. سأكون سعيدًا بالتأكيد لمراجعة هذا العلاقات العامة.

قد يكون من الصعب بعض الشيء نقل بتات شريط المهام إلى نموذج أكثر شبهاً بـ UWP لدينا (ربما ستحتاج إلى التلاعب بالحزمة package.appxmanifest) ، لكن هذا البرنامج التعليمي بدا جيدًا . قد يكون من المنطقي أيضًا وضع إعدادات الحجم لفتح النافذة في حدود profiles.json ، وتحديد الارتباط هناك أيضًا (حتى لو لم يفعل أي شيء فعليًا في TerminalApp ، بما أنني أفترض أن الربط يجب أن يتم تسجيله في نظام التشغيل نفسه. أنا متأكد من وجود طريقة للقيام بذلك في C ++ ، على الرغم من أنني لا أعرف ما هو

فقط أقتبس شيئًا قلته من قبل:

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

بصراحة ، لا نحتاج حقًا إلى _ كل شيء_ في قالب المواصفات المملوء ، أود حقًا التأكد من أن أي مساهمة نقبلها قد فكرت في حالات الحافة هنا ، وتحدد بوضوح السلوك لهذه الحالات. يسمى:

  • ماذا يحدث عندما لا يكون لدى المستخدم مثيل طرفي مفتوح ، ويضغطون على مفتاح الاختصار العام؟
  • ماذا يحدث عندما يكون لدى المستخدم عدة نوافذ طرفية مفتوحة؟ أي واحد يفتح؟ هل _لا شيء_ يحدث في هذه الحالة؟

    • مع فتح العديد من النوافذ الطرفية ، ووجود محطة طرفية واحدة مركزة حاليًا ، هل يخفي مفتاح التشغيل السريع العام النافذة النشطة ، أو يستدعي نافذة مصغرة؟

  • هل يمكن للمستخدم اختيار ظهور النافذة مكبرة؟ شاشة كاملة؟
  • ماذا يحدث عندما لا يكون لدى المستخدم مثيل طرفي مفتوح ، ويضغطون على مفتاح الاختصار العام؟

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

  • ماذا يحدث عندما يكون لدى المستخدم عدة نوافذ طرفية مفتوحة؟ أي واحد يفتح؟ ألا يحدث شيء في هذه الحالة؟
  • مع فتح العديد من النوافذ الطرفية ، ووجود محطة طرفية واحدة مركزة حاليًا ، هل يخفي مفتاح التشغيل السريع العام النافذة النشطة ، أو يستدعي نافذة مصغرة؟

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

  • هل يمكن للمستخدم اختيار ظهور النافذة مكبرة؟ شاشة كاملة؟

لا أفهم لماذا لا إذا كان كلاهما مدعومًا حاليًا. 👍 سيعمل مفتاح الاختصار تقريبًا بنفس طريقة التقليل / الاستعادة من المصغر في كلتا الحالتين.

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

  • ماذا يحدث عندما لا يكون لدى المستخدم مثيل طرفي مفتوح ، ويضغطون على مفتاح الاختصار العام؟

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

  • ماذا يحدث عندما يكون لدى المستخدم عدة نوافذ طرفية مفتوحة؟ أي واحد يفتح؟ ألا يحدث شيء في هذه الحالة؟

إذا كان إعداد المثيل الفردي نشطًا: فلا يمكن فتح عدة نوافذ.

إذا لم يكن إعداد المثيل الفردي نشطًا ، يرسل Terminator الأمر إلى جميع المثيلات وجميع حالات التبديل. قد يكون هذا هو الحل الأبسط ؛ ليس من المنطقي استخدام وضع الزلزال مع حالات متعددة ، وبهذه الطريقة لن تتعطل المحطات بشكل دائم في حالة مخفية (يخفي المنهي النافذة من شريط المهام في حالة مخفية).

ConEmu: تمكين وضع الزلزال يفرض وضع مثيل واحد ويخرج مربع الاختيار باللون الرمادي. هذا يجعل الأمر أكثر منطقية من حيث السلوك ، ولكنه يقدم المزيد من التعقيد.

لا أعتقد أن غياب وضع المثيل الفردي (# 2227) يجب أن يعيق تنفيذ هذه الوظيفة.

  • مع فتح العديد من النوافذ الطرفية ، ووجود محطة طرفية واحدة مركزة حاليًا ، هل يخفي مفتاح التشغيل السريع العام النافذة النشطة ، أو يستدعي نافذة مصغرة؟

انظر أعلاه - كلاهما. يبدل دولهم.

  • هل يمكن للمستخدم اختيار ظهور النافذة مكبرة؟ شاشة كاملة؟

في كل من ConEmu و Terminator ، لا يتعلق هذا بوضع الزلزال ، حيث تتم استعادة النافذة إلى أي حالة كانت عليها قبل أن يتم تبديلها مخفية. إذا كانت في وضع ملء الشاشة ، فستستعيد وضع ملء الشاشة ؛ نفس الشيء بالنسبة للنوافذ المكبرة وغير المكبرة.

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

وأعتقد أنه أفضل بكثير لحالة الاستخدام

من وجهة نظر المستخدم ، يبدو أن الاختلاف الرئيسي بين "ملء الشاشة" والإطار المكبر هو أن "ملء الشاشة" يغطي شريط المهام.
-------- الرسالة الأصلية -------- من: zakius [email protected] التاريخ: 15/11/2019 22:38 (GMT + 00: 00) إلى: microsoft / terminal @ noreply.github.com نسخة إلى: Igroeg Okiob [email protected] ، تعليق [email protected] الموضوع: رد: [microsoft / terminal] طلب الميزة: مفتاح التشغيل السريع المنسدلة ala
quake / guake / tilda (# 653) كونه صعب المراس قليلاً: لا تستخدم أي من المحطات الشائعة ملء الشاشة الفعلي (الحصري) ولكن يمكن عرضها بلا حدود
وأعتقد أنه أفضل بكثير لحالة الاستخدام

- أنت تتلقى هذا لأنك علّقت. قم بالرد على هذا البريد الإلكتروني مباشرةً ، أو قم بعرضه على GitHub ، أو قم بإلغاء الاشتراك.
[
{
"context": " http://schema.org
"type": "EmailMessage"،
"المحتملة": {
"type": "ViewAction"،
"هدف": " https://github.com/microsoft/terminal/issues/653؟email_source=notifications\u0026email_token = AB2TW7D3V347CBC62MCQ32TQT4QHVA5CNFSM4HL735C2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEG5YSA # issuecomment-554556488"
"رابط": " https://github.com/microsoft/terminal/issues/653؟email_source=notifications\u0026email_token = AB2TW7D3V347CBC62MCQ32TQT4QHVA5CNFSM4HL735C2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEG5YSA # issuecomment-554556488"
"الاسم": "عرض المشكلة"
} ،
"الوصف": "عرض هذه المشكلة على GitHub"،
"الناشر": {
"type": "Organization"،
"الاسم": "جيثب" ،
"url": " https://github.com "
}
}
]

مفتاح التشغيل السريع لأسلوب وحدة التحكم Quake (ConEmu) أمر لا بد منه. هل تمكن أي شخص من إرفاق Terminal بـ ConEmu؟

dotjosh يبدو رائعا! هل هناك أي سبب لتطبيقك لذلك كأداة مستقلة وليس علاقات عامة؟ ما مقدار الجهد المبذول لدمجها؟

أنا قوي في C # / WPF وقد تمكنت من إنجازه بسرعة. سأكون على استعداد للمساعدة في نقلها إذا كنا سعداء بالسلوك.

نحن! هل يمكننا الحصول على طلب سحب هذا؟

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

لكن يجب أن أقول إن عدم وجود هذه الميزة هو فشل PM ويظهر نوعًا ما أنهم لا يفهمون تمامًا تأثير هذه الميزة على العديد من المستخدمين. هذا ما ، 2 مؤشر؟ ربما 3؟

هذه ميزة فاكهة معلقة منخفضة ولها تأثير كبير. يعجبني أنكم يا رفاق تقبلون العلاقات العامة العامة ، ولكن إذا كان الجمهور لا يفعل ذلك ، فجر ذلك إلى سباق سريع. هذه التذكرة كانت مفتوحة لمدة عام.

بالنسبة إلى بعض الأشخاص ، هذا ليس مهمًا على الإطلاق ، بالنسبة للآخرين ، فهو بمثابة كسر للصفقات ، على الرغم من أنني سأكون قادرًا على العيش بدونه بفضل بعض الحلول المنشورة هنا ، لذا فأنا شخصيًا أعطي الأولوية للأشياء التي لا يمكن استكمالها بأي طريقة مثل # 574 (أو من المحتمل أن يكون العديد من الأشخاص الآخرين ، هذا هو ثاني عامل كسر صفقاتي)

حق. أنت تتحدث عن فشلنا في إعطاء الأولوية لذلك بشكل مناسب ، وأنا أقدر أهمية هذه الميزة بالنسبة لك. ومع ذلك ، أود أن أسأل: مع المهندسين الأربعة في الفريق الأساسي ، أي من الميزات التي تم إكمالها في المراحل التالية (استعلام محدد النطاق ، بالإضافة إلى ميزات فضفاضة) يجب أن نقطعها لتوفير مساحة لإدارة النوافذ المخصصة؟

  • _ الميزات المعلمة Fix-Committed والمغلقة _
  • إمكانية الوصول
  • علامات التبويب في شريط العنوان
  • أجزاء
  • التحقق من صحة الإعدادات
  • كشف الملف الشخصي
  • دلالات خروج منطقية
  • التقديم الصحيح لأيدوجراف CJK
  • دعم الإدخال لمستخدمي لوحة المفاتيح غير الأمريكية ANSI
  • تغيير الحجم لا يحذف سجلك
  • بحث
  • (يمكنني الاستمرار في سرد ​​الميزات هنا)

يمكنني الالتزام بالهندسة لواحد ، ربما ميزتين لكل مطور شهريًا. لقد مرت 10 أشهر ، وفي معظم ذلك الوقت كان لدينا فريق مكون من 2-3 بدلاً من 4.

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

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

لا أقصد التقليل من شأن العمل الجاري هنا ، بل على العكس أعتقد أن ما أنجزه الفريق مذهل. كلا الفريق وأنت تستحق التقدير.

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

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

لا بأس بتثبيته على شريط المهام واستخدام Win + 1 للوصول إليه كحل بديل (على الرغم من أنني أستخدم الآن البرنامج النصي kimbirkelund autohotkey من https://github.com/microsoft/terminal/issues/653#issuecomment-541408854). لا أعتقد أن هذا يجب أن يكون أولوية.

ربما يمكن لشخص ما تجميع البرنامج النصي kimbirkelund أو wizcas وتقديم ثنائي لأولئك الذين لا يريدون تثبيت autohotkey؟

هناك حلول أفضل بكثير من الاحتفاظ بها على شريط المهام ، ما هو الشيء الدقيق الذي نريد تجنبه ، ولكن كما قلت ، هناك بعض الحلول بينما من المهم أنها أقل في قائمة الأولويات من الأشياء التي لا يمكن استكمالها بأدوات خارجية

بإضافة سنتي إلى المناقشة ، إصداري المعدل للنص البرمجي AutoHotKey المقدم من kimbirkelund :

  • مفتاح التشغيل السريع هو Ctrl + ~
  • تم تعيين المحطة لتظل في المقدمة
  • أحد الأشياء التي اعتقدت أنه قد يكون مفيدًا هو هذا: إذا كنت قد فتحت جهازك الطرفي وفتحت نافذة أثناء عرض الجهاز ، وإذا أخفيت الجهاز ، فلن يعرف عن هذه "النافذة الجديدة" ويعود إلى القديمة النشطة. لقد كنت أستخدمه لبضع ساعات ويبدو أنه يعمل

تحديث: لقد قمت بتحديث البرنامج النصي الخاص بي بحيث إذا قمت بالتبديل إلى نافذة أخرى (alt + tab) على سبيل المثال ، فسوف ينتقل إلى تلك النافذة عندما تخفي المحطة


ها هو النص ، آمل أن يكون مفيدًا للآخرين 🙂:

#Persistent
SetBatchLines, -1
Process, Priority,, High

Gui +LastFound
hWnd := WinExist()

; Subscribe to win-create events to get the activated window
DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage(MsgNum, Func("OnWin"))
Return

OnWin(event, hwnd)
{
  ; WinGetClass, winClass, ahk_id %lParam%
  WinGetClass, winClass, ahk_id %hwnd%
  if (winClass = "CASCADIA_HOSTING_WINDOW_CLASS")
  {
    global activatedWindow
    activatedWindow = -1
  }
  else
  {
    ; 1 is HSHELL_WINDOOWCREATED
    ; 4 is HSHELL_WINDOWACTIVATED
    if (event == 1 || event & 4)
    {
      global activatedWindow
      activatedWindow = -1
      activatedWindow = %hwnd%
    }
  }
}

; Toggle windows terminal using Ctrl,`
^`::ToggleTerminal()

ShowAndPositionTerminal()
{
  WinShow ahk_class CASCADIA_HOSTING_WINDOW_CLASS
  WinActivate ahk_class CASCADIA_HOSTING_WINDOW_CLASS

  WinMove, ahk_class CASCADIA_HOSTING_WINDOW_CLASS,, -5, -10, A_ScreenWidth + 10, A_ScreenHeight * 0.7,
  Winset, AlwaysOnTop, On, A
}

ToggleTerminal()
{
  global activatedWindow
  WinMatcher := "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"

  DetectHiddenWindows, On

  if WinExist(WinMatcher)
  {
    DetectHiddenWindows, Off

    if WinExist(WinMatcher)
    {
      ; Script sees it without detecting hidden windows, so..
      WinHide ahk_class CASCADIA_HOSTING_WINDOW_CLASS
      if activatedWindow > 0
      {
        WinActivate, ahk_id, %activatedWindow%
        activatedWindow = -1
      }
      else
      {
        Send !{Esc}
      }
    }
    ; Check if its hidden
    else if !WinExist(WinMatcher) || !WinActive(WinMatcher)
    {
      ShowAndPositionTerminal()
    }
  }
  else
  {
    Run "%SCOOP%\apps\windows-terminal\current\WindowsTerminal.exe"
    Sleep, 1000
    ShowAndPositionTerminal()
  }
}

@ zadjii-msft هل هذا يعني أنه لن يتم دمج العلاقات العامة لبضعة أشهر / بضعة أشهر؟
كان هذا أول شيء بحثت عنه عبر Google عندما قمت بتثبيت الجهاز - والذي يشكرك أيضًا كثيرًا على إنشاء محطة طرفية حقيقية. السوبر متحمس

@ chazt3n نحن

لا يمكنني حقًا تقديم أي تقديرات حول وقت وجود أي من تلك التواريخ في هذه المرحلة ، وغالبًا ما يكون "وقت الانتهاء"

آسف إذا تم تغطية هذا بالفعل أعلاه لأنني لم أقرأ الموضوع الكامل بالتفصيل. من منظور السلوك ؛ أعتقد أنه سيكون من الأفضل لو سُمح لنا بالاختيار بين "وضع الزلزال" أو مجرد نافذة / علامات تبويب موجودة في المقدمة على مفتاح التشغيل السريع.

أستخدم حاليًا منصة وحدة تحكم أخرى تعطيني ببساطة مربع اختيار في الإعدادات "لتقدم التطبيق باستخدام Ctrl + ~" لكنها تحترم تمامًا حجم وحالة نافذتي الحالية.

هذه الميزة لطيفة جدًا جدًا لأن لدينا في كثير من الأحيان العديد من النوافذ ويمكن أن تضيع نافذة المحطة الطرفية (نظرًا لعدم ملء الشاشة تقريبًا) في الخلفية.

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

آسف إذا تم تغطية هذا بالفعل أعلاه لأنني لم أقرأ الموضوع الكامل بالتفصيل. من منظور السلوك ؛ أعتقد أنه سيكون من الأفضل لو سُمح لنا بالاختيار بين "وضع الزلزال" أو مجرد نافذة / علامات تبويب موجودة في المقدمة على مفتاح التشغيل السريع.

لقد ضاعت في العناصر المخفية من الخيط ، لكن flyingpie شاركت برنامج C # لإضافة ميزة نمط الزلزال. يمكنك العثور عليها هنا ، وإذا نظرت إلى Toggler.cs في

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

لاحظ أنني أستخدمه في Messenger بدلاً من ذلك لأن WT يفتقد المزيد من الأشياء بالنسبة لي

_ حل بديل حتى يكون هناك وضع قائمة منسدلة أصلي لـ Terminal. 😃_

بعد أسبوعين من الاستخدام يمكنني أن أوصي بـ https://eugeny.github.io/terminus/

محطة لطيفة مع "وضع الزلزال" المعروف أيضًا باسم "وضع الزلزال" (الإعدادات> تعيين "إرساء المحطة" على Top و "مفاتيح التشغيل السريع"> "Toggl terminal window" إلى Ctrl-` ).

إنه مبني على Electron لذا فهو ليس "خفيف الوزن" ، ولكنه يعمل بسلاسة مع WSL2.

لقد استمتعت بإعداده على الجزء الأول من شريط المهام واستخدام WIN + 1 لفتحه.

مشكلتي الوحيدة هي أنني لا أستطيع دائمًا فتحه في المسؤول وهو ما يعادل WSL كونه غير قابل للاستخدام. انقر بزر الماوس الأيمن ، انقر بزر الماوس الأيمن ، وافتح كمسؤول - WIN + 1 من ذلك الحين فصاعدًا.

@ chazt3n إذا كنت تريد الفتح في المسؤول باستخدام لوحة المفاتيح فسيكون:
WIN + ALT + 1 لفتح قائمة النقر بزر الماوس الأيمن لعنصر شريط المهام هذا.
مفتاح القائمة (بجانب SHIFT + F10
اختر "فتح كمسؤول" باستخدام مفاتيح الأسهم وأدخل.

@ chazt3nSamHasler لا حاجة للقيام بذلك بالطريقة الصعبة.
إذا قمت بالضغط على مفتاح Shift أثناء فتح أحد التطبيقات ، فستحصل على نسخة ثانية.
إذا قمت بالضغط على Shift و Ctrl أثناء فتح التطبيق ، فإنه يفتح بشكل مرتفع.
_ هذا صحيح سواء من قائمة البداية أو مربع حوار التشغيل أو شريط المهام ، وسواء قمت بفتحه بلوحة المفاتيح أو بالنقر ..._

بمعنى آخر ، قم بهرس الزاوية الكاملة للوحة المفاتيح قبل الضغط على 1: Ctrl + Shift + Win + 1 سيفتح نسخة جديدة مرفوعة.

Jaykul عندما أخبر الناس عن معدّل المصعد السحري ، يقولون دائمًا "whattttt"

أنا أعمل في الواقع على مشروع كهذا وأود أن أتعاون مع أي شخص مهتم بالمساعدة. يجب أن يكون لدي إصدار ألفا بنهاية عطلة نهاية الأسبوع يدعم CMD وowershell و WSL مع وظائف نمط القائمة المنسدلة.

أنا مهتم بالتوسع في guake / yakuake وما فعلوه مع ذلك مع بعض الأفكار الإضافية مثل وصف NOFUNEVER بالقدرة على استخدام شاشات متعددة في وقت واحد ولكني لست متأكدًا من شكل ذلك.

هذا ليس جاهزًا للاختبار حتى الآن ولكن يجب أن يكون لديّ ألفا جاهزًا للاختبار بحلول نهاية عطلة نهاية الأسبوع إذا كان أي شخص مهتمًا بالتعاون ، يرجى مراسلتي عبر البريد الإلكتروني على mwayne. [email protected]. إن وجود شخص جيد في تخصيص التطبيقات والعمل مع عناصر التحكم في C # سيكون عونًا كبيرًا.

https://github.com/usrcletus/winuake

من فضلك كن سهلًا ، إنه في مراحل صعبة للغاية.

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

هذه الميزة توفر الكثير من الوقت.
أتطلع حقًا إلى Windows Terminal 2.0

ميزة watned كثيرًا ، ستجعل بالفعل تبديل البيئة بين Linux و Windows أجمل كثيرًا.

ميزة watned كثيرًا ، ستجعل بالفعل تبديل البيئة بين Linux و Windows أجمل كثيرًا.

قد يتطلب ذلك بعض محاكيات Linux الطرفية للحصول على جميع ميزات conemu ، يحتوي Windows بالفعل على كل شيء

أصدر الفريق خارطة طريق وهذه المشكلة موجودة هناك على الرغم من أنها لها الأولوية 3 في مقياس من 0 إلى 2 😢

عذرًا ، مقياسنا في الواقع يذهب إلى 3. عفوًا! :ابتسامة:

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

سعيد أنها جعلت القائمة على الأقل. :) - جعلت WSL2 Docker من Windows برنامج تشغيل يومي أكثر قابلية للتنفيذ ، وهذه الميزة ستدفعه أكثر عندما يهبط.

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

من الناحية الفنية ، سيكون هذا هو الأمثل إذا سمحت WM بذلك ، فستتمكن من التعامل مع جميع النوافذ بسهولة ولكن من غير المحتمل أن نحصل على ذلك قريبًا. أفضل رهان هو إضافة ذلك إلى PowerToys

ليس بالضرورة. هذا يعني فقط أن موظفي Microsoft لن يعملوا عليها.
يمكن لأي شخص إرسال الميزة كعلاقات عامة.

إذا أراد أي شخص حل AutoHotkey بسيط جدًا ، فراجع المضمون: https://gist.github.com/atruskie/99a498ac43b91deb91eab4069b6047b9

إنه ليس الحل الدقيق ، لكنه يقوم بالمهمة دون بذل الكثير من الجهد.

#NoEnv
#SingleInstance force
SendMode Input
DetectHiddenWindows, on
SetWinDelay, 0

#`::
    terminal := WinExist("ahk_exe WindowsTerminal.exe")
    if (terminal) 
    {
        active := WinActive("ahk_id " terminal)
        if (active)
            WinMinimize, ahk_id %active%
        else
            WinActivate, ahk_id %terminal%
    }
    else
        Run, wt.exe
Return

@ Defcon0 لقد وضعته للتو كأول إدخال في شريط المهام الخاص بي واستخدم WIN + 1 ، إنه بصراحة أكثر ملاءمة بالنسبة لي حيث يمكنني وضعه في أي مكان على الشاشة.

قدم Jaykul خطوة واحدة الافتتاح في المسؤول أيضًا

إذا أراد أي شخص حل AutoHotkey بسيط جدًا ، فراجع المضمون: https://gist.github.com/atruskie/99a498ac43b91deb91eab4069b6047b9

إنه ليس الحل الدقيق ، لكنه يقوم بالمهمة دون بذل الكثير من الجهد.

#NoEnv
#SingleInstance force
SendMode Input
DetectHiddenWindows, on
SetWinDelay, 0

#`::
    terminal := WinExist("ahk_exe WindowsTerminal.exe")
    if (terminal) 
    {
        active := WinActive("ahk_id " terminal)
        if (active)
            WinMinimize, ahk_id %active%
        else
            WinActivate, ahk_id %terminal%
    }
    else
        Run, wt.exe
Return

لقد كتبت جوهرًا كهذا منذ فترة: https://gist.github.com/sharunkumar/af7ba56e3cce8238ae9c986c619e8d1c

هذا يعود إلى النافذة النشطة التي كنت فيها ، قبل أن تتحول إلى WT

global PreviousActiveWindow

#`::
DetectHiddenWindows, On
if (WinExist("ahk_class CASCADIA_HOSTING_WINDOW_CLASS")) {
    if(WinActive("ahk_class CASCADIA_HOSTING_WINDOW_CLASS")) {
        WinActivate, ahk_id %PreviousActiveWindow%
    } else {
        WinGet, PreviousActiveWindow, , A ; 'A' for currently active window
        WinActivate, ahk_class CASCADIA_HOSTING_WINDOW_CLASS
    }
} else {
    TerminalLink = %localappdata%\Microsoft\WindowsApps\wt.exe
    if FileExist(TerminalLink) {
        WinGet, PreviousActiveWindow, , A ; 'A' for currently active window
        Run, %TerminalLink%
    } else {
        MsgBox, Windows Terminal not installed
    }
}
Return

لقد وجدت هذا المستودع لتطبيق بسيط يضيف الزلزال إلى المحطة:
https://github.com/flyingpie/windows-terminal-quake

يعمل بشكل جيد بما يكفي لحالات الاستخدام الخاصة بي.

لقد وجدت أن هذا يمكن تحقيقه بسهولة باستخدام Keyboard Manager PowerToy واختصار Windows Key + NUM المذكور أعلاه لتشغيل تطبيق مثبت على شريط المهام الخاص بك. ما عليك سوى تثبيت Windows Terminal على شريط المهام (لي في الموضع 6) ثم افتح أداة PowerToys Keyboard Manager. لقد استخدمت WIN + ` مع Cmder ولذا _ تم إعادة تعيين الاختصار WIN + ` إلى WIN + 6 . الآن ، عندما أقوم بعمل WIN + ` ، سيأتي Windows Terminal إلى المقدمة أو سيطلق مثيلًا جديدًا إذا لم يكن قيد التشغيل بالفعل (وهو أفضل مما يفعله Cmder أصلاً).

image

لا ، ليس الأمر نفسه
تصغير! = إخفاء النافذة
إخفاء النافذة يجعله يبتعد عن طريقك تمامًا

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

هذا هو أكثر طلب ميزة تم التصويت عليه وتم فتحه لأكثر من عام ؟؟

كيف بحق الجحيم لم يتم تنفيذ هذا بعد؟

مرحبًا ، أنا فقط أنشر بعض الملاحظات البحثية هنا ، لأنني لا أريد أن أفقدها.

RegisterHotKey لم يفعل شيئًا في تجربتي. ربما كنت أفعل ذلك خطأ؟ ربما تأكل جزيرة XAML رسالة WM_HOTKEY قبل أن تصل إلى wndproc؟ لا يبدو أن هناك أي تعليقات على هذه الوظيفة على أي حال ، لذلك لست متأكدًا من مدى فائدة ذلك في "وضع المثيل المتعدد".

SendMessage(_window.get(), WM_SETHOTKEY, VK_OEM_3, 0) فعلاً _ فعل_. حتى أنه يُرجع 2 إذا كانت هناك نافذة أخرى مع مفتاح الاختصار هذا مضبوط بالفعل ، وهو أمر جيد. سيفعل ذلك كل شيء من أجلنا - عندما يتم الضغط على المفتاح _ في أي مكان_ على النظام ، فإنه سينشط نافذة Terminal ، حتى لو تم تصغيره. غير متأكد من "المصغر إلى شريط المهام" ، ولكن التقدم هو التقدم.

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

من المحتمل أن ينتج عن إعادة تحميل الإعدادات أيضًا نافذة _random_ WT يتم تعيين مفتاح الاختصار لها.

هناك مجموعة من الأسئلة في هذا الموضوع ، لذا سأحاول تلخيصها ، لكني لن أصف حلاً شاملاً بعد.

  • اضغط على مفتاح التشغيل السريع في أي مكان لتنشيط النافذة الطرفية الفردية أينما كانت (يتطلب وضع مثيل واحد ، بالإضافة إلى دعم مفتاح الاختصار العالمي)
  • اضغط على مفتاح التشغيل السريع في أي مكان لتنشيط النافذة الطرفية المفردة على الشاشة الحالية. إذا لم يكن موجودًا على هذه الشاشة من قبل ، فقم بنقله إلى هناك. (يتطلب وضع مثيل واحد ، بالإضافة إلى دعم مفتاح الاختصار العالمي)
  • اضغط على مفتاح التشغيل السريع لتنشيط نافذة المحطة "الأقرب". (سيتطلب هذا على الأرجح بعض IPC مثل ما يعمل عليه # 5000)
  • تصغير إلى العلبة ، اضغط على مفتاح التشغيل السريع لتنشيط النافذة الطرفية الفردية / أقرب نافذة طرفية (# 5727)
  • لا تظهر المحطة الطرفية في عرض alt + tab ، اضغط على مفتاح التشغيل السريع لتنشيط نافذة طرفية واحدة / أقرب نافذة طرفية (لست متأكدًا من أن هذا مختلف عما سبق
  • عندما يتم استدعاء المحطة الطرفية باستخدام مفتاح التشغيل السريع ، اجعلها "تنزلق للداخل" من الأعلى (لست متأكدًا مما إذا كان هذا ممكنًا باستخدام طريقة SendMessage(WM_SETHOTKEY) أعلاه.)

    • وبالمثل ، تنزلق على إلغاء التنشيط؟

واو أنا متأكد من أنني فاتني بعض السيناريوهات التي تمت تغطيتها في 95 تعليقًا على هذا الموضوع ، ولكن هذه بالفعل فوضى من الإعدادات.


تحرير 17-أغسطس -2020: أوه ، هذه هي الطريقة التي يربط بها PowerToys لوحة المفاتيح للرسائل العالمية ، دعنا نفعل ذلك.
https://github.com/microsoft/PowerToys/blob/49b56d9b52bdfedd6ad1404bd0b20e884d2b574b/src/modules/shortcut_guide/shortcut_guide.cpp#L150 -L173

في رأيي المتواضع ، يبدو التقليل إلى الدرج وكأنه ميزة مختلفة.

إن وجود حالات متعددة واستدعاء حالات مختلفة على شاشات عرض مختلفة يبدو كشيء لتكرار ثانٍ لهذه الميزة.

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

IMO ، نظرًا لأن WT لها علامات تبويب متعددة ، فإن أفضل سيناريو هو مثيل واحد ويتم استدعاؤه حيث يوجد الماوس ، إذا كان هناك العديد من أجهزة سطح المكتب أو الشاشات الافتراضية. مثل Guake.

مرحبًا @ zadjii-msft - لقد بحثت أيضًا في بعض المجالات المماثلة وأردت دمج البحث مع مشاركة بعض أفكار التنفيذ. من خلال قراءة المواد ، لم أستطع التأكد مما إذا كنت أفتقد المكان الذي نظر فيه الفريق إلى طرق للاستفادة من ميزات UAP / UWP التي قد تكون ذات صلة ، لذا آمل أن هذه ليست أرضية مطروحة بالفعل!

أولاً ، تسجيل مفتاح التشغيل السريع. لقد وجدت بحث WM_HOTKEY الذي أجريته مكملاً لمسار تسجيل مفتاح الاختصار UWP الموضح هنا . هل هذا نهج قد فكرت فيه بالفعل؟ اعتقدت أنه يمكن أن يكون أسلوبًا رائعًا ، نظرًا لأنه تم بالفعل تنفيذ قائمة سياق المستكشف "بدء تشغيل windows terminal هنا" ، مما يلغي الحاجة إلى إنشاء / اختبار AppService / IPC (# 5000) حيث يمكننا ببساطة توسيع وتعزيز ما هو موجود بالفعل .

بينما كان يحفر إلى ذلك، جئت عبر هذا الجواب SO ربما ذات الصلة يحدد الاقتراب التي يعلقها على Windows.UI.Core.CoreDispatcher.AcceleratorKeyActivated من أجل الحصول على إخطارات عندما يتم الضغط على مفتاح المجموعات الخاصة على سبيل المثال، CTRL+~ . هل هذا شيء يمكن تطبيقه؟

بالحديث عن نموذج العملية ...

لسوء الحظ ، ليس من التافه أن يكون لديك نافذة طرفية ثانية تنتظر حتى تغلق النافذة الأولى ، ثم تلتقط مفتاح الاختصار. بالإضافة إلى ذلك ، من الذي يحصل على مفتاح التشغيل السريع إذا كانت هناك 3 نوافذ WT مفتوحة؟ لذا في الوقت الحالي ، ستحصل النافذة الأولى فقط على مفتاح الاختصار المخصص لها ، وبعد ذلك تم إنشاء أي نوافذ لاحقة _ ولن يتم تعيين مفتاح التشغيل السريع لها ، حتى يتم إغلاق النافذة الأولى. بعد ذلك ، ستحصل نافذة _next WT التي تم إنشاؤها_ على مفتاح الاختصار. هذا محرج بالتأكيد.
من المحتمل أن ينتج عن إعادة تحميل الإعدادات أيضًا نافذة _random_ WT يتم تعيين مفتاح الاختصار لها.

هناك خيط مشترك بين هذه التحديات والذي بمجرد إزالته من المعادلة يجعل الأمور أكثر وضوحًا وبساطة. هذا الخيط المشترك هو المنطق والتعقيد الذي ينطوي عليه إدارة المثيلات بالوزن - أعتقد أن الكثير من الباقي هو تداعيات هذا التحدي الأساسي. مثل العديد من التحديات ، يمكن حل هذا التحدي بشكل أفضل عن طريق تقسيمه إلى تحديات أصغر. هنا ، أعتقد أن تقديم وسيط يجعل من غير الضروري أن تحتاج WT إلى معرفة أي شيء عن إدارة المثيل ، ناهيك عن التعامل مع تسجيل المفتاح السريع والربط العالمي (على سبيل المثال ، التطبيق ليس في بؤرة الاهتمام). هذا يروق لي من وجهة نظر SRP ، ويبدو لي أن العمل على توفير قائمة سياق المستكشف "بدء تشغيل Windows Terminal Here" يتوافق مع هذا المفهوم ، إن لم يكن في الواقع. يمكن استخدام TriggerEvent لملحقات سطح مكتب

ستكون العملية التي تتعامل مع مفتاح التشغيل السريع العام عبارة عن تطبيق علبة النظام _و_ عملية وضع مثيل واحد (من المحتمل أن يكون تطبيق WinForms) يحتوي على مكون NotifyIcon جنبًا إلى جنب مع قائمة سياق رمز علبة النظام ومكونات المرسل. هذا له تأثير جانبي إيجابي لتفادي الحاجة إلى إضافة الكثير من الإعدادات الجديدة والمعقدة + المنطق إلى قاعدة كود WT ، حيث لن يحتاج وزن إلى معرفة أي شيء عن ما يسمى "وضع الزلزال": ابتسامة :. سيكون تطبيق systray هو المصدر / المستودع لهذه الأنواع من الإعدادات ، والتي أعتقد أنها ستعمل تمامًا وتستفيد من # 7170

  • اضغط على مفتاح التشغيل السريع في أي مكان لتنشيط النافذة الطرفية الفردية أينما كانت (يتطلب وضع مثيل واحد ، بالإضافة إلى دعم مفتاح الاختصار العالمي)

يمكن أن تحتوي قائمة سياق تطبيق systray على قائمة منبثقة تعرض قائمة بملفات تعريف wt التي يمكن للمستخدمين النقر عليها لتحديد ملف التعريف لاستخدامه عند الاستدعاء "في نمط Quake Mode". قد يكون افتراضيًا إلى ملف التعريف الأول المدرج إذا لم يتم تحديده. إذا كانت هناك خطط / مواصفات لتنفيذ المنطق الداخلي للحصول على قوائم ملفات التعريف وتفاصيلها ، فسيستفيد التصميم من القدرة على استخدامه خارج عملية wt.exe (كما هو الحال في ، يجب ألا يضطر تطبيق Notifyicon إلى تكرار الوظائف لتحميل قائمة الملفات الشخصية وما إذا كان ذلك ممكنًا). نظرًا لأن تطبيق systray يدير المثيلات ، لا يحتاج wt بالضرورة إلى تنفيذ وضع المثيل الفردي نفسه. تُظهر مستودعات PowerToys القطع النقدية المفيدة.

تلخيص منشور كثيف المعلومات بالفعل:

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

  • اضغط على مفتاح التشغيل السريع في أي مكان لتنشيط النافذة الطرفية المفردة على الشاشة الحالية. إذا لم يكن موجودًا على هذه الشاشة من قبل ، فقم بنقله إلى هناك. (يتطلب وضع مثيل واحد ، بالإضافة إلى دعم مفتاح الاختصار العالمي)
  • اضغط على مفتاح التشغيل السريع لتنشيط نافذة المحطة "الأقرب". (سيتطلب هذا على الأرجح بعض IPC مثل ما يعمل عليه # 5000)
  • تصغير إلى العلبة ، اضغط على مفتاح التشغيل السريع لتنشيط النافذة الطرفية الفردية / أقرب نافذة طرفية (# 5727)
  • لا تظهر المحطة الطرفية في عرض alt + tab ، اضغط على مفتاح التشغيل السريع لتنشيط نافذة طرفية واحدة / أقرب نافذة طرفية (لست متأكدًا من أن هذا مختلف عما سبق
  • عندما يتم استدعاء المحطة الطرفية باستخدام مفتاح التشغيل السريع ، اجعلها "تنزلق للداخل" من الأعلى (لست متأكدًا مما إذا كان هذا ممكنًا باستخدام طريقة SendMessage(WM_SETHOTKEY) أعلاه.)

    • وبالمثل ، تنزلق على إلغاء التنشيط؟

موارد NotifyIcon و WinForms و WPF:
http://www.abhisheksur.com/2012/08/notifyicon-with-wpf-applications.html
https://www.codeproject.com/articles/36788/wpf-xaml-notifyicon-and-taskbar-system-tray-popup
https://mcguirev10.com/2019/01/27/system-tray-icons-wpf-net-core-preview.html

HTH!

تعديل:
من خلال قراءة مواصفات نموذج العملية المسودة ، يبدو أنك قد حددت أيضًا نهج العملية المنفصل . أفترض أن جزء "الملك" يمكن أن يلعب جزئيًا أو ربما (؟) كليًا بواسطة IPC / appservice

لقد صنعت أداة مساعدة سريعة وقذرة تسجل مفتاح الاختصار العالمي لتبديل نافذة Windows Terminal الأخيرة. أعتقد أنه سيكون حلًا رائعًا قبل التنفيذ الرسمي.

https://github.com/Inndy/TerminalSummoner

لقد قمت بتعديل حل autohotkey من https://github.com/ehpc/quake-windows-bash لتجربة مستخدم أفضل قليلاً. لم أبحث في حل

يوجد البرنامج النصي الخاص بي هنا: https://github.com/rengler33/dotfiles/blob/master/C/Users/Rub/wt-quake-like.ahk

باستخدام مفتاح الاختصار Ctrl + `

  1. إذا لم يتم تشغيل windows terminal ، فإنه يقوم بتشغيله *
  2. إذا تم إطلاقه ولكن تم تصغيره ، فسيتم استعادته
  3. إذا كان نشطًا ، فسيتم تصغيره
  4. خلاف ذلك (بمعنى أنه تمت استعادته ولكن خارج نطاق التركيز) ، اجعله موضع تركيز

* ملاحظة: يستخدم هذا البرنامج النصي أيضًا اختصار Windows الذي أحب استخدامه والذي يضيف بعض الخيارات عند الفتح
https://github.com/rengler33/dotfiles/blob/master/C/Users/Rub/wt.exe.lnk
ولكن يمكن استبداله لإطلاق BashHandle بدلاً من Shortcut

لقد قمت بتعديل حل autohotkey من https://github.com/ehpc/quake-windows-bash

شكرا على ذلك.

استلهمت الفكرة من البرنامج النصي
https://gist.github.com/oryon-dominik/562970f77f2ad4d9bd57bea58ddc8ef5
يولد البرنامج النصي Windows-Terminal على الشاشة النشطة. (CTRL + CIRCUMFLEX)
الرسوم المتحركة السيئة وقليلًا من الوميض ، لذا فهي أكثر من حل بديل.

أنا أتطلع حقًا إلى تطبيق هذه الميزة رسميًا ..

أردت أيضًا التبديل من ConEmu إلى Windows Terminal ، لكنني كنت أفتقد Quake Style أيضًا. إذا كان أي شخص مهتمًا - لقد قمت بإنشاء تطبيق صغير ، يقوم بتخزين نافذة windows terminal وسحبها (يمكنك إضافة تطبيقات أخرى للحصول على Quake Style هذا إذا كنت ترغب في ذلك).

تحقق من الريبو الخاص بي وجميع الميزات هنا: https://github.com/rzym-on/termial-tray

آمل حقًا أن تأتي هذه الميزة افتراضيًا في وقت ما. في الوقت الحالي ، لا تتردد في استخدام الحل الصغير الخاص بي.

أردت أيضًا التبديل من ConEmu إلى Windows Terminal ، لكنني كنت أفتقد Quake Style أيضًا. إذا كان أي شخص مهتمًا - لقد قمت بإنشاء تطبيق صغير ، يقوم بتخزين نافذة windows terminal وسحبها (يمكنك إضافة تطبيقات أخرى للحصول على Quake Style هذا إذا كنت ترغب في ذلك).

تحقق من الريبو الخاص بي وجميع الميزات هنا: https://github.com/rzym-on/termial-tray

آمل حقًا أن تأتي هذه الميزة افتراضيًا في وقت ما. في الوقت الحالي ، لا تتردد في استخدام الحل الصغير الخاص بي.

شكرا لك على هذا. هل هناك طريقة لضبط سرعة الرسوم المتحركة لظهور نافذة Windows Terminal .. بنفس الطريقة التي يعمل بها ConEmu؟

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

فكرة أخرى يمكن أن تكون معلمة للأمر wt.exe مثل: -T، --toggle
إذا كان مثيل المحطة الطرفية غير موجود ، افتح ملف
(إذا كان نشطًا ، قلل من استعادة / تنشيط)

إنه مثل منطق AutoHotKey أعلاه ولكن داخله wt.exe ويمكن الوصول إليه من اختصارات .lnk / تعيينات المفاتيح العامة / شريط مهام Windows Win + Number إلخ

سيكون رائعًا إذا لم تكن بحاجة إلى تطبيق آخر تابع لجهة خارجية لهذا الغرض. وأنا أيضًا مدمن على Ctrl + `

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