Modo Org: no se pueden mostrar imágenes en línea cuando el modo abierto con está activado

7

Utilizo openwithpara abrir imágenes y otros tipos de archivos en aplicaciones externas.

Funciona de maravilla, pero se interpone en la visualización de imágenes en línea en org-modebuffers: cuando hago C-c C-x C-v( org-toggle-inline-images) con openwith-modeactivado, el primer archivo de imagen vinculado en el buffer actual se abre en un visor externo. El contenido del búfer en sí no cambia, es decir, no se muestran imágenes dentro del búfer.

P: ¿Cómo puedo evitar openwith-modeinterferir con la visualización de imágenes en línea org-mode?

itsjeyd
fuente

Respuestas:

5

Internamente, org-toggle-inline-imagesllamadas org-display-inline-imagespara manejar la visualización de imágenes en línea. Puede aconsejar a esta función que se apague openwith-modemientras está haciendo lo suyo, y que vuelva a encenderla después:

(defadvice org-display-inline-images
  (around handle-openwith
          (&optional include-linked refresh beg end) activate compile)
  (if openwith-mode
      (progn
        (openwith-mode -1)
        ad-do-it
        (openwith-mode 1))
    ad-do-it))

Con esto en su lugar, no se abren visores externos cuando se realiza C-c C-x C-ven un org-modebúfer que contiene imágenes en línea.

itsjeyd
fuente
1
Estaba a punto de sugerir consejos. ¿Puedo sugerir una modificación a prueba de si es o no openwith-modees tantes de alternar apagado y? Con el código actual, sin saberlo, se encendería openwith-modesi estuviera apagado antes de llamar org-display-inline-images.
Dan
@ Dan Buena idea, gracias! Modifiqué el código en consecuencia.
itsjeyd