Skip to content

Implement TUI - #1

Merged
thesouldev merged 14 commits into
masterfrom
tui
Jun 29, 2026
Merged

Implement TUI #1
thesouldev merged 14 commits into
masterfrom
tui

Conversation

@thesouldev

@thesouldev thesouldev commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Summary

This PR adds an interactive Textual TUI for managing Google Tasks, launched by running gtask with no arguments:

  • Added a two-pane gruvbox TUI (tui.py, tui_widgets.py, tui.tcss) with a Lists sidebar and a task pane, plus keyboard-first navigation, mouse support, search, cursor wrap, and a r refresh that refetches all lists and tasks
  • Added a docked add/edit panel with inline fields, keyboard-driven due (today/tomorrow/custom) and list pickers, and the ability to move a task to another list on edit
  • Added inline list management (new, rename, delete) and made a/e/x context-aware by focused pane, so they target tasks in the task pane and lists in the sidebar
  • Added subtask support where Shift+A adds a subtask under the selected task, rendered nested with / connectors and a done/total badge
  • Added an all-caught-up celebration when every task due today is done, and hid completed tasks in a list unless completed today
  • Extracted shared presentation helpers (due labels, tree ordering, link and colour helpers) into view.py and reused them in the CLI
  • Fixed gtask login to fall back to a fresh browser login when the cached refresh token is revoked

@thesouldev
thesouldev marked this pull request as ready for review June 29, 2026 16:29
@thesouldev
thesouldev merged commit 1dc92de into master Jun 29, 2026
6 checks passed
@thesouldev
thesouldev deleted the tui branch June 29, 2026 16:32
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