From 86992a27cb2c1230eb53a70055ab20b024c60abd Mon Sep 17 00:00:00 2001 From: brahim <92426196+BrhmDev@users.noreply.github.com> Date: Wed, 25 Sep 2024 01:54:45 +0200 Subject: [PATCH] Always show 'resize' cursor when resizing zen sidebar. --- src/ZenSidebarManager.mjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ZenSidebarManager.mjs b/src/ZenSidebarManager.mjs index 3556b27..2f226b3 100644 --- a/src/ZenSidebarManager.mjs +++ b/src/ZenSidebarManager.mjs @@ -37,16 +37,17 @@ var gZenBrowserManagerSidebar = { Services.prefs.addObserver('zen.sidebar.enabled', this.handleEvent.bind(this)); document.querySelectorAll('.zen-sidebar-web-panel-splitter') - .forEach(s => s.addEventListener('mousedown', this.handleSplitter.bind(this))); + .forEach(s => s.addEventListener('mousedown', this.handleSplitterMouseDown.bind(this))); this.sidebarHeader.addEventListener('mousedown', this.handleDragPanel.bind(this)); this.handleEvent(); }, - handleSplitter(mouseDownEvent) { + handleSplitterMouseDown(mouseDownEvent) { if (this._isDragging) return this._isDragging = true; const isHorizontal = mouseDownEvent.target.getAttribute('orient') === 'horizontal'; + setCursor(isHorizontal ? 'n-resize' : 'ew-resize'); const reverse = ['left', 'top'].includes(mouseDownEvent.target.getAttribute('side')); const direction = isHorizontal ? "height" : "width"; const axis = isHorizontal ? "Y" : "X"; @@ -84,6 +85,7 @@ var gZenBrowserManagerSidebar = { document.addEventListener('mouseup', () => { document.removeEventListener('mousemove', mouseMove); this._isDragging = false; + setCursor('auto'); }, {once: true}); }, @@ -92,7 +94,6 @@ var gZenBrowserManagerSidebar = { return; } this._isDragging = true; - const wrapper = document.getElementById('zen-sidebar-web-panel-wrapper'); const startTop = this.sidebar.style.top?.match(/\d+/)?.[0] || 0; const startLeft = this.sidebar.style.left?.match(/\d+/)?.[0] || 0; @@ -106,7 +107,7 @@ var gZenBrowserManagerSidebar = { let top = mouseMoveEvent.screenY + topMouseOffset; let left = mouseMoveEvent.screenX + leftMouseOffset; - const wrapperBounds = wrapper.getBoundingClientRect(); + const wrapperBounds = this.sidebarWrapper.getBoundingClientRect(); top = Math.max(0, Math.min(top, wrapperBounds.height - sideBarHeight)); left = Math.max(0, Math.min(left, wrapperBounds.width - sideBarWidth));