在 macOS 的 DSH Desktop 里用 better-sidebar,发现右侧栏展开的时候 tab 条的关闭按钮和 + 经常点不动,多点几次偶尔能成,挺烦的。一开始以为是版本问题,从 0.18.0 升到 0.18.1 也一样。但同一套东西放到底部面板就完全正常,浏览器里也没问题,所以怀疑跟桌面壳有关。
查了下,DSH Desktop(macOS 无边框窗口)会在页面顶部注入一条透明的窗口拖拽区:
#dsh-desktop-drag-region {
position: fixed; top: 0; height: 24px;
left: 80px; right: 220px;
pointer-events: auto;
-webkit-app-region: drag;
}
右侧栏展开时 tab 条正好压在窗口最顶上(y≈0~34px),跟这条拖拽区重叠。Electron 的规矩是拖拽区里的控件收不到点击,必须在控件自己身上声明 -webkit-app-region: no-drag 才行。
现在 sidebar.module.css 里只给容器加了 no-drag(.toggleCluster / .toggleButton / .tabBar / .floatHeader),tab 条里面的 .tab、.tabClose、.tabBarPlus 这些叶子没有。容器豁免显然不够——之前 #103/#111 是给按钮本身加的 no-drag,所以右上角那个折叠簇修好了,tab 条一直没人管。底部面板的 tab 条在窗口中间、不在拖拽区里,所以不受影响,正好解释为什么只有侧边栏失灵。
本地把规则改成连 .tabBar * 一起豁免之后就好了,点 × 和 + 都正常,拖 tab 也没受影响。改动就一行:
.toggleCluster,
.toggleButton,
.tabBar,
.tabBar *,
.floatHeader {
-webkit-app-region: no-drag;
}
麻烦作者看下,谢谢。
在 macOS 的 DSH Desktop 里用 better-sidebar,发现右侧栏展开的时候 tab 条的关闭按钮和 + 经常点不动,多点几次偶尔能成,挺烦的。一开始以为是版本问题,从 0.18.0 升到 0.18.1 也一样。但同一套东西放到底部面板就完全正常,浏览器里也没问题,所以怀疑跟桌面壳有关。
查了下,DSH Desktop(macOS 无边框窗口)会在页面顶部注入一条透明的窗口拖拽区:
右侧栏展开时 tab 条正好压在窗口最顶上(y≈0~34px),跟这条拖拽区重叠。Electron 的规矩是拖拽区里的控件收不到点击,必须在控件自己身上声明
-webkit-app-region: no-drag才行。现在
sidebar.module.css里只给容器加了 no-drag(.toggleCluster / .toggleButton / .tabBar / .floatHeader),tab 条里面的.tab、.tabClose、.tabBarPlus这些叶子没有。容器豁免显然不够——之前 #103/#111 是给按钮本身加的 no-drag,所以右上角那个折叠簇修好了,tab 条一直没人管。底部面板的 tab 条在窗口中间、不在拖拽区里,所以不受影响,正好解释为什么只有侧边栏失灵。本地把规则改成连
.tabBar *一起豁免之后就好了,点 × 和 + 都正常,拖 tab 也没受影响。改动就一行:麻烦作者看下,谢谢。