Finer control of the Obsidian sidebars. To be used with an external window manager.

Overview

Sidebar Toggler

Finer control of the Obsidian sidebars. To be used with an external window manager.

What the plugin does

It adds four commands for toggling the sidebar. As opposed to Obsidian's native commands, which only allow toggling of the sidebars, you can explicitly determine whether to show or hide them.

  • Hide left sidebar
  • Hide right sidebar
  • Show left sidebar
  • Show right sidebar

In addition, the plugin registers four URI schemes for those commands:

obsidian://sidebar?side=left&show=false
obsidian://sidebar?side=right&show=false
obsidian://sidebar?side=left&show=true
obsidian://sidebar?side=right&show=true

Purpose of this plugin

The main use for this plugin is to provide a simple and clear method for window management apps to control Obsidian's sidebars. Just add something like open "obsidian://sidebar?side=left&show=false" to your window management configuration to have your window manager control Obsidian's sidebars.

I, for example, have configured to hide Obsidian's sidebars when I trigger a vertical split of my windows. When I maximize my Obsidian window, the sidebars are shown again.

For the macOS Automation app Hammerspoon, for example, such a function could look like this:

function toggleObsidianSidebar (obsiWin)
  local obsi_width = obsiWin:frame().w
  local screen_width = obsiWin:screen():frame().w
  if (obsi_width / screen_width > 0.6) then
  	hs.urlevent.openURL("obsidian://sidebar?side=left&show=true")
  else
  	hs.urlevent.openURL("obsidian://sidebar?side=left&show=false")
  end
end

Similar plugins

Hide Sidebars when Narrow shows/hides the sidebars automatically based on configurable pixel widths.

Installation

Right now, the plugin is still in beta. It can be installed with the BRAT Plugin.

When published, it will be available in Obsidian's Community Plugin Browser via: SettingsCommunity PluginsBrowse → Search for "Sidebar Toggler"

Contribute

Please use the .eslintrc configuration located in the repository and run eslint before doing a pull request, and please do not use prettier. 🙂

# Run eslint fixing most common mistakes
eslint --fix *.ts

About the Developer

In my day job, I am a sociologist studying the social mechanisms underlying the digital economy. For my PhD project, I investigate the governance of the app economy and how software ecosystems manage the tension between innovation and compatibility. If you are interested in this subject, feel free to get in touch!

Profiles

Donate

Buy Me a Coffee at ko-fi.com

If you feel very generous, you may also buy me something from my Amazon wish list. But please donate something to developers who still go to college, before you consider buying me an item from my wish list! 😊

Amazon wish list

You might also like...

This is a JavaScript leaderboad list app. In this project I used Webpack and ES6 modules. As well as HTML, and CSS for styling the app. When submitting the scores the data is preserved thanks to the external Leaderboard API service.

Leaderboard App In this project the leaderboard app allows you to create games and the user can submit their names and scores into the app to keep tra

Oct 26, 2022

A devtool improve your pakage manager use experience no more care about what package manager is this repo use; one line, try all.

pi A devtool improve your pakage manager use experience no more care about what package manager is this repo use; one line, try all. Stargazers over t

Nov 1, 2022

Meogic-tab-manager is an extensible, headless JavaScript tab manager framework.

Meogic-tab-manager is an extensible, headless JavaScript tab manager framework.

MeogicTabManager English document MeogicTabManager是一个有可拓展性的、headless的JavaScript标签页管理框架。 MeogicTabManager旨在提供可自由组装页面框架、自定义页面组件、甚至覆盖框架自带事件响应的开发体验。 Meogi

Oct 8, 2022

The Raspberry Pi + OpenScan Pi Shield can be used to control two independent stepper motors and a variety of different cameras

