আমি স্পেসম্যাকস (জেনবার্ন) এর সাথে বান্ডেলযুক্ত প্রাক-সংজ্ঞায়িত কাস্টম থিমগুলির একটি ব্যবহার করছি।
আমি কীভাবে থিমের নির্দিষ্ট অংশগুলি সংশোধন করতে পারি, উদাহরণস্বরূপ মন্তব্যের জন্য ব্যবহৃত ফন্টের রঙটি পরিবর্তন করুন?
আমি স্পেসম্যাকস (জেনবার্ন) এর সাথে বান্ডেলযুক্ত প্রাক-সংজ্ঞায়িত কাস্টম থিমগুলির একটি ব্যবহার করছি।
আমি কীভাবে থিমের নির্দিষ্ট অংশগুলি সংশোধন করতে পারি, উদাহরণস্বরূপ মন্তব্যের জন্য ব্যবহৃত ফন্টের রঙটি পরিবর্তন করুন?
উত্তর:
custom-theme-set-faces
থিমটি কীভাবে কোনও নির্দিষ্ট মুখ প্রদর্শন করে তা পুনরায় সংজ্ঞায়িত করার জন্য আমি সমর্থন করি , যেমন,
(custom-theme-set-faces
'zenburn
'(font-lock-comment-face ((t (:foreground "#DFAF8F"))))
'(font-lock-comment-delimiter-face ((t (:foreground "#DFAF8F")))))
সুনির্দিষ্ট ক্ষেত্রে zenburn
থিম নিজেই বিভিন্ন বর্ণ এবং একটি ম্যাক্রো সংজ্ঞায়িত করে যার মধ্যে সেগুলি পরিবর্তনশীল নামের সাথে আবদ্ধ থাকে, সুতরাং আপনি উপরের হিসাবে এটি লিখতে পারেন:
(zenburn-with-color-variables
(custom-theme-set-faces
'zenburn
`(font-lock-comment-face ((t (:foreground ,zenburn-orange))))
`(font-lock-comment-delimiter-face ((t (:foreground ,zenburn-orange))))))
.spacemacs
?
zenburn
থিমটি লোড হওয়ার পরে কোডটি মূল্যায়নের কারণ হবে ।
স্পেসম্যাক্সে, স্তরটি ইনস্টল করুন theming
, https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Bthemes/theming দেখুন
উদাহরণস্বরূপ, গ্রুবক্স এবং সোলারাইজড-হালকা থিমের ব্যাকগ্রাউন্ড এবং লিনেনবার রঙটি সামঞ্জস্য করতে dotspacemacs/user-init
আমার .spacemacs
নীচের অংশটি ছড়িয়ে পড়েছে:
(setq theming-modifications '(
;; requires the theming layer
(gruvbox
(default :background "#1D2021" :foreground "#fdf4c1")
(linum :background "#000000" :foreground "#878787")
(fringe :background "#000000")
(linum-relative-current-face :inherit (shadow default) :background "#3C3836" :foreground "#ff0000")
(font-lock-comment-face :slant italic)
)
(solarized-light
(linum :background "#DBCDA7" :foreground "#40371F")
(fringe :background "#DBCDA7")
(font-lock-comment-face :slant italic)
)
))
আমি নির্দিষ্ট মুখগুলিকে ওভাররাইড করার জন্য লোড-থিম ফাংশনে পরামর্শ যুক্ত করেছি - এইভাবে আপনি কোনও থিম নির্বাচন করতে লোড-থিমটি স্বাভাবিক হিসাবে ব্যবহার করতে চালিয়ে যেতে পারেন এবং এটি ওভাররাইডগুলি স্বয়ংক্রিয়ভাবে প্রয়োগ করবে।
(defadvice load-theme (after theme-set-overrides activate)
"Set override faces for different custom themes."
(dolist (theme-settings theme-overrides)
(let ((theme (car theme-settings))
(faces (cadr theme-settings)))
(if (member theme custom-enabled-themes)
(dolist (face faces)
(custom-theme-set-faces theme face))))))
(defcustom theme-overrides nil
"Association list of override faces to set for different custom themes.")
(defun alist-set (alist-symbol key value)
"Set VALUE of a KEY in ALIST-SYMBOL."
(set alist-symbol
(cons (list key value) (assq-delete-all key (eval alist-symbol)))))
; override some settings of the ample-flat theme
(alist-set 'theme-overrides 'ample-flat '(
(default ((t (:background "gray12" :foreground "#bdbdb3"))))
(mode-line ((t (:background "cornsilk4" :foreground "#222" :inherit 'variable-pitch))))
(outline-2 ((t (:inherit font-lock-keyword-face)))) ; blueish
(outline-3 ((t (:inherit font-lock-comment-face)))) ; brownish
(outline-4 ((t (:inherit font-lock-string-face)))) ; orangeish
(org-table ((t (:inherit fixed-pitch :height 0.7 :foreground "#887"))))
(org-formula ((t (:inherit org-table :foreground nil))))
))
এটি কাজ করে, এবং ইন্টারফেসের অংশ হিসাবে এটি খুব ভাল লাগবে, তবে আপনি প্রতিটি থিমের জন্য একটি ফাংশন তৈরি করা সম্ভবত সবচেয়ে সহজ, এটি লোড করার পরে কাস্টম-থিম-সেট-মুখগুলি কল করুন -
(defun ample-flat ()
(interactive)
(mapc #'disable-theme custom-enabled-themes) ; clear any existing themes
(load-theme 'ample-flat t)
(custom-theme-set-faces 'ample-flat
'(default ((t (:background "gray12" :foreground "#bdbdb3"))))
'(mode-line ((t (:background "cornsilk4" :foreground "#222" :inherit 'variable-pitch))))
'(outline-2 ((t (:inherit font-lock-keyword-face)))) ; blueish
'(outline-3 ((t (:inherit font-lock-comment-face)))) ; brownish
'(outline-4 ((t (:inherit font-lock-string-face)))) ; orangeish
'(org-table ((t (:inherit fixed-pitch :height 0.7 :foreground "#887"))))
'(org-formula ((t (:inherit org-table :foreground nil))))
))
(ample-flat)
আমি সম্পাদনা করতে যা করেছি তার উদাহরণ, আমার spacemacs-dark
পছন্দ না হওয়া বেশ কয়েকটি সাহসী অপসারণ:
;; on dotspacemacs/user-config:
;; configure spacemacs-dark theme, specifically removing bolds
(let
((func "#d75fd7")
(keyword "#4f97d7")
(type "#ce537a"))
(custom-theme-set-faces
'spacemacs-dark
`(font-lock-function-name-face ((t (:foreground ,func :inherit normal))))
`(font-lock-keyword-face ((t (:foreground ,keyword :inherit normal))))
`(font-lock-type-face ((t (:foreground ,type :inherit normal))))
)
)
আপনার কেবল সেখানে ব্যবহার করা SPC SPC custom-theme-visit-theme
, খুঁজে পেতে gruvbox
, আপনার সম্পাদনা করা এবং তারপরে (load-file "~/.emacs.d/gruvbox-theme.el")
আপনার dotspacemacs/user-config
কার্যক্রমে স্থান দেওয়া আপনার পক্ষে সহজ হতে পারে ।
color-theme.el
তবে আপনি সম্ভবত কাস্টম থিমটি বোঝায়। সেক্ষেত্রে অনুগ্রহ করে আপনার প্রশ্নটি সম্পাদনা করুন। দেখুন রঙ এবং কাস্টম থিম ।