{"id":28545915,"url":"https://github.com/3c0d/obsidian-quick-plugin-switcher","last_synced_at":"2026-04-02T19:23:48.881Z","repository":{"id":244684229,"uuid":"815952112","full_name":"3C0D/obsidian-quick-plugin-switcher","owner":"3C0D","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-29T18:16:22.000Z","size":47536,"stargazers_count":21,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-29T19:35:30.815Z","etag":null,"topics":["obsidian","obsidian-plugin","plugin-management","productivity","switcher","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3C0D.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-16T16:22:37.000Z","updated_at":"2026-03-29T18:16:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"ae1ddd3a-602b-4fa7-a8f6-5008b74f5dd2","html_url":"https://github.com/3C0D/obsidian-quick-plugin-switcher","commit_stats":null,"previous_names":["3c0d/obsidian-quick-plugin-switcher"],"tags_count":11,"template":false,"template_full_name":"3C0D/obsidian-sample-plugin-modif","purl":"pkg:github/3C0D/obsidian-quick-plugin-switcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-quick-plugin-switcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-quick-plugin-switcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-quick-plugin-switcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-quick-plugin-switcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3C0D","download_url":"https://codeload.github.com/3C0D/obsidian-quick-plugin-switcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-quick-plugin-switcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31314375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["obsidian","obsidian-plugin","plugin-management","productivity","switcher","typescript"],"created_at":"2025-06-09T23:08:42.851Z","updated_at":"2026-04-02T19:23:48.874Z","avatar_url":"https://github.com/3C0D.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quick Plugin Switcher (QPS)\n\nThis plugin simplifies the process of managing your plugins (demos at the end of this page)  \n\n## Introduction:\n\nThis plugin is done around two windows:\n\n- the main window give access to all installed plugins with many options \n- and the second window is an improved version of community plugins view with many options \n\ninstalled plugins\n![windows](img/main_windows.jpg)\ncommunity plugins\n![windows](img/second_window.png)\n\nthere are buttons, context menus, dropdown menus, search menus, and you can double click on some elements \n\n## Mainly, you can:\n\n- quickly toggle enable/disable on plugins\n- use groups for many operations\n- add a delay at start\n- enable/disable platform dependent mobile/desktop\n- get quick accesses (github repo, plugin folder...)\n- apply some filters search, hide groups...\n- take some notes on community plugins\n- tools to install plugins between vaults\n- switch a plugin via command\n\n## New: \n\n- see downloads stats for each community plugin using (s) or in the context menu on mobile.  Using this site [obsidian stats](https://www.moritzjung.dev/obsidian-stats)\n\n![addcmd](gif/show_stats.gif)\n\n- option in setting to keep last value in dropdown menus (true by default)\n- switch a plugin via command. \n\n![addcmd](img/add_command.png)\nthen in command palette  \n![cmdinpalette](img/command_in_palette.png)\n\n- add notes to community plugins \n\n![platformDep](img/note_button.png)\n![platformDep](img/edit_note.png)  \n\n- option to make a plugin platform dependant\n\n![platformDep](img/platformDep.jpg)\n- plugin updates\n- community plugins have been added and a lot of things fixed or improved\n\n## Features\n\n### general\n- access QPS from ribbon bar or command \n\n### filters\n\nyou have now an option in plugin settings to keep previous filter value when re opening a window\n\n- first window\n\n![filters](img/filters.jpeg)  \nfilter By group\n![filters](img/show_by_group.jpg)\nfilter by Most Switched filter (most switched plugins)\n![most_switched](img/most-switched.jpg)\n\n- second window\n\n![most_switched](img/comfilters.jpg)\n\n\n## search bar\n\n- first window\n\n![search](img/searchbar.jpg)\n- second window\n\n![search](img/secondbar.png)\n![button](img/comotherbutton.png)\nthis button to do some additional things...\n\n## floating groups bar\n![search](img/groupbar.png)\n\n\n- you can **double click the name** to rename a group\n- you can **double click the icon** (before name) to add a delay to a group (plugins in group delayed at start)\n- you can hide a group, shortcut h, or in context menu\n- you can open a **context menu** on group name\n\n![search](img/groupcontext.png)\nin community plugin the behaviour is the same with some different options\n\n![search](img/commgroupcontext.png)\n\n## shortcut bar\n\nIn the first window\n![search](img/shortcuts.png)\nShortcut that you can press over a plugin name:  \nhere we have 4 groups so we can press 1,2,3,4 over a plugin to add a group.  \n0/del/suppr to delete group(s).   \nf to open the plugin folder  \ng to open the github repo\nctrl to open short plugin description  \ns plugin settings  \nh plugin hotkeys\ndouble click to add a delay on start to a plugin.  \n\nin commmunity plugins\n![search](img/comshortcuts.png)\nn to add a note of description. useful to remember things  \nctrl/dbl click to open the github readme.\n\n## plugin items\n\nFirst window\n![search](img/pluginitems.png)\n- we can see 4 groups added to the same plugin. 6 groups max are possible\n- a delay at start of 2 seconds. double click on the plugin name. and same to disable the delay\n- the green dashed line is on a plugin only enable on mobile platform. Useful when you share a vault on the cloud between different devices.\n- desktop only plugins are marked with a ᴰ\n![show_hotkey](img/desktopOnly.jpg)\n-context menu\n![contextmenu](img/contextmenu.png)\n\n\nSecond window\n![pluginitem](img/compluginitems.png)\n- the note button allow to create a note (then the button is green)\n![notes](img/notemodal.png)\nH1 are used to create each note in a same markdown file in your vault. You can choose the folder where this file will be in settings.\nTo delete a note, delete all its content.\n- double clicking or pressing ctrl over a block will open the readme\n![readme](img/readme.png)\n- context menu with install uninstall enable\n\n\n\n## videos\n\n-6- [youtube](https://youtu.be/-sPDQBTuEkc?si=uUKovOgOgnkdefyI) main presentation\n\n-5- add command to plugin to quickly switch it\n![add_command_to_plugin](gif/add_command_to_plugin.gif)\n\n-4- shortcuts helper\n![shortcuts helper](gif/shortcuts_helper.gif)\n\n-3- delay at start (feature request, inspired by \"plugin groups\")\n![demo_delay](gif/demo_delay.gif)\nupdate info will show only once\n\n-2- groups\n![Newvid](gif/multi-group-rename.gif)\n\n-1- first demo\n![vid](gif/demo.gif)  \n\n## Development (Add this to your README)\n\n### Optional (SASS):\nIf you add a `styles.scss` file to the `src` folder, it will automatically be converted to CSS when you run commands such as `npm run dev`.\n\n### Environment Setup\n\n- **Development in the plugins folder of your vault:**\n  - Set the `REAL` variable to `-1` in the `.env` file. This indicates that you are developing your plugin directly in the plugins folder of your vault.\n\n- **Development outside the vault:**\n  - If your plugin's source code is outside the vault, set the `REAL` variable to `0` in the `.env` file. In this case, the necessary files, including `main.js`, will be automatically copied to the vault during development. During the build process, the JS and CSS files will be generated in the folder containing your source code. You can then push to GitHub and create a release directly from this folder using the commands listed below.\n\n### Managing Vaults (IMPORTANT)\n\n- Two vault paths are defined in the `.env` file:\n  1. One for your **development vault** to protect your main vault.\n  2. One for your **main vault**, where you can perform a real installation.\n\n- Depending on the command executed, the `REAL` variable will take a different value and adapt to the corresponding path.\n\n### Available Commands\n\n- **`npm run dev` and `npm start`**: Used for development in your development vault. `npm start` opens Visual Studio Code, runs `npm install`, and then `npm run dev`, allowing for a quick start from the folder containing the source code.\n\n- **`npm run build`**: Builds the project in the folder containing the source code.\n\n- **`npm run real`**: Equivalent to a traditional installation of the plugin in your main vault. Note: `main.js` is generated via a build.\n\n- **`npm run bacp`**: After development and before creating a release. `b` stands for build, and `acp` stands for add, commit, push. You will be prompted for the commit message.\n\n- **`npm run acp`**: Performs add, commit, push without going through the build step.\n\n- **`npm run version`**: Asks for the type of version update, modifies the relevant files, and then performs an add, commit, push. It makes sense to run this after `bacp`.\n\n- **`npm run release`**: Asks for the release title and creates the release. This command works with the configurations in the `.github` folder. The title can be multiline by using `\\n`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3c0d%2Fobsidian-quick-plugin-switcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3c0d%2Fobsidian-quick-plugin-switcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3c0d%2Fobsidian-quick-plugin-switcher/lists"}