OpenScan2 Overview: The Raspberry Pi + OpenScan Pi Shield can be used to control two independent stepper motors and a variety of different cameras (Pi

Jan 3, 2023

The Au Pair is a platform used to give control to parents.

The Au Pair is a platform used to give control to parents.

The Au Pair is a platform used to give control to parents. The Au Pair will assist them in finding and interactng with suitable Au Pairs who will be looking after their children. It will allow parents to minimize efforts to find Au Pair’s, provide schedules for their children, and review their activities and behavior through feedback from the Au Pair.

Oct 22, 2022

Detects which package manager (bun, pnpm, yarn, npm) is used.

@skarab/detect-package-manager Detects which package manager (bun, pnpm, yarn, npm) is used based on the current working directory. Features Support p

Sep 3, 2022

An Obsidian plugin to paste Excel tables as Markdown tables in Obsidian editor.

An Obsidian plugin to paste Excel tables as Markdown tables in Obsidian editor.

Obsidian Excel to Markdown Table An Obsidian plugin to paste Excel tables as Markdown tables in Obsidian editor. Demo You can paste the copied Excel d

Jan 4, 2023

Obsidian-dataview-table-filter-menu - Dynamically created filter menu for dataview tables in obsidian

Dataview table Filter Menu for Obsidian Dynamically created filter menu for data

Sep 24, 2022

Obsidian-Snippet-collection - A collection of snippet to customize obsidian

Obsidian-Snippet-collection - A collection of snippet to customize obsidian

This repo is a collection of CSS snippets for Obsidian.md. To install them on PC

Dec 22, 2022
Comments
  • Roadmap: Title Editing for Popout Windows

    Roadmap: Title Editing for Popout Windows

    edit the title of popout windows, so window managers know that a window is a popout window. This would be helpful, to prevent the window manager from changing sidebars, when the popout-window was moved.


    Note: Since I rarely use popout window, this isn't high priority for me, so any PRs are welcome!

    help wanted good first issue 
    opened by chrisgrieser 0
Owner
pseudometa
Researcher in Sociology who also codes some small utilities in his leisure time.
pseudometa
Kyrillos Hany 14 Aug 10, 2022
Create sticky element in flexbox sidebars. it can use in Vanilla JS and frameworks like Vue and React

js sticky side simple sticky side with js that can use in frameworks like vue and react. notes it can be used just in flexbox grids. target element sh

milad nazari 10 Mar 3, 2022
A browser extension to simplify web pages and hide distracting things like hide cookie banners, auto-playing videos, sidebars, etc

Unclutter Browser Extension A browser extension to simplify web pages and hide distracting things like hide cookie banners, auto-playing videos, sideb

null 849 Jan 9, 2023
An extensible HTML DOM window manager with a professional look and feel

Wingman An extensible HTML DOM window manager with a professional look and feel. Installation Wingman only requires two files: wingman.css and wingman

nethe550 1 Jan 21, 2022
A plugin for Obsidian (https://obsidian.md) that adds a button to its search view for copying the Obsidian search URL.

Copy Search URL This plugin adds a button to Obsidian's search view. Clicking it will copy the Obsidian URL for the current search to the clipboard. T

Carlo Zottmann 6 Dec 26, 2022
This plugin for Obsidian enables you to quickly jump to internal and external links

Obsidian Quick Jump Plugin This plugin for Obsidian enables you to quickly jump to internal and external links. This plugin is inspired by Jump to lin

Tadashi Aikawa 9 Sep 24, 2022
Web based application that uses playerctl in it backend to control remotely your audio using the frontend as remote control.

Linux Remote This is a web based application that uses playerctl in it backend to control remotely your audio using the frontend as remote control. Do

Gabriel Guerra 4 Jul 6, 2022
A three.js and roslibjs powered web-control for zju fast-drone-250 for laptop-free flight control

Web Control for ZJU Fast-Drone-250 A three.js and roslibjs powered web-control for zju fast-drone-250 for laptop-free flight control (tested on Xiaomi

null 6 Nov 11, 2022
Identity APIs to used to generate DID documents for entities based on external identifiers.

Identity API This API is used to generate and decentralized identity documents for all entities that are stored in a registry. These documents contain

Verifiable Presentation Generation 5 Nov 24, 2022