Skip to content

Commit

Permalink
don't expand when making the window narrower, don't collapse when mak…
Browse files Browse the repository at this point in the history
…ing the window wider
  • Loading branch information
Ferenc Agócs committed Mar 1, 2022
1 parent 9367b45 commit ae6dac0
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 16 deletions.
38 changes: 25 additions & 13 deletions main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ const DEFAULT_SETTINGS: HideSidebarsWhenNarrowSettings = {

export default class HideSidebarsWhenNarrowPlugin extends Plugin {
settings: HideSidebarsWhenNarrowSettings;
previousWidth: number;

async onload() {
console.log('loading HideSideBarsWhenNarrowPlugin');
Expand All @@ -21,6 +22,7 @@ export default class HideSidebarsWhenNarrowPlugin extends Plugin {

const debouncedToggle = debounce(this.toggleSidebars.bind(this), 80);
this.app.workspace.onLayoutReady(() => {
this.previousWidth = window.innerWidth;
this.toggleSidebars();
this.registerDomEvent(window, 'resize', (_) => {
debouncedToggle();
Expand All @@ -30,20 +32,30 @@ export default class HideSidebarsWhenNarrowPlugin extends Plugin {

toggleSidebars() {
const width = window.innerWidth;
if (width < this.settings.leftMinWidth) {
!this.app.workspace.leftSplit.collapsed &&
this.app.workspace.leftSplit.collapse();
} else {
this.app.workspace.leftSplit.collapsed &&
this.app.workspace.leftSplit.expand();

if (width < this.settings.leftMinWidth &&
width < this.previousWidth &&
!this.app.workspace.leftSplit.collapsed) {
this.app.workspace.leftSplit.collapse();
}
else if (width > this.settings.leftMinWidth &&
width > this.previousWidth &&
this.app.workspace.leftSplit.collapsed) {
this.app.workspace.leftSplit.expand();
}
if (width < this.settings.rightMinWidth) {
!this.app.workspace.rightSplit.collapsed &&
this.app.workspace.rightSplit.collapse();
} else {
this.app.workspace.rightSplit.collapsed &&
this.app.workspace.rightSplit.expand();

if (width < this.settings.rightMinWidth &&
width < this.previousWidth &&
!this.app.workspace.rightSplit.collapsed) {
this.app.workspace.rightSplit.collapse();
}
else if (width > this.settings.rightMinWidth &&
width > this.previousWidth &&
this.app.workspace.rightSplit.collapsed) {
this.app.workspace.rightSplit.expand();
}

this.previousWidth = width;
}

async loadSettings() {
Expand All @@ -65,7 +77,7 @@ class SettingsTab extends PluginSettingTab {
}

display(): void {
let { containerEl } = this;
const { containerEl } = this;

containerEl.empty();

Expand Down
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "obsidian-hide-sidebars-when-narrow",
"name": "Hide Sidebars When Narrow",
"version": "1.0.2",
"version": "1.0.3",
"minAppVersion": "0.12.12",
"description": "Automatically hides the sidebars when your window is narrow.",
"author": "Michael Hanson",
Expand Down
2 changes: 0 additions & 2 deletions versions.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
{
"1.0.2": "0.12.12",
"1.0.1": "0.12.12",
"1.0.0": "0.12.12"
}

0 comments on commit ae6dac0

Please sign in to comment.