pimutils / pimutils/khal

Usability improvements: key bindings

Open
#462 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cat:ui type: discussion
Dominant language
Python
Stars
3.1k
Forks
233
Avg merge
1h 44m
Merged PRs (30d)
1

Description

1- there should be two clear sets of key bindings: one when the focus is in the calendar browser (left column) and one when the focus is in the event list (right column)
2- if an action cause the focus to change, it should be easily reverted: at this time, if I press the left arrow when in the event list, the focus is set to the calendar browser. The right arrow cannot bring me back to the event list and perform a totally different action (move to another day).

Suggestions:

  • Create two distinct subsections in [keybindings]
  • Use only tab (or another key) to switch between calendar/event list.
  • Allow esc to return to calendar (as with vi). Prohibit left and right arrows in event list.
[keybindings]
  [[calendar]]
  focuseventlist: tab
  new: ...
  mark: ...
  # no `view` nor `duplicate` allowed in this subsection

  [[eventlist]]
  focuscalendar: tab, esc
  save: ...
  new: ...
  # no `left` nor `right` allowed in this subsection

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the keybindings configuration and the calendar-browser/event-list focus-handling entry points; the issue names no files or tests. Compare the current left/right, Tab, and Esc behavior with the proposed separate calendar and event-list bindings, then define completion as consistent focus switching and documented prohibited bindings.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.