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

StackOverflow https://stackoverflow.com/questions/875667

  •  22-08-2019
  •  | 
  •  

سؤال

أحاول معرفة كيفية استخدام Emacs Code Browser (ECB) وأحد الأشياء التي يمكنك القيام بها باستخدامه هو تعيين عرض ecb-windows لتحديد مدى عرض نوافذ ecb.المشكلة هي هذا التسلسل:

  1. ينبثق الإطار على الشاشة.
  2. يتم استدعاء ecb-activate، ويتم تغيير حجمه وفقًا لعرض ecb-windows.
  3. يتم تفعيل معلمات الإطار الافتراضي، ويتم تغيير حجم الإطار.

تكمن المشكلة في أنه بسبب هذا الترتيب، يتم تعيين عرض نافذة ecb قبل تغيير حجم الإطار، ومن ثم لا يتم تغيير حجمه.

لذلك أرغب في تشغيل تخطيط ecb-redraw-layout (أو من الناحية المثالية تنشيط ecb فقط)، ولكن يجب أن يحدث ذلك بعد رقم 3.بخلاف ذلك، قد يعمل أيضًا نوع من خيار مقياس العرض الديناميكي ECB.

بالنسبة لما يستحقه الأمر، فإن التنشيط التلقائي لـ ecb لا يعمل، لذلك لا يمكنني معرفة ما إذا كان ذلك سيحل المشكلة.

هل كانت مفيدة؟

المحلول

يبدو أنني وجدت حلاً بديلاً.

  1. اضبط حجم نافذة ecb-fix-window على القيمة true.
  2. عند تحميل الإطار، يتم استدعاء ecb-activate ويتم تغيير حجم نوافذ ecb بشكل متناسب مع حجم الإطار.
  3. بعد ذلك، يتم تشغيل قائمة الإطارات الافتراضية ويتم تغيير حجم الإطار، لكن نوافذ ECB لها حجم ثابت ولا يتم تغيير حجمها.

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

نصائح أخرى

أنا لست على دراية بالبنك المركزي الأوروبي، ولكن after-make-frame-functions قد يكون مفيدًا في تشغيل الوظائف التي تريدها (أو تشغيل بعض وظائف الخطاف حيث تريد القيام بأشياء خاصة باستخدام إطار ecb).

after-make-frame-functions هي قائمة الوظائف التي تأخذ واحد الوسيطة (الإطار المنشأ حديثًا)، ويتم تشغيلها بعد إنشاء الإطار.لا ينطبق هذا على إطار emacs الأولي (عند بدء التشغيل) لأنه تتم قراءة .emacs الخاص بك بعد تم إنشاء الإطار بالفعل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top