2013-06-12 67 views
5

Tôi có một vài tệp .org, ví dụ: personal.org và work.org.Chế độ xem chương trình mã màu cho mỗi tệp

Khi xem chương trình làm việc, tôi muốn có các sự kiện từ mỗi tệp được tô màu khác nhau.

Ví dụ,

Wednesday 12 June 2013 
    personal: 11:00am........ Personal Meeting 
    work:  2:00pm- 3:00pm Work Meeting 

Hiện đã có một số màu sắc trong chương trình nghị sự, nhưng những người hai dòng đều trắng. Làm thế nào tôi có thể thiết lập các dòng đến từ cá nhân để một màu, và dòng đến từ công việc khác? Tôi hình ít nhất phải có một cách để xác định một bảng màu dựa trên văn bản personal:work: nếu không có cách nào dễ dàng để tổ chức thực hiện nó theo tệp.

Cảm ơn!

Trả lời

4

Điều duy nhất tôi tìm thấy là giải pháp cho những gì bạn yêu cầu, bạn phải sử dụng hàm móc, thay đổi khuôn mặt sau khi chế độ xem chương trình làm việc sẵn sàng. Các mã sau đây là chưa được kiểm tra, nhưng sẽ giúp bạn đi:

(add-hook 'org-finalize-agenda-hook 
    (lambda() 
     (save-excursion 
     (goto-char (point-min)) 
     (while (re-search-forward "personal:" nil t) 
      (add-text-properties (match-beginning 0) (point-at-eol) 
      '(face secondary-selection))) 
     (goto-char (point-min)) 
     (while (re-search-forward "work:" nil t) 
      (add-text-properties (match-beginning 0) (point-at-eol) 
      '(face bold)))))) 
+0

Cảm ơn! Chỉ cần thay đổi 'face bold' thành' face (foreground "green") 'đã làm chính xác những gì tôi muốn. – Josh

1

John Wiegley gửi một lần một miếng vá, ông đã viết nên, với: Lớp phủ: bất động sản, tất cả các mục công trình có các màu nền tương tự. Và với một giá trị khác cho Cá nhân, các mục đó có màu khác nhau.

Xem http://comments.gmane.org/gmane.emacs.orgmode/54342

+1

Tôi dường như không thể làm điều đó, tôi đã thêm ': OVERLAY: (mặt (: foreground" green "))' như anh ta có, nhưng nó dường như không có bất kỳ tác động nào đến chương trình làm việc - bất kỳ ý tưởng? – Josh

+1

@Josh rằng chuỗi chứa một bản vá mà bạn có thể không áp dụng. –

Các vấn đề liên quan