From 52c55f8d089e8161fdfc14ac50b1afe6404b257b Mon Sep 17 00:00:00 2001 From: Pluto Date: Sun, 19 Apr 2026 12:18:49 +0530 Subject: [PATCH 1/4] chore: auto update API docs --- docs/API-Reference/command/Commands.md | 6 +++++ docs/API-Reference/view/WorkspaceManager.md | 30 +++++++++++++++++++++ src-node/package-lock.json | 4 +-- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/docs/API-Reference/command/Commands.md b/docs/API-Reference/command/Commands.md index ff8af1b778..b5ae5e4f04 100644 --- a/docs/API-Reference/command/Commands.md +++ b/docs/API-Reference/command/Commands.md @@ -452,6 +452,12 @@ Opens theme settings ## VIEW\_HIDE\_SIDEBAR Toggles sidebar visibility +**Kind**: global variable + + +## VIEW\_TOGGLE\_DESIGN\_MODE +Toggles the design (full live-preview) mode — collapses/expands the editor + **Kind**: global variable diff --git a/docs/API-Reference/view/WorkspaceManager.md b/docs/API-Reference/view/WorkspaceManager.md index 2a7f2db812..98a49cc6f5 100644 --- a/docs/API-Reference/view/WorkspaceManager.md +++ b/docs/API-Reference/view/WorkspaceManager.md @@ -28,6 +28,7 @@ Events: * [.EVENT_WORKSPACE_UPDATE_LAYOUT](#module_view/WorkspaceManager..EVENT_WORKSPACE_UPDATE_LAYOUT) * [.EVENT_WORKSPACE_PANEL_SHOWN](#module_view/WorkspaceManager..EVENT_WORKSPACE_PANEL_SHOWN) * [.EVENT_WORKSPACE_PANEL_HIDDEN](#module_view/WorkspaceManager..EVENT_WORKSPACE_PANEL_HIDDEN) + * [.EVENT_WORKSPACE_DESIGN_MODE_CHANGE](#module_view/WorkspaceManager..EVENT_WORKSPACE_DESIGN_MODE_CHANGE) * [.createBottomPanel(id, $panel, [minSize], [title], [options])](#module_view/WorkspaceManager..createBottomPanel) ⇒ Panel * [.destroyBottomPanel(id)](#module_view/WorkspaceManager..destroyBottomPanel) * [.createPluginPanel(id, $panel, [minSize], $toolbarIcon, [initialSize])](#module_view/WorkspaceManager..createPluginPanel) ⇒ Panel @@ -36,6 +37,8 @@ Events: * [.recomputeLayout(refreshHint)](#module_view/WorkspaceManager..recomputeLayout) * [.isPanelVisible(panelID)](#module_view/WorkspaceManager..isPanelVisible) ⇒ boolean * [.setPluginPanelWidth(width)](#module_view/WorkspaceManager..setPluginPanelWidth) + * [.isInDesignMode()](#module_view/WorkspaceManager..isInDesignMode) ⇒ boolean + * [.setDesignMode(active)](#module_view/WorkspaceManager..setDesignMode) * [.addEscapeKeyEventHandler(consumerName, eventHandler)](#module_view/WorkspaceManager..addEscapeKeyEventHandler) ⇒ boolean * [.removeEscapeKeyEventHandler(consumerName)](#module_view/WorkspaceManager..removeEscapeKeyEventHandler) ⇒ boolean @@ -86,6 +89,13 @@ Event triggered when a panel is shown. ### view/WorkspaceManager.EVENT\_WORKSPACE\_PANEL\_HIDDEN Event triggered when a panel is hidden. +**Kind**: inner constant of [view/WorkspaceManager](#module_view/WorkspaceManager) + + +### view/WorkspaceManager.EVENT\_WORKSPACE\_DESIGN\_MODE\_CHANGE +Event triggered when design mode (editor collapsed, full live preview) is +entered or exited. Payload: `(active: boolean)`. + **Kind**: inner constant of [view/WorkspaceManager](#module_view/WorkspaceManager) @@ -189,6 +199,26 @@ No-op if no panel is currently visible. | --- | --- | --- | | width | number | Desired content width in pixels | + + +### view/WorkspaceManager.isInDesignMode() ⇒ boolean +Returns true while the workspace is in design mode (editor collapsed and +live preview expanded to fill the editor area). + +**Kind**: inner method of [view/WorkspaceManager](#module_view/WorkspaceManager) + + +### view/WorkspaceManager.setDesignMode(active) +Sets the design-mode flag and fires EVENT_WORKSPACE_DESIGN_MODE_CHANGE when +the value actually changes. Intended to be called by the control bar; other +callers should use the dedicated toggle command instead. + +**Kind**: inner method of [view/WorkspaceManager](#module_view/WorkspaceManager) + +| Param | Type | +| --- | --- | +| active | boolean | + ### view/WorkspaceManager.addEscapeKeyEventHandler(consumerName, eventHandler) ⇒ boolean diff --git a/src-node/package-lock.json b/src-node/package-lock.json index af90c10333..fb219ba887 100644 --- a/src-node/package-lock.json +++ b/src-node/package-lock.json @@ -1,12 +1,12 @@ { "name": "@phcode/node-core", - "version": "5.1.7-0", + "version": "5.1.8-0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@phcode/node-core", - "version": "5.1.7-0", + "version": "5.1.8-0", "hasInstallScript": true, "license": "GNU-AGPL3.0", "dependencies": { From a1b575f9eb491b02b6c3da7c89ea92d536336724 Mon Sep 17 00:00:00 2001 From: Pluto Date: Sun, 19 Apr 2026 13:40:34 +0530 Subject: [PATCH 2/4] fix: scrollbar not appearing in live preview macos desktop --- src/styles/brackets_scrollbars.less | 87 ++++++++++++++++------------- 1 file changed, 47 insertions(+), 40 deletions(-) diff --git a/src/styles/brackets_scrollbars.less b/src/styles/brackets_scrollbars.less index 25bf78ef12..602a27f474 100644 --- a/src/styles/brackets_scrollbars.less +++ b/src/styles/brackets_scrollbars.less @@ -51,7 +51,7 @@ } ::-webkit-scrollbar-thumb { - box-shadow: none; + background-color: transparent; border: none; } @@ -67,7 +67,8 @@ :hover::-webkit-scrollbar-thumb, :focus::-webkit-scrollbar-thumb { border-radius: 999px; - box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.6) inset; + background-color: rgba(0, 0, 0, 0.6); + background-clip: padding-box; border: 2px solid transparent; } @@ -96,13 +97,14 @@ } &::-webkit-scrollbar-thumb { border-radius: 999px; - box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.6) inset !important; + background-color: rgba(0, 0, 0, 0.6) !important; + background-clip: padding-box !important; border: 2px solid transparent !important; } .dark & { &::-webkit-scrollbar-thumb { - box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.3) inset !important; + background-color: rgba(255, 255, 255, 0.3) !important; } } } @@ -116,7 +118,8 @@ } &::-webkit-scrollbar-thumb { border-radius: 999px; - box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.3) inset !important; + background-color: rgba(0, 0, 0, 0.3) !important; + background-clip: padding-box !important; border: 2px solid transparent !important; } @@ -125,76 +128,79 @@ background-color: @dark-bc-menu-bg !important; } &::-webkit-scrollbar-thumb { - box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.3) inset !important; + background-color: rgba(255, 255, 255, 0.3) !important; } } } .platform-linux, .platform-mac { // Note: when changing padding/margins, may need to adjust metrics in ScrollTrackMarkers.js + // Exclude iframes: WKWebView (Tauri macOS) doesn't render custom ::-webkit-scrollbar on + // iframe elements correctly, causing invisible scrollbars. Native scrollbar renders instead. - ::-webkit-scrollbar { + :not(iframe)::-webkit-scrollbar { width: 12px; height: 12px; } - ::-webkit-scrollbar-track:vertical { + :not(iframe)::-webkit-scrollbar-track:vertical { margin: 0 0 8px 0; } - ::-webkit-scrollbar-track:horizontal { + :not(iframe)::-webkit-scrollbar-track:horizontal { margin: 0 8px 0 0; } - ::-webkit-scrollbar-thumb { + :not(iframe)::-webkit-scrollbar-thumb { border-radius: 999px; - box-shadow: 0 0 0 5px @linux-scrollbar-thumb inset; + background-color: @linux-scrollbar-thumb; + background-clip: padding-box; border: 2px solid transparent; } - ::-webkit-scrollbar-corner { + :not(iframe)::-webkit-scrollbar-corner { background: none; } - ::-webkit-scrollbar-thumb:window-inactive { - box-shadow: 0 0 0 5px @linux-scrollbar-thumb-inactive inset; + :not(iframe)::-webkit-scrollbar-thumb:window-inactive { + background-color: @linux-scrollbar-thumb-inactive; } } .platform-win { // Note: when changing padding/margins, may need to adjust metrics in ScrollTrackMarkers.js - ::-webkit-scrollbar { + :not(iframe)::-webkit-scrollbar { width: 12px; height: 12px; background-color: transparent; } - ::-webkit-scrollbar:hover { + :not(iframe)::-webkit-scrollbar:hover { background-color: @win-scrollbar-track; } - ::-webkit-scrollbar-thumb { - box-shadow: 0 0 0 12px @win-scrollbar-thumb inset; + :not(iframe)::-webkit-scrollbar-thumb { + background-color: @win-scrollbar-thumb; } - .dragging ::-webkit-scrollbar-thumb, - ::-webkit-scrollbar-thumb:hover, - ::-webkit-scrollbar-thumb:focus { - box-shadow: 0 0 0 12px @win-scrollbar-thumb-hover inset; + .dragging :not(iframe)::-webkit-scrollbar-thumb, + :not(iframe)::-webkit-scrollbar-thumb:hover, + :not(iframe)::-webkit-scrollbar-thumb:focus { + background-color: @win-scrollbar-thumb-hover; } - ::-webkit-scrollbar-thumb:active { - box-shadow: 0 0 0 12px @win-scrollbar-thumb-active inset; + :not(iframe)::-webkit-scrollbar-thumb:active { + background-color: @win-scrollbar-thumb-active; } - ::-webkit-scrollbar-thumb:vertical { + :not(iframe)::-webkit-scrollbar-thumb:vertical { min-height: 20px; } - ::-webkit-scrollbar-thumb:horizontal { + :not(iframe)::-webkit-scrollbar-thumb:horizontal { min-width: 20px; } - ::-webkit-scrollbar-corner { + :not(iframe)::-webkit-scrollbar-corner { background: none; } } @@ -215,23 +221,23 @@ // Note: when changing padding/margins, may need to adjust metrics in ScrollTrackMarkers.js - ::-webkit-scrollbar { + :not(iframe)::-webkit-scrollbar { background-color: transparent; } - ::-webkit-scrollbar:hover { + :not(iframe)::-webkit-scrollbar:hover { background-color: rgba(15, 15, 15, .5); } - ::-webkit-scrollbar-thumb { - box-shadow: 0 0 0 12px rgb(49, 49, 49) inset; + :not(iframe)::-webkit-scrollbar-thumb { + background-color: rgb(49, 49, 49); } - ::-webkit-scrollbar-thumb:hover, - ::-webkit-scrollbar-thumb:focus { - box-shadow: 0 0 0 12px rgb(89, 89, 89) inset; + :not(iframe)::-webkit-scrollbar-thumb:hover, + :not(iframe)::-webkit-scrollbar-thumb:focus { + background-color: rgb(89, 89, 89); } - ::-webkit-scrollbar-thumb:active { - box-shadow: 0 0 0 12px rgb(169, 169, 169) inset; + :not(iframe)::-webkit-scrollbar-thumb:active { + background-color: rgb(169, 169, 169); } } @@ -241,12 +247,13 @@ background-color: transparent; } - ::-webkit-scrollbar-thumb { - box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.24) inset; + :not(iframe)::-webkit-scrollbar-thumb { + background-color: rgba(255, 255, 255, 0.24); } - ::-webkit-scrollbar-thumb:window-inactive { - box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.12) inset; + :not(iframe)::-webkit-scrollbar-thumb:window-inactive { + background-color: rgba(255, 255, 255, 0.12); } } } + From 27dc1f6315e80b72d3b5d0fd6d53d7c7900823d0 Mon Sep 17 00:00:00 2001 From: Pluto Date: Sun, 19 Apr 2026 14:55:37 +0530 Subject: [PATCH 3/4] fix: add transparent background to live preview --- src/extensionsIntegrated/Phoenix-live-preview/live-preview.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensionsIntegrated/Phoenix-live-preview/live-preview.css b/src/extensionsIntegrated/Phoenix-live-preview/live-preview.css index c1a00d0e26..a5a31dc45b 100644 --- a/src/extensionsIntegrated/Phoenix-live-preview/live-preview.css +++ b/src/extensionsIntegrated/Phoenix-live-preview/live-preview.css @@ -27,7 +27,7 @@ #panel-live-preview-frame, #panel-md-preview-frame { - background-color: white; + background-color: transparent; position: relative; } From 88679dddb87630fab998a0bb6bfb535312995ec7 Mon Sep 17 00:00:00 2001 From: Pluto Date: Sun, 19 Apr 2026 14:59:59 +0530 Subject: [PATCH 4/4] fix: live preview divider disappears when live preview width is very narrow --- src/extensionsIntegrated/Phoenix-live-preview/panel.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensionsIntegrated/Phoenix-live-preview/panel.html b/src/extensionsIntegrated/Phoenix-live-preview/panel.html index aa2b432843..91745f6392 100644 --- a/src/extensionsIntegrated/Phoenix-live-preview/panel.html +++ b/src/extensionsIntegrated/Phoenix-live-preview/panel.html @@ -62,7 +62,7 @@
-
+