diff --git a/app/src/boot/onGetConfig.ts b/app/src/boot/onGetConfig.ts index 1f9fc94f3..5e384cd8c 100644 --- a/app/src/boot/onGetConfig.ts +++ b/app/src/boot/onGetConfig.ts @@ -126,7 +126,9 @@ export const onGetConfig = (isStart: boolean, app: App) => { window.siyuan.emojis = response.data as IEmoji[]; try { JSONToLayout(app, isStart); - adjustLayout(); + setTimeout(() => { + adjustLayout(); + }); // 等待 dock 中 !this.pin 的 setTimeout /// #if !BROWSER sendGlobalShortcut(app); /// #endif diff --git a/app/src/layout/util.ts b/app/src/layout/util.ts index ee6ad3fb2..743a32ae7 100644 --- a/app/src/layout/util.ts +++ b/app/src/layout/util.ts @@ -876,7 +876,8 @@ export const adjustLayout = (layout: Layout = window.siyuan.layout.centerLayout. } }); let lastItem: HTMLElement; - while (layout.element.scrollWidth > layout.element.clientWidth) { + let index = Math.floor(window.innerWidth / 24); + while (layout.element.scrollWidth > layout.element.clientWidth && index > 0) { layout.children.find((item: Layout | Wnd) => { if (item.element.style.width && item.element.style.width !== "0px") { item.element.style.maxWidth = Math.max(Math.min(item.element.clientWidth, window.innerWidth) - 8, 64) + "px"; @@ -886,6 +887,7 @@ export const adjustLayout = (layout: Layout = window.siyuan.layout.centerLayout. return true; } }); + index--; } if (lastItem) { lastItem.style.maxWidth = Math.max(Math.min(lastItem.clientWidth, window.innerWidth) - 8, 64) + "px";