Skip to content

feat(linux): enable native task multi-selection and keyboard row activation - #33

Merged
turinglambdaai merged 3 commits into
mainfrom
feat/linux-task-keyboard-selection
Oct 21, 2026
Merged

turinglambdaai merged 3 commits into
mainfrom
feat/linux-task-keyboard-selection

Conversation

@turinglambdaai

Copy link
Copy Markdown
Owner

Problem

Linux Taskly uses GTK_SELECTION_NONE for its task list despite the cross-platform PRODUCT-SPEC requiring row selection, Shift/Ctrl selection, Up/Down navigation, Return to expand and Esc to clear. Double-click editing used a custom gesture instead of the native GTK row-activated signal, so keyboard activation could not work.

Change

  • Enable GTK_SELECTION_MULTIPLE (GTK-native Ctrl/Shift click selection and keyboard focus/range selection).
  • Use native row-activated on Return/double click to toggle the inline editor; disable single-click activation so a normal click only selects a row. Remove the competing custom task double-click handler to prevent double toggles. Keep list editing double-click and right-click context menus as before.
  • Preserve selected task IDs across periodic snapshot-driven row rebuilds (do not reset selection every poll).
  • Extend the existing Esc ladder: editor → search → clear task selection, without hijacking Esc when nothing is selected.
  • Update UX benchmark status, explicitly retaining bulk actions as a separate incomplete item.

QA before merging

  • Linux GTK host build + packaged Product Acceptance succeed.
  • Click row only selects; double-click / Enter opens editor exactly once.
  • Ctrl-click toggles, Shift-click selects a range, Up/Down navigates, Esc clears after editor closes.
  • Selection persists across 2s snapshot refresh; disappears naturally when its task leaves the view.
  • Checkbox, task context menu, completed header and list-name double-click still work.
  • Search and inline text entry continue to own their keys.

Scope: This is a focused Linux parity step, not full interaction parity: bulk completion, move, delete and Windows multi-selection remain for follow-up PRs. Do not merge or release until all checks are green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant