Checkbox Style Menu

by ReticentEclectic
5
4
3
2
1
Score: 40/100

Description

Category: Customization & UI

The Checkbox Style Menu plugin introduces a long-press menu that lets you switch between a wide range of checkbox styles without breaking your writing flow. It supports all styles provided by the Minimal and Things themes, and you can curate exactly which ones appear in the menu. On desktop and mobile, the interaction feels natural, with touch friendly behaviour and optional haptic feedback. The menu adapts to your active theme, ensuring visual consistency, and works only in live preview to maintain accurate rendering. Timing for long-press gestures can be tuned separately for each platform, giving you control over how quickly the menu appears.

Reviews

No reviews yet.

Stats

20
stars
3,670
downloads
3
forks
316
days
12
days
12
days
1
total PRs
1
open PRs
0
closed PRs
0
merged PRs
6
total issues
0
open issues
6
closed issues
13
commits

Latest Version

12 days ago

Changelog

What's new

New Feature

Custom Checkbox Cycle

Optionally replace the default unchecked ↔ checked click toggle with your own sequence of checkbox states, e.g. [ ] → [p] → [c] → [ ]. #6

  • Find the setting in Settings → Checkbox Style Menu → Custom checkbox cycle
  • Build the sequence from any of the 22 built-in styles using a scroll-snap picker (tap a state to reassign it, + Add to extend the cycle)
  • Each style can appear once, and the cycle needs at least 2 states
  • Clicking a checkbox steps through your states in order and wraps back to the first
  • Long-press, right-click, and hotkey still open the style menu as usual
  • Off by default, so existing behavior doesn't change unless you turn it on

Like the style menu, the custom cycle applies in Live Preview and Source mode only. Reading view keeps the default toggle.

See the README for full details.

Special thanks to xmousset for the feature request and for the clear examples that shaped how this works.

What's Fixed

  • Fixed the mobile style menu running off-screen when opened from deeply indented checkboxes, which happened when only a few styles were enabled
  • The mobile menu now keeps a small margin from the screen edges, and a short menu stays aligned with the checkbox until it reaches the edge of the screen

Full Changelog: 1.2.0...1.3.0

README file from

Github

Checkbox Style Menu

Provides an intuitive menu for quickly changing checkbox styles in Obsidian

Style Change Demo

Features

  • Quick Style Selection: Long-press a checkbox to open a style menu
  • Custom Click Cycle: Optionally replace the default unchecked ↔ checked toggle with your own custom sequence of checkbox states
  • 22 Checkbox Styles: Supports all 22 checkbox styles of Minimal and Things
  • Customizable: Choose which styles appear in your menu
  • Theme Compatible: Matches any theme or custom CSS
  • Cross-Platform: Works seamlessly on desktop and mobile devices
  • Touch-Optimized: Mobile-friendly with haptic feedback and optimized touch interactions

Available Checkbox Styles

Basic

  • [ ] To-do
  • [/] Incomplete
  • [x] Done
  • [-] Cancelled
  • [>] Forwarded
  • [<] Scheduling

