发现MobileOrg的一个BUG

MobileOrg中其实有一个BUG,就是不能在手机端连续修改同一个entry两次,因为MobileOrg手机端会记录下每次修改手机端上的旧内容和新内容,并且在 org-mobile-pull 的时候对比记录的旧内容是否与电脑上当前的内容相同。

然而…MobileOrg手机端在未与电脑端(org-mobile-push后再同步)同步前是不会更改真正的内容的!

也就是说,假设对一个entry的内容更改过程是 A->B->C ,那么本来我们想象应该是记录成这样的:

* entry 
** old
 A 
** new
 B 
* entry 
** old
 B 
** new
 C

但实际上记录的是

* entry 
** old
 A 
** new
 B 
* entry 
** old
 A 
** new
 C

因此只能应用 A->B 的变更,而无法应用 B->C 的变更。

一个解决方案是修改 org-mobile-force-mobile-change 来强制应用新值,这对非 body 类的操作还是比较适合的

(setq org-mobile-force-mobile-change '(todo todostate tags priority heading addheading))

但是对于 body 类的修改来说是不太适合的,因为mobileorg的 clock-in , clock-out 操作会修改 body 的内容,而这部分内容修改起来很麻烦

一个更完善的解决方案可能是自定义新的 org-mobile-edit 函数,然后设置到 org-mobile-action-alist 变量中. 在这个函数中,对于 body 类修改使用 (patch (diff old new)) 的方法可能更适合。

mobileorg可以抛弃了,换orgzly

orgzly不能clock in/clock out这是一大遗憾

而mobileorg作为orgmode的前端,可定制的能力还是比较强的

我好奇问一下,你们用的是哪个app?

我看到的就有三个:免费版的MobileOrg,收费版的MobileOrg,还有SyncOrg(免费的)。这是什么状况?

Google Play上的评分是Orgzly和MobileOrg收费版最高,都是4.6。

这app现在还有人用吗?网上找不到了,有的话能否上传一个?

另外,它支持加密的org打开编辑吗?比如ccrypt格式的cpt?

1 个赞

请教,何为clock in /out?