كيف يمكنني الاحتفاظ بخادم EMACS قيد التشغيل عند إغلاق النافذة الحالية (x) على Windows باستخدام EMACSW32؟

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

  •  18-09-2019
  •  | 
  •  

سؤال

أنا استخدم EMACSW32 (مصححة) على ويندوز. تعمل EMACS في وضع الخادم بحيث تتم استدعاءاتها اللاحقة إلى ملفات EmacsClientw المفتوحة في نفس جلسة الخادم.

لدي CX CC. تعيين لجعل الإطار الحالي غير مرئي وغير مقتل عملية خادم EMACS. أود النقر فوق النافذة عاشر (إغلاق) زر لإخفاء الإطار أيضا أيضا وليس إنهاء عملية الخادم كما يفعل حاليا.

أيه أفكار ؟ شكرا!

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

المحلول

بالتأكيد، لدي طريقة للقيام بذلك. قد تكون هناك محوطات ممكنة، ولكن هذا مكان بداية جيدة.

أولا، أقوم بإعداد متغير وتقديم المشورة إلى وظيفة Kill-Emacs

(defvar bnb/really-kill-emacs nil)
(defadvice kill-emacs (around bnb/really-exit activate)
    "Only kill emacs if the variable is true"
    (if bnb/really-kill-emacs
        ad-do-it)
      (bnb/exit))

وظيفة BNB / Exit فقط تجعل الإطار غير مرئي مثل ما لديك CX CC..

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

(defun bnb/really-kill-emacs ()
    (interactive)
    (setq bnb/really-kill-emacs t)
    (kill-emacs))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top