mirror of
https://github.com/thejusticeman/obsidian-mobile-plugin.git
synced 2026-07-22 16:20:24 +00:00
No description
| .github/workflows | ||
| src | ||
| .editorconfig | ||
| .eslintignore | ||
| .eslintrc | ||
| .gitignore | ||
| .npmrc | ||
| .prettierrc | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| esbuild.config.mjs | ||
| gestures.png | ||
| keyboard.png | ||
| LICENSE | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| release.sh | ||
| Settings.png | ||
| styles.css | ||
| ToolbarEditing.png | ||
| tsconfig.json | ||
| version-bump.mjs | ||
| versions.json | ||
Mobile UX
A mobile-optimized UX enhancement plugin for Obsidian that provides a floating action button (FAB) and context-aware toolbars.
Ask me for mobile friendly features
Gestures
Gestures are the heart of this plugin. You can create completely custom gestures to trigger any command in Obsidian.
- Draw a gesture: Drag the Floating Action Button (FAB) to draw a shape.
- Assign a command: When you release the FAB, if the gesture is not recognized, you will be prompted to assign a command to it.
- Execute: Next time you draw the same shape, the assigned command will be executed.
Gestures are matched based on the shape, so you can draw them at any size or speed.
Features
Customizable Floating Action Button (FAB)
- Tap: Executes a primary command (default: Create new note).
- Long-press: Executes a secondary command (default: Open command palette).
- Gestures: Drag the button to draw shapes and trigger any command.
- Smart positioning: Anchors to the active editor leaf, ensuring it doesn't overlap navigation elements.
![]() |
![]() |
![]() |
![]() |
|---|
Context-Aware Toolbars
Dynamic toolbars that adapt based on your cursor position and selection:
| Context | Description |
|---|---|
| Selection | Text is selected |
| List | Cursor in bullet/ordered list |
| Task | Cursor in task list item |
| Heading | Cursor in heading |
| Code Block | Cursor in code block |
| Table | Cursor in table |
| Blockquote | Cursor in blockquote |
| Link | Cursor on a link |
| Default | Fallback when no other context matches |
Toolbar Features
- Two-section settings: Define toolbars in a library, then bind them to contexts.
- Auto-concatenation: Multiple toolbars bound to the same context are automatically merged.
- Icon support: Use Lucide icons with custom override capability.
- Horizontal scrolling: Scrolls when too many buttons to fit.
- Editor focus preservation: Keyboard stays open when using toolbar buttons.
Installation
Brat
- Install BRAT from the Community Plugins in Obsidian.
- Open the command palette and run
BRAT: Add a beta plugin for testing. - Enter the URL of this repository:
https://github.com/TheJusticeMan/obsidian-mobile-plugin. - Click Add Plugin.
- Enable the plugin in Settings → Community Plugins.
Configuration
Settings
| Setting | Description |
|---|---|
| Command confirmation | Show confirmation before selecting a new command for a gesture |
| Use Icons | Toggle between icon and text display in toolbars |
| Plus long press command | Commands available for long press on the FAB button. |
| Plus press command | Commands available for press on the FAB button. |
| Enable haptic feedback | Vibrate on FAB and toolbar button interactions |
| Gesture Commands | Manage your created gestures (rename, reassign, delete) |
| Reset to default | Restore all settings to their original defaults |
Toolbar Library
Create reusable toolbars with custom command sets:
- Click Add Toolbar.
- Give it a name (e.g., "Formatting").
- Add commands by their ID (e.g.,
editor:toggle-bold). - Optionally set custom icons for each command.
Context Bindings
Bind toolbars to editing contexts:
- Click Add Binding.
- Select a context type (Selection, List, Table, etc.).
- Select a toolbar from your library.
- Multiple bindings to the same context are auto-concatenated.
Commands
| Command | Description |
|---|---|
Toggle wake lock |
Keeps the screen awake while editing |
Plus press |
Executes the command configured for FAB press |
Plus long press |
Executes the command configured for FAB long press |
Open mobile plugin settings |
Opens the settings modal for this plugin |
Development
Prerequisites
- Node.js v16 or higher
- npm
Setup
# Clone the repository
git clone https://github.com/TheJusticeMan/obsidian-mobile-plugin.git
# Install dependencies
npm install
# Build for development (watch mode)
npm run dev
# Build for production
npm run build
Project Structure
src/
├── main.ts # Plugin entry point
├── fab.ts # Floating Action Button manager
├── toolbar-extension.ts # Context-aware toolbar ViewPlugin
└── settings.ts # Settings tab and interfaces
License
Author
Support
If you encounter any issues or have feature requests, please open an issue on GitHub.



