ইমা্যাকস ডেমন ব্যবহার করার সময় টার্মিনাল এবং গ্রাফিকাল ফ্রেমের জন্য বিভিন্ন থিম


20

আমি ইমাস 24 এ নিম্নলিখিত আচরণ অর্জন করার চেষ্টা করছি:

আমি টার্মিনাল ফ্রেমের সাথে চলমান সার্ভারের সাথে সংযোগ করব কিনা তার উপর নির্ভর করে আমি একটি ভিন্ন থিম (সোলারাইজড-ডার্ক বনাম সোলারাইজড লাইট) ব্যবহার করতে চাই

% emacsclient -t

বা একটি জিটিকে ফ্রেম সহ

% emacsclient -c

এটি পুরানো ইমাকগুলিতে কাজ করেছে বলে মনে হয়, তবে বর্তমান ইমাসগুলি আমি কোনও উপায় খুঁজে পাইনি। আমি এসও (যেমন, /programming//q/18904529/152439 এবং উত্তর) এবং মেলিং তালিকাগুলি (যেমন, https://lists.gnu.org/archive/html/help-gnu-emacs/ 2012-02 / msg00227.html এবং https://lists.gnu.org/archive/html/help-gnu-emacs/2012-02/msg00237.html )।

আমার বর্তমান সেটআপটি দেখতে এমন দেখাচ্ছে:

(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/solarized")
(if (daemonp)
  (add-hook 'after-make-frame-functions
    (lambda (frame)
      (select-frame frame)
      (if (display-graphic-p frame)
        (load-theme 'solarized-light t)
        (load-theme 'solarized-dark t)
      )
    )
  )
  (load-theme 'solarized-light t)
)

এর সাথে সমস্যাটি হ'ল যদি আমার একটি গ্রাফিকাল ফ্রেম খোলা থাকে এবং এর সাথে একটি টার্মিনাল ফ্রেম খোলা থাকে emacsclient -tতবে থিমটি সজ্জিত-গা dark় দুটি নতুন টার্মিনাল ফ্রেম (যা সঠিক) এবং ইতিমধ্যে উন্মুক্ত গ্রাফিকাল ফ্রেম (যা বামে রাখা উচিত) উভয় ক্ষেত্রেই প্রয়োগ করা হবে অনুচ্চারিত, আদর্শভাবে)। সমাপ্তি ঘটে যখন টার্মিনাল ফ্রেম ইতিমধ্যে খোলা থাকে এবং আমি এর সাথে একটি নতুন গ্রাফিকাল ফ্রেম খুলি emacsclient -c

সম্পাদনা: যদি বর্তমান ইমাস 24 সহ এটি সম্ভব না হয় তবে এটি আবার সম্ভব করার কি কোনও পরিকল্পনা আছে?


1
আফাইক (এটির জন্য অন্যান্য অনুসন্ধান থেকে), পুরানো রঙ-থিম প্রয়োগটি প্রতি বাফার কিছু সেটিংসের জন্য অনুমোদিত। ইমাস 24 সহ একটি বিল্ট-ইন থিম সমর্থন (ডিফিট বা লোড-থিম হিসাবে পরিচিত) এলো, যা এটি সমর্থন করে না: থিম পুরো ইমাস সেশনের জন্য একই। এই ধরণের সেটআপের জন্য, আপনি সর্বদা সোলারাইজড-ডার্ক লোড করে এবং গ্রাফিকাল ফ্রেমগুলি শুরু করতে -rv পতাকা ব্যবহার করে একটি গ্রহণযোগ্য হ্যাক পরিচালনা করতে পারেন, তবে এটি নিখুঁত থেকে দূরে থাকবে।
টি ভেরন

এক কার্যসংক্রান্ত হিসাবে এখানে আলোচনা টার্মিনাল এবং গুই জন্য পৃথক ক্লায়েন্ট চালানো হয় emacs.stackexchange.com/q/41/93 আপনার কর্মপ্রবাহ উপর নির্ভর করে, এই একটি সম্ভবপর সমাধান নাও হতে পারে। এটি আমার পক্ষে কাজ করে কারণ আমি খুব কম বা কোনও ওভারল্যাপ না করে প্রত্যেকটিতে বিভিন্ন ধরণের কাজ করে যাচ্ছি।
নিসপিও

যদি ইমাস 24 এ ইনবিল্ট কাস্টম্ট থেরিংগুলি আপনার প্রয়োজনের সাথে খাপ খায় না, আপনি সর্বদা ব্যবহার করতে পারেন color-theme.elযা আইআইআরসিতে ফ্রেম নির্ভর রঙের সেটিংস ছিল। ইনবিল্ট থিশিংয়ের ক্ষমতা সর্বব্যাপী বাদে ব্যবহার করার কোনও বড় সুবিধা নেই।
ভামসি 18

2
কালার-থিম-বাফার-লোকাল উভয় color-themeএবং ইমাস 24 থিম সিস্টেমের জন্য বাফার-স্থানীয় থিম সমর্থন সরবরাহ করে । সোলারাইজড থিমের আমার সংস্করণটি উভয় সিস্টেমকেই সমর্থন করে, যদি আপনি এই রুটে যাওয়ার সিদ্ধান্ত নেন।
সানাইটিঙ্ক

ধন্যবাদ আমি ইম্যাক্স 24.3 ব্যবহার করছি, এবং কিছু সমস্যা আছে বলে মনে হচ্ছে, github.com/vic/color- থিম- বুফার- লোকাল /issues/5 দেখুন । তবে আমি প্রকল্পে নজর রাখব।
andreas-h

উত্তর:


8

আপনি বিভিন্ন থিম ব্যবহার করে এটি করতে পারবেন না। সমাধানটি এমন একটি থিম তৈরি করা যা টার্মিনালের উপর নির্ভর করে বিভিন্ন মুখ সংজ্ঞা রয়েছে definition আপনি যদি উদাহরণটির দিকে লক্ষ্য করেন তবে font-lock-comment-faceদেখবেন এটি কীভাবে কাজ করে। ((class color) (min-colors 88) (background dark))আপনি নির্দিষ্টকরণ (type tty)বা নির্দিষ্টকরণ (type graphic)ইত্যাদির পরিবর্তে ম্যানুয়ালটিতে আরও তথ্য রয়েছে

(defface font-lock-comment-face
  '((((class grayscale) (background light))
 :foreground "DimGray" :weight bold :slant italic)
(((class grayscale) (background dark))
 :foreground "LightGray" :weight bold :slant italic)
(((class color) (min-colors 88) (background light))
 :foreground "Firebrick")
(((class color) (min-colors 88) (background dark))
 :foreground "chocolate1")
(((class color) (min-colors 16) (background light))
 :foreground "red")
(((class color) (min-colors 16) (background dark))
 :foreground "red1")
(((class color) (min-colors 8) (background light))
 :foreground "red")
(((class color) (min-colors 8) (background dark))
 :foreground "yellow")
(t :weight bold :slant italic))
  "Font Lock mode face used to highlight comments."
  :group 'font-lock-faces)

আমার ধারণা আপনি এমন একটি ফাংশন লিখতে পারেন যা দুটি থিম গ্রহণ করে এবং একটি মার্জড থিম তৈরি করে, যেখানে একটি থিমের (type tty)মুখগুলি বরাদ্দ করা হয়েছে এবং অন্য থিমের মুখগুলি নির্ধারিত করা হয়েছে (type graphic)যেখানে মূল থিম উভয়ই ব্যবহৃত হয় t


6

রঙ-থিম-বাফার-স্থানীয় উভয় রঙ-থিম এবং ইমাস 24 থিম সিস্টেমের জন্য বাফার-স্থানীয় থিম সমর্থন সরবরাহ করে। সোলারাইজড থিমের আমার সংস্করণটি উভয় সিস্টেমকেই সমর্থন করে , যদি আপনি এই রুটে যাওয়ার সিদ্ধান্ত নেন।


আপনার solariised সংস্করণ পয়েন্টার জন্য ধন্যবাদ, আমি সত্যিই এটি পছন্দ!
andreas-h

2

আপনি মুখের কাস্টমাইজেশনের জন্য শর্তগুলি সংজ্ঞায়িত করতে পারেন, যেমন কাস্টমাইজেশন সম্পাদকটিতে "টার্মিনাল মোড" বা "নূন্যতম রং":

কোনও মুখ কাস্টমাইজ করার সময়, [রাষ্ট্রীয়] বোতামটি ক্লিক করুন এবং "সমস্ত প্রদর্শন স্পেস দেখান" নির্বাচন করুন। তারপরে আপনি মুখের আরও বিশেষীকরণের জন্য শর্তগুলি সেট আপ করতে পারেন।

ফ্রেমটি tty হলে পটভূমির রঙ কালো করতে সেট করার জন্য এখানে একটি নূন্যতম বৈকল্পিক রয়েছে :

(custom-set-faces
 '(default (
            (((type tty) (min-colors 256))
             (:background "black"))
            (t
             (:background "#181a26")))
    ))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.