org-timeblock icon indicating copy to clipboard operation
org-timeblock copied to clipboard

Shift-rightarrow or leftarrow to reschedule the task

Open balaramadurai opened this issue 1 year ago • 4 comments

Hi @ichernyshovvv, Wonderful package! Loving it!

May we have shift-rightarrow or shift-leftarrow for rescheduling the selected task? This will be very useful and consistent with org-agenda.

Thanks and have a great day! Bala

balaramadurai avatar Aug 02 '23 13:08 balaramadurai

Hi, thank you

Could you please explain why this would be helpful? I think that current method of rescheduling is the most efficient and precise way. Instead of inaccurately rescheduling tasks with several presses of Shift-right/left arrow, you could just press [s] and enter the exact time you need (format: HHMM).

ichernyshovvv avatar Aug 06 '23 16:08 ichernyshovvv

Ilya Chernyshov @.***> writes:

Could you please explain why this would be helpful? I think that current method of rescheduling is the most efficient and precise way. Instead of inaccurately rescheduling tasks with several presses of Shift-right/left arrow, you could just press [s] and enter the exact time you need (format: HHMM).

Just as with another issue about showing breadcrumbs in the echo area, this is one of the features native Org agenda provides. And people do use many of (seemingly arcane) agenda features.

-- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at https://orgmode.org/. Support Org development at https://liberapay.com/org-mode, or support my work at https://liberapay.com/yantar92

yantar92 avatar Aug 06 '23 16:08 yantar92

The problem is that each reschedule command involves org-ql call to get the new data. So, redisplay of the buffer takes a time. With reschedule commands bound to Shift+up/down (e.g. reschedule to prev/next 30 mins) it would felt laggy. Just moving around rectangles seems to be responsive for me though:

https://youtu.be/yhMwR2UaLkY

One possible solution to increase the speed of moving timeblocks around is to implement a variable that holds all the pending changes (rescheduling, TODO status changes, etc) as a stack. That way, it's also much easier to implement undo commands. The pending operations could be applied by calling a special command for that (e.g. ot-apply-changes [a]).

ichernyshovvv avatar Aug 10 '23 06:08 ichernyshovvv

Ilya Chernyshov @.***> writes:

One possible solution to increase the speed of moving timeblocks around is to implement a variable that holds all the pending changes (rescheduling, TODO status changes, etc) as a stack. That way, it's also much easier to implement undo commands. The pending operations could be applied by calling a special command for that (e.g. ot-apply-changes [a]).

Also, see `org-agenda-change-all-lines'. Similar idea that is already implemented in built-in agenda.

-- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at https://orgmode.org/. Support Org development at https://liberapay.com/org-mode, or support my work at https://liberapay.com/yantar92

yantar92 avatar Aug 10 '23 06:08 yantar92