আমি ওএস এক্স 10.6 এ জেনু ইম্যাক্স 23.3.1 কোকো বিল্ড চালাচ্ছি।
আমি নিম্নলিখিতগুলি Library / লাইব্রেরি / লঞ্চআজেন্টস / gnu.emacs.daemon.plist এ যুক্ত করেছি যাতে এটি একটি ডেমন শুরু করে এবং যদি আমি অজান্তে এটি হত্যা করি তবে স্বয়ংক্রিয়ভাবে ইম্যাকগুলি পুনরায় চালু করা হবে।
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>gnu.emacs.daemon</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/Emacs.app/Contents/MacOS/Emacs</string>
<string>--daemon</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>ServiceDescription</key>
<string>Gnu Emacs Daemon</string>
</dict>
</plist>
এই বাছাইটি কাজ করে তবে আমি লক্ষ্য করেছি যে আমার রঙের থিমটি সঠিকভাবে কাজ করছে না। তারপরে মনে পড়ল আমি আমার ডিআইডি ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করেছিলাম:
(when window-system
(require 'alpha)
(require 'color-theme-ir-black)
(modify-frame-parameters (selected-frame) '((alpha . 85)))
(color-theme-ir-black))
যখন ডেমোনের উইন্ডো-সিস্টেমটি শুরু হয় তখন স্পষ্টতই এটি মিথ্যা এবং এটি বোধগম্য হয়, তবে আমি এটি যুক্ত করার কারণটি আমি মাঝে মাঝে ssh ইত্যাদি থেকে একটি টার্মিনালে সাধারণ ইম্যাকস বিল্ডটি শুরু করতে পছন্দ করি এবং এই রঙের স্কিমটি আইটার্মে সম্পূর্ণ অপঠনযোগ্য হয় এভাবে (যখন উইন্ডো-সিস্টেম ...)। --Demon দিয়ে শুরু করার সাথে উইন্ডো মোড শুরু করতে ইমাসকে বাধ্য করার কোনও উপায় আছে কি?
আমি লক্ষ্য করেছি যে অন্য একটি সমস্যা হ'ল আমি যখন ডেমিয়ন মোডে প্রেস ডাব্লু (মুছুন-ফ্রেম) চালনা করি তখন আমি একমাত্র দৃশ্যমান বা আইকনযুক্ত ফ্রেম মুছতে ত্রুটি প্রয়াস পাই না এবং পটভূমিতে ইমাস চলতে থাকে to আমি বেশিরভাগ ক্ষেত্রে এটি পছন্দ করি তবে আমি লক্ষ্য করেছি যে শেষ ফ্রেমটি মারা যাওয়ার পরে আমি আর ডক থেকে ইম্যাকগুলি আর খুলতে পারি না এবং যদিও ইমাস সক্রিয় হবে এবং মেনুগুলি প্রদর্শিত হবে তারা কাজ করে না এবং আমি একটি নতুন ফ্রেম তৈরি করতে পারি না কমান্ডলাইন থেকে emacsclient ব্যবহার ব্যতীত অন্য কারও কাছে এই সমস্যা আছে এবং বা কার্যবিধির বিষয়ে সুপারিশ আছে? সম্ভবত আমি শেষ ফ্রেমটি চিহ্নিত করতে এবং তার পরিবর্তে আইকনফাই-ফ্রেমটি বেঁধে রাখতে পারি, তবে কেন এটি শেষ উইন্ডো না বলে মনে করে এবং আমাকে এটি প্রথম স্থানে মেরে ফেলার অনুমতি দেয় তা নিশ্চিত নয়।
হালনাগাদ:
খুব অনুরূপ সমস্যার সমাধানের জন্য আমি স্টিভ পার্সেলের নীচের ব্লগে একটি মন্তব্য পেয়েছি: http://emacs-fu.blogspot.com/2009/03/color-theming.html
এটি গোপনীয় বলে মনে হচ্ছে সদ্য তৈরি হওয়া ফ্রেম সেটআপ করার জন্য 'মেক-ফ্রেম-ফাংশন হুক ব্যবহার করুন এবং এটিও (setq রঙ-থিম-ই-গ্লোবাল নীল) রয়েছে যাতে প্রতিটি ফ্রেমের নিজস্ব রঙের থিম থাকতে পারে। সুতরাং আমার আর ডিআই এর প্রাসঙ্গিক বিভাগগুলি এখন এর মতো দেখাচ্ছে:
(defvar after-make-console-frame-hooks '()
"Hooks to run after creating a new TTY frame")
(defvar after-make-window-system-frame-hooks '()
"Hooks to run after creating a new window-system frame")
(defun run-after-make-frame-hooks (frame)
"Selectively run either `after-make-console-frame-hooks' or
`after-make-window-system-frame-hooks'"
(select-frame frame)
(run-hooks (if window-system
'after-make-window-system-frame-hooks
'after-make-console-frame-hooks)))
(add-hook 'after-make-frame-functions 'run-after-make-frame-hooks)
(add-hook 'after-init-hook (lambda ()
(run-after-make-frame-hooks (selected-frame))))
(setq color-theme-is-global nil)
(add-hook 'after-make-window-system-frame-hooks
'(lambda ()
(require 'alpha)
(require 'color-theme-ir-black)
(modify-frame-parameters (selected-frame) '((alpha . 85)))
(color-theme-ir-black)
(global-set-key (kbd "s-w") 'delete-frame)))
যাইহোক, আমার এখনও ইস্যুটি রয়েছে যেখানে ইম্যাকস ডেমন হিসাবে শুরু হওয়ার সাথে মুছুন-ফ্রেমটি শেষ ফ্রেমটি বন্ধ করে দেয় এবং আমাকে ইম্যাকস্ক্লিয়েন্ট ব্যবহার করে অন্য কোনও নতুন ফ্রেম তৈরি করতে দেয় না।
হালনাগাদ:
আমি যদি দেখি eval (frame-list)
2 টি ফ্রেম তালিকাভুক্ত রয়েছে যদিও কেবলমাত্র একটি দৃশ্যমান। আমি লক্ষ্য করেছি যে আমি /Applications/Emacs.app
ইমাস্যাক্লিয়েন্টের পরিবর্তে খোলার সাথে ইম্যাক্স শুরু করলে এটি ঘটে না । আমি কমান্ডলাইন থেকে সাধারণত একটি উপনাম দিয়ে ইম্যাক্স শুরু করি e='emacsclient -c -n '
যা দ্বিতীয় ফ্রেম তৈরি করে। আমি কেবল ওপেন কমান্ডের সাহায্যে ইমাস শুরু করে অন্য ফ্রেমের সাথে সংযুক্ত হতে পারি। আমি যদি -c
কিছু না পেয়ে ইমেলস্ক্লিয়েন্ট-এন কোনওভাবেই চেষ্টা করি তবে এবং আমি যদি চালনা করে emacsclient -n -e '(frame-list)'
দেখি তবে একটি ফ্রেম রয়েছে যা আমি -c
অ্যাপ্লিকেশন ফোল্ডার থেকে নতুন ফ্রেম তৈরি করতে বা খোলার জন্য ব্যবহার না করা অবধি এটি দৃশ্যমান নয় ।