A Chrome extension for managing tasks efficiently directly from your browser. Tasks persist across browser sessions using Chrome's sync storage.
- Add, edit, and delete tasks from a clean popup interface.
- Tap a task to toggle it complete/incomplete instantly.
- Double-tap a task to edit it inline.
- Long-press a task to drag and reorder.
- Filter tasks by All, Active, or Completed.
- Pending task counter shown as a badge on the extension icon.
- Clear all tasks with a double-confirm button.
- Full keyboard shortcut support (see below).
- Tasks persist across browser sessions via
chrome.storage.sync. - Modular JavaScript architecture (
events.js,ui.js,storage.js).
-
Clone the repository:
git clone https://github.com/anuswarrrao/to-do-list-extensions.git
-
Navigate to the project directory:
cd to-do-list-extensions -
Open Chrome and go to
chrome://extensions/. -
Enable Developer mode (toggle in the top-right corner).
-
Click Load unpacked and select the cloned directory.
-
The extension will be installed and ready to use.
Due to Chrome security restrictions, the popup shortcut must be set manually once:
- Go to
chrome://extensions/shortcuts - Find To-Do List and set the shortcut to
Ctrl+Shift+L(Windows/Linux) orCommand+Shift+L(Mac)
This only needs to be done once — Chrome remembers it permanently.
These work automatically once the popup is open:
| Action | Windows / Linux | Mac |
|---|---|---|
| Focus first task | Ctrl+A (no task focused) | Cmd+A (no task focused) |
| Toggle focused task | Ctrl+A (task focused via Tab) | Cmd+A (task focused via Tab) |
| Cycle to next task | Tab | Tab |
| Cycle to previous task | Shift+Tab | Shift+Tab |
| Delete focused task | Delete | Delete |
| Clear input box | Escape | Escape |
| Remove all completed tasks | Ctrl+Shift+D | Cmd+Shift+D |
| Filter: All tasks | F1 | F1 |
| Filter: Active tasks | F2 | F2 |
| Filter: Completed tasks | F3 | F3 |
| Action | How | Result |
|---|---|---|
| Single tap | Click / tap a task | Toggles task complete/incomplete |
| Double tap | Two taps within 280ms | Opens inline edit mode |
| Long press | Hold 500ms then drag | Reorders tasks |
| Delete | Tap the × button | Removes the task |
| Clear all | Click Clear twice | Removes all tasks (confirms first) |
- HTML — popup structure (
popup/index.html) - CSS — styling (
popup/styles.css) - JavaScript (ES Modules) — split across:
popup/script.js— app entry pointpopup/modules/events.js— all event listeners and interaction logicpopup/modules/ui.js— DOM rendering, filter state, pending counterpopup/modules/storage.js—chrome.storage.syncwrapperbackground.js— service worker for toolbar badge updates
- Chrome Extension APIs — storage, action (badge), commands, manifest v3
to-do-list-extensions/ │ ├── images/ │ ├── checked.png │ ├── unchecked.png │ ├── icon.png │ └── preview.jpg │ ├── popup/ │ ├── index.html │ ├── styles.css │ ├── script.js │ └── modules/ │ ├── events.js │ ├── ui.js │ └── storage.js │ ├── background.js ├── manifest.json ├── LICENSE.md └── README.md Contributions are welcome. To contribute:
- Fork the repository.
- Create a new branch for your feature or fix.
- Commit your changes with clear messages.
- Push to your fork and open a pull request to
main.
Licensed under the MIT License.
