87 lines
3.0 KiB
Markdown
87 lines
3.0 KiB
Markdown
# Task Warrior GPUI
|
|
|
|

|
|
|
|
A desktop GUI for [TaskWarrior](https://taskwarrior.org/) built with [GPUI](https://gpui.rs/), the GPU-accelerated UI framework from Zed.
|
|
|
|
## Features
|
|
|
|
### Task Management
|
|
- **Create, Edit, Delete**: Full CRUD operations with keyboard shortcuts and mouse support
|
|
- **View Task Details**: Rich modal view with complete task information and metadata
|
|
- **Annotations**: Add, edit, copy, and delete annotations with visual feedback
|
|
- **Smart Autocomplete**: Hierarchical project suggestions and tag filtering
|
|
|
|
### Navigation & Filtering
|
|
- **Project Tree**: Collapsible tree view with task counts and keyboard navigation
|
|
- **Tag Filtering**: Multi-select tag filtering with task counts
|
|
- **Advanced Filters**: Filter by status, priority, due date, and search text
|
|
- **Sortable Table**: Click headers or use keyboard to sort by any column
|
|
|
|
### Keyboard-First Design
|
|
- **Complete Keyboard Navigation**: Navigate the entire UI without touching the mouse
|
|
- **Context-Aware Shortcuts**: Different shortcuts for different contexts (table, modal, filters)
|
|
- **Vim-Like Bindings**: `j`/`k` navigation, `h`/`l` for horizontal movement
|
|
- **Modal Edit Mode**: Full keyboard workflow for editing with undo/redo support
|
|
|
|
### Visual Polish
|
|
- **Dark Theme**: Ayu-inspired color scheme optimized for readability
|
|
- **Toast Notifications**: Non-intrusive feedback for actions
|
|
- **Smooth Scrolling**: GPU-accelerated rendering for buttery-smooth performance
|
|
- **Pagination**: Navigate large task lists efficiently
|
|
|
|
## Requirements
|
|
|
|
- Rust (2024 edition)
|
|
- TaskWarrior installed and configured
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone https://github.com/0xErwin1/taskwarrior-gpui.git
|
|
cd taskwarrior-gpui
|
|
|
|
# Option 1: Run directly
|
|
cargo run --release
|
|
|
|
# Option 2: Install globally
|
|
cargo install --path .
|
|
```
|
|
|
|
The application will use your existing TaskWarrior data directory.
|
|
|
|
## Quick Start
|
|
|
|
### Keyboard Shortcuts
|
|
|
|
| Action | Shortcut |
|
|
|--------|----------|
|
|
| Create task | `c` |
|
|
| Edit task | `e` |
|
|
| Delete task | `Delete` |
|
|
| View task | `Enter` |
|
|
| Navigate | `j`/`k` or arrow keys |
|
|
| Focus search | `Ctrl+F` |
|
|
| Sync tasks | `Ctrl+R` |
|
|
| Close modal | `Escape` |
|
|
|
|
For a complete list of keyboard shortcuts, see [docs/keyboard-shortcuts.md](docs/keyboard-shortcuts.md).
|
|
|
|
### Basic Workflow
|
|
|
|
1. **View Tasks**: Tasks are displayed in the main table with filtering options at the top
|
|
2. **Create Task**: Press `c` or click "+ New" button, fill in details, and save with `Ctrl+S`
|
|
3. **Edit Task**: Select a task and press `e`, or double-click to view then press `e`
|
|
4. **Filter**: Use the sidebar to filter by project/tag, or use the filter bar for more options
|
|
5. **Sync**: Press `Ctrl+R` to sync changes with TaskWarrior
|
|
|
|
## Documentation
|
|
|
|
- [Keyboard Shortcuts](docs/keyboard-shortcuts.md) - Complete keyboard shortcut reference
|
|
- [Keymap Guide](docs/keymap.md) - Understanding the keymap system and adding custom bindings
|
|
|
|
## License
|
|
|
|
MIT OR Apache-2.0
|