Closed ja-he closed 2 years ago
input draft working doc
GLOBAL:
✓ ? openHelp
✓ P togglePerf
✓ S openSummary
✓ E openLog
HELP:
✓ ? closeHelp
SEEING EVENTS:
✓ gg scrollTop
✓ G scrollBottom
✓ <c-u> scrollUp
✓ <c-d> scrollDown
ON EVENT VIEW:
NORMAL:
✓ h prevDay
✓ l nextDay
✓ j nextEvent
✓ k prevEvent
✓ o newEventAfterCurrent
✓ O newEventBeforeCurrent
✓ <c-o> newEventNow
✓ <CR> startEdit
✓ r startResize
✓ R startResizePushing
✓ <c-r> startResizeBounded
✓ m startMove
✓ M startMovePushing
✓ <c-m> startMoveBounded
✓ sc splitCenter
✓ sn splitNow
N snapCurrent (normalize timestamps)
MOVE:
✓ n moveCurrentToNow
✓ j moveCurrentDown
✓ k moveCurrentUp
✓ m exitMoveMode
✓ <esc> exitMoveMode
M switchToPushingMoveMode
<c-m> switchToBoundedMoveMode
r switchToResizeMode
R switchToPushingResizeMode
<c-r> switchToBoundedResizeMode
PUSHMOVE:
n moveCurrentToNowPushing
✓ j moveCurrentDownPushing
✓ k moveCurrentUpPushing
✓ M exitPushingMoveMode
✓ <esc> exitPushingMoveMode
m switchToMoveMode
<c-m> switchToBoundedMoveMode
r switchToResizeMode
R switchToPushingResizeMode
<c-r> switchToBoundedResizeMode
BOUNDEDMOVE:
n moveCurrentToNowBounded
j moveCurrentDownBounded
k moveCurrentUpBounded
<c-m> exitBoundedMoveMode
<esc> exitBoundedMoveMode
m switchToMoveMode
M switchToPushingMoveMode
r switchToResizeMode
R switchToPushingResizeMode
<c-r> switchToBoundedResizeMode
RESIZE:
✓ n resizeCurrentToNow
✓ j resizeCurrentDown
✓ k resizeCurrentUp
✓ r exitResizeMode
✓ <esc> exitResizeMode
m switchToMoveMode
M switchToPushingMoveMode
<c-m> switchToBoundedMoveMode
R switchToPushingResizeMode
<c-r> switchToBoundedResizeMode
PUSHRESIZE:
n resizeCurrentToNowPushing
j resizeCurrentDownPushing
k resizeCurrentUpPushing
R exitPushingResizeMode
<esc> exitPushingResizeMode
m switchToMoveMode
M switchToPushingMoveMode
<c-m> switchToBoundedMoveMode
r switchToResizeMode
<c-r> switchToBoundedResizeMode
BOUNDEDRESIZE:
n resizeCurrentToNowBounded
j resizeCurrentDownBounded
k resizeCurrentUpBounded
<c-r> exitBoundedResizeMode
<esc> exitBoundedResizeMode
m switchToMoveMode
M switchToPushingMoveMode
<c-m> switchToBoundedMoveMode
r switchToResizeMode
R switchToPushingResizeMode
TOOLS:
✓ j nextCategory
✓ k prevCategory
...
SUMMARY:
✓ S closeSummary
✓ h prev{Day,Week,Month} (depending on view)
✓ l next{Day,Week,Month} (depending on view)
LOG:
E closeLog
<c-u> scrollUp
<c-d> scrollDown
IN EDTIOR:
✓ <esc> abort
✓ <cr> commit
✓ h charLeft
✓ l charRight
✓ 0 nameBeginning
✓ $ nameEnd
✓ w nextWordBeginning
✓ e nextWordEnd
✓ b prevWordBeginning
✓ x deleteChar
✓ cc clear,enterInsert
✓ dd clear
...
✓ i enterInsert
IN EDITOR (--INSERT--):
✓ Each letter committed, escape as special case to remove mode
overlay again.
I think this can be done if we replace the concrete Tree type with
an interface (process, active, ...?) and then have a text-input
implementation for that interface that could get a single-rune
callback to make with each change, so e.g. on event editor it
could call a callback that knows the event-editor cursor pos and
inserts the given letter at it.
Steps:
input.Tree
to some interface for input handlingAction
an interface; implement basic versions; try to account for future undoables implementationmisc
realize events-container concept to replace naive events slice(#29)deferred
can we get counts to work without too much extra complexity?(#32)visually distinguish mouse hover highlighting vs current keyboard selected highlighting(#31)lock mouse hover highlighting while editing(#31)thoroughlytest mouse/kb interplay (manually) (#31)closes #13, #22