Extra

  • [?] Question
  • [!] Important
  • [*] Star
  • ["] Quote
  • [l] Location
  • [b] Bookmark
  • [i] Information
  • [S] Savings
  • [I] Idea
  • [p] Pro
  • [c] Con
  • [f] Fire
  • [k] Key
  • [w] Win
  • [u] Up
  • [d] Down

Theme Adaptive

Theme Demo

Installation

  1. Open Settings → Community Plugins
  2. Click Browse and search for "Checkbox Style Menu"
  3. Click Install, then Enable

Manual Installation

  1. Download the latest release from GitHub
  2. Extract to YourVaultFolder/.obsidian/plugins/checkbox-style-menu/
  3. Reload Obsidian and enable in Community Plugins

Usage

Triggering the Menu

Choose your preferred method in settings:

  • Long-press (default): Hold a checkbox for a moment
  • Right-click: Right-click a checkbox to open the menu
  • Hotkey: Assign a custom keyboard shortcut in Settings → Hotkeys

Desktop

  1. Long-press a checkbox
  2. A menu will appear showing your enabled checkbox styles
  3. Click on any style to apply it to the checkbox

Mobile

  1. Long-press a checkbox
  2. A scrollable horizontal menu appears above or below the checkbox
  3. Tap any style to apply it

Configuration

Access plugin settings through: Settings → Community Plugins → Checkbox Style Menu

Available Options

  • Long Press Duration (Desktop): Adjust how long to hold before the menu appears (100-1000ms)
  • Long Press Duration (Mobile): Separate timing for mobile devices (200-1500ms)
  • Enable Haptic Feedback: Toggle vibration feedback on mobile devices
  • Style Selection: Choose which checkbox styles appear in your menu

Customizing Your Menu

You can enable/disable any of the 22 available checkbox styles:

  1. Go to plugin settings
  2. Under "Choose which styles to show in the menu"
  3. Toggle individual styles on/off
  4. Only enabled styles will appear in the selection menu

Custom Checkbox Cycle

By default, clicking a checkbox toggles between unchecked ([ ]) and checked ([x]). You can override this with your own custom sequence of states instead.

Enabling a Custom Cycle

  1. Go to plugin settings and toggle on Custom checkbox cycle
  2. Tap any state in the cycle to open a scroll-snap picker and reassign it
  3. Tap + Add to add another state (a state can only appear once in the cycle)
  4. Once the cycle has 3 or more states, a remove (×) button appears on each one

Clicking a checkbox now steps through your states in order, wrapping back to the first state after the last.

Note: Like the rest of this plugin, the custom cycle only applies while editing (Live Preview / Source mode) - Reading view keeps the default toggle behavior regardless of this setting.

Tasks plugin users: if a state you choose already means something else to the Tasks plugin (or another checkbox-aware plugin), double-check that your custom cycle doesn't conflict with it.

Compatibility

  • Obsidian Version: Requires Obsidian 0.15.0 or later
  • Platforms: Desktop and Mobile
  • Note Types: Works with any note containing markdown checkboxes
  • Live-Preview Only: Does not work in Reading view or Source mode
  • Requires Compatible Theme: Any theme that adds checkbox styles (e.g. Minimal or Things)

Third-Party Plugin Compatibility

Tasks Plugin Integration

Optional integration with the Tasks plugin. When enabled, Tasks can add done dates when you mark checkboxes as complete using the Checkbox Style Menu.

Enabling Tasks Integration
  1. Install and enable the Tasks plugin
  2. Open Settings → Community Plugins → Checkbox Style Menu
  3. Expand the Advanced section
  4. Toggle on Enable Tasks plugin integration
Known Limitations
  • Cancelled → Complete Changing from [-] (cancelled) → [x] (complete) will not trigger a done date. This is because this transition is not part of Tasks’ normal completion workflow. To add a done date, Tasks expects the sequence [-] → [ ] → [x].

  • Complete → Custom State Changing from [x] (completed) → any custom checkbox style (such as [!], [?], or [>]) will not remove the done date. This is because Tasks expects the sequence [x] → [ ] to remove it.

All other transitions (such as [ ] → [x], [!] → [x], or [x] → [ ]) work seamlessly with Tasks' done date feature.

Note: The Set done date on every completed task feature must be enabled in Tasks' settings for this integration to work.

Troubleshooting

Menu Not Working

  • Check that you're long-pressing (not just clicking) a checkbox
  • Ensure you have a compatible theme enabled
  • Verify the long-press duration in settings matches your preference

Mobile Issues

  • Make sure you're not scrolling while trying to long-press
  • Make sure you're not missing the checkbox (they can be small on mobile)

Contributing

If you would like to contribute, please feel free to:

  • Report bugs or request features via GitHub Issues
  • Submit pull requests with improvements

Privacy & Data

All operations are performed locally. No user data is collected, stored, or transmitted at any point.

License

This project is licensed under the 0BSD License - you are free to use it however you'd like.

Author

Developed by ReticentEclectic.

Support

If this plugin made your life easier and you’d like to say thanks, consider buying me a coffee: Ko-fi.

Disclaimer

This plugin has been primarily developed and tested on macOS and iOS. While it's designed to work across all platforms and themes, it is not thoroughly tested across all operating systems and use cases.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Checkbox 3 states
4 years ago by Renaud Héluin @ NovaGaïa
This is a simple plugin for add a third state to checkbox list.
Uncheck All
3 years ago by Shahar Har-Shuv
Obsidian plugin to uncheck all checkboxes in a file with one action
Markdown table checkboxes
3 years ago by DylanGiesberts
Obsidian plugin. Allows for the usage of checkboxes inside markdown tables.
Blockier
3 years ago by blorbb
An Obsidian.md plugin for easier block editing.
Checkbox Sounds
2 years ago by yasd251
Adds a nice completion sound for checkboxes when ticked in Obsidian
Checkbox Time Tracker
2 years ago by UD
Checkbox Time Tracker for Obsidian
Checkbox styling helper
2 years ago by JaewonE
Render theme-independent SVG icon bullets from plain Markdown markers.
Overdue
5 years ago by Peter Parente
Obsidian plugin that marks items as [[Overdue]] if they are not checked off by their due date
BuJo Bullets
2 years ago by Will Olson
Alternate checkbox types for Obsidian to support Bullet Journal bullets
Inline Checkbox Groups
2 years ago by Bradley Wyatt
Obsidian Plugin that creates multiple checkboxes on a single line, separated by a customizable separator character (default '|'), with the option to automatically cross out text when all checkboxes in the line are checked.
HTML checkboxes
2 years ago by Anareaty
Checkbox Sync
2 years ago by Grol
Keep parent/child checkboxes in sync automatically within your Obsidian task lists.
Completed Tasks
a year ago by Mgussekloo
A free, simple and intuitive Obsidian plugin that automatically moves completed tasks (checked checkboxes) to the bottom of the list they're in.
Table Checkbox Renderer
10 months ago by Daniel Aguerrevere
Interactive checkboxes for Markdown tables in Obsidian. Toggle checkboxes in Reading Mode and instantly update your Markdown file. Supports multiple checkboxes per cell and any table layout.
Note Progressbar
6 months ago by Ryoma Kawahara
Hotkeys++
5 months ago by argenos
Adds hotkeys to toggle todos, ordered/unordered lists and blockquotes in Obsidian
Budget Planner
3 months ago by kalinichenko88
A minimalist budget planning tool for Obsidian. Create, track, and manage budgets using markdown code blocks directly in your notes.