¿Puedes tener encabezados de modo org con casillas de verificación?


7

Me gustaría tener este tipo de funcionalidad:

* TODO master task
** [ ] my subtask 1   << checkbox in heading :-D
** [X] my completed subtask

Con el combo Cc Cc marcando / desmarcando tales marcas de verificación.

La razón es que uso subtareas extensivley pero no quiero que aparezcan en mi agenda.

¿Es esto posible de alguna manera?


3
No Bueno, sí, técnicamente posible, pero no tocaría el problema con un poste de diez pies.
Sean Allred

Sin embargo, si puedo preguntar, ¿por qué no filtrar las subtareas de la agenda?
Sean Allred

1
Bueno, para cosas que toman más de 10 horas, tengo una '* TODO tarea', para cosas que toman menos de 10 horas utilizo marcas de verificación. Quiero mantener las subtareas en mi agenda, pero tengo la flexibilidad de las marcas de verificación + encabezados para poder colapsar las secciones.
Leo Ufimtsev

2
Por lo que sé, ya puedes contraer estas listas 'simples' (no sé cómo llamarlas).
Sean Allred

1
Lo que Sean Allread ya dijo: creo que una vez intenté cambiar algo así en el encabezado y terminé viendo artefactos extraños cada vez que hacía algo con encabezados (como en los búferes que no son del modo org, donde utilicé org-struct, etc. .)
wvxvw

Respuestas:


5

Hay un par de posibilidades.

Editar: si generalmente desea omitir subinserciones de elementos de tareas en la agenda, configúrelo org-agenda-todo-list-sublevelscomo nulo. Esto generará listas con solo el elemento de nivel más alto.

Si todo lo que necesita es doblar, como señaló Sean Allred, puede hacerlo con elementos simples de la lista que configuró org-cycle-include-plain-listspara 'integrar'.

Si desea un marcador de casilla de verificación en un título y poder alternarlo, tampoco debería ser demasiado difícil. Aquí hay una idea:

(defun org-toggle-headine-checkbox ()
  "Toggle checkbox marker in headlines."
  (interactive)
  (when (and (org-at-heading-p)
             (save-excursion
               (beginning-of-line)
               (looking-at "\\*+ +\\[\\(?1:[X ]?\\)\\]")))
    (let ((state (string= (match-string 1) "X")))
      (save-excursion
        (replace-match (format "%s" (if state " " "X")) nil t nil 1)))))

Atadlo a una clave de vuestro agrado. Si lo quieres en Cc Cc, puedes poner un consejo antes org-ctrl-c-ctrl-c; El problema con este enfoque es que Cc Cc en los titulares ya establece las etiquetas.

Por supuesto, hay otras posibilidades: no establezca una palabra clave de todo (todavía puede marcarlas HECHO y marcar el título); establecer una palabra clave diferente (por ejemplo, TAREA) y filtrar en la agenda. etc.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.