2013-06-12 10 views
5

Ho diversi file .org, ad es. personal.org e work.org.Codice colore agenda vista per file

Durante la visualizzazione dell'agenda, mi piacerebbe che gli eventi di ciascun file fossero colorati in modo diverso.

Per esempio,

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

ci sono già alcuni colori all'ordine del giorno, ma quelle due righe sono entrambi bianchi. Come posso impostare la linea che va dal personale a un colore e la linea che viene dal lavoro a un altro? Immagino almeno che ci debba essere un modo per definire una combinazione di colori basata sul testo personal: e work: se non c'è un modo semplice per fare in modo che l'org lo faccia per file.

Grazie!

risposta

4

L'unica cosa che ho trovato come soluzione per quello che chiedi, devi usare una funzione di aggancio, cambiando i volti dopo che la vista agenda è pronta. Il seguente codice non è testato, ma dovrebbe farti andare:

(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

Grazie! Cambiare semplicemente "faccia in grassetto" in "faccia" (in primo piano "verde") ha fatto esattamente ciò che volevo. – Josh

1

John Wiegley inviata una volta una patch che ha scritto in modo tale che, con un: OVERLAY: la proprietà, tutti gli elementi di lavoro hanno lo stesso colore dello sfondo. E con un altro valore per Personal, questi elementi hanno un colore diverso.

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

+1

Non riesco a farlo funzionare, ho aggiunto ': OVERLAY: (face (: foreground" green "))' come è, ma non sembra avere alcun impatto sull'agenda - qualsiasi idee? – Josh

+1

@Josh quel thread contiene una patch che probabilmente non è stata applicata. –

Problemi correlati