Nền chủ đề với độ mờ đục? Hoặc gọi lại chủ đề?


7

Hai câu hỏi liên quan

  1. Có thể sử dụng opacity trong khi theo chủ đề trong emacs? Tôi có nghĩa là xác định chủ đề - ví dụ - sẽ thêm 25% màu xanh lam vào màu nền của các yếu tố mà nó được áp dụng. Hoặc sẽ làm cho phông chữ nhẹ hơn 30%.

Hoặc, nếu không.

  1. Có thể tự động tính toán lại một số thuộc tính chủ đề bất cứ khi nào chủ đề tùy chỉnh chính thay đổi?

Lý lịch

Một điều như vậy sẽ rất tuyệt vời đối với các chế độ khác nhau của add-some-mark. Một trường hợp mà tôi muốn nói cụ thể là khuôn mặt lỗi flycheck, sẽ ít xâm lấn hơn nếu nó tạo ra dấu nhấn màu đỏ nhẹ thay vì gạch chân văn bản.

Nhưng trường hợp chính của tôi là chế độ chữ thập (kết hợp làm nổi bật hàng hiện tại và cột hiện tại). Tôi đã cấu hình nó để sử dụng nền hơi khác so với mặc định và điều đó đã tạo ra dấu hiệu tinh tế của vị trí con trỏ. Nhưng một khi tôi bắt đầu chuyển đổi chủ đề thường xuyên hơn, nó trở nên phiền toái, vì màu sắc phù hợp phụ thuộc vào nền tảng hiện tại.


Đây là một ý tưởng: Các chức năng gamgrid-colorgamegrid-colorize-glyphbên trong gamegrid.ellà một ví dụ kết hợp trong đó bóng có thể được sử dụng để tạo các mức độ tô màu khác nhau - ví dụ: các sắc thái được sử dụng 0,6 hoặc 0,8 hoặc 1,0 (màu đầy đủ). Màu sắc mong muốn thay đổi trong một chủ đề có thể được thực hiện theo chương trình bằng cách chuyển đổi màu thành vectơ 3 phần tử bằng cách sử dụng hàm color-name-to-rgbtừ color.el. Hàm này face-remap-add-relativecó thể được sử dụng để tạo một bộ đệm khuôn mặt cụ thể: gnu.org/software/emacs/manual/html_node/elisp/ Kẻ
luật pháp

Trên hệ điều hành nhất định, chế độ cross-lông có thể được thực hiện để sử dụng một vline-stylesố 'compose[sử dụng composit char] hoặc 'mixed[sử dụng mặt và composit char] để tạo ra một cuộc tấn công qua dọc có hiệu lực. Giá trị mặc định là 'face. Các vline-styletùy chọn 'compose'mixedhoạt động ngoài hộp trên Windows, nhưng không hoạt động ngoài hộp trên OSX. Hiệu ứng tấn công theo chiều dọc 'composekhông sử dụng khuôn mặt và điều đó có thể sẽ giải quyết vấn đề của bạn với màu nền cản trở việc nhìn thấy đường thẳng đứng.
luật

Câu trả lời:


2

Cuối cùng tôi đã tìm thấy giải pháp ít nhiều thỏa đáng cho mình. Tuy nhiên, không chắc chắn liệu nó là hoàn hảo.

1) Thư viện hexrgb.el cung cấp các chức năng hay để thực hiện các phép tính màu thực tế. Ví dụ:

(hexrgb-increment-green (face-background 'default) 2 20)

tính toán màu sắc xanh hơn một chút so với nền hiện tại (trong các thông số ở trên, 2 là mỗi chữ số có bao nhiêu chữ số và 20 là thay đổi tương đối).

2) Sau đó, tôi đã khuyến khích chủ đề tải (khi tôi viết bài này, tôi nhận ra rằng đây không phải là nơi tốt và một số API cấp thấp hơn - chủ đề enable hoặc sth thậm chí sâu hơn - có thể tốt hơn) để thay đổi các thuộc tính khác nhau của hl-line và khuôn mặt nổi bật sau khi chủ đề thay đổi (tôi phải đặt màu thực tế, nhưng cũng phải xóa: kế thừa).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.