From d4274f48c21e69e869f1b7187b5ca405415711a2 Mon Sep 17 00:00:00 2001 From: xiaoqidun Date: Fri, 30 Oct 2026 22:06:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=95=8C=E9=9D=A2=E8=AE=BE=E8=AE=A1):=20?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E4=BA=91=E6=AF=8D=E6=A0=87=E9=A2=98=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/webui/ofdgo.css | 6 ++++++ assets/webui/ofdgo.js | 1 + go.mod | 2 +- go.sum | 4 ++-- internal/webview/webview.go | 29 +++++++++++++++++------------ 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/assets/webui/ofdgo.css b/assets/webui/ofdgo.css index 701d793..ffc613d 100644 --- a/assets/webui/ofdgo.css +++ b/assets/webui/ofdgo.css @@ -198,6 +198,12 @@ user-select: none; } +:root[data-titlebar-material], +:root[data-titlebar-material] body, +:root[data-titlebar-material] .document-titlebar { + background: transparent; +} + .document-titlebar::before { content: ""; position: absolute; diff --git a/assets/webui/ofdgo.js b/assets/webui/ofdgo.js index 5218c1f..f0eb5f7 100644 --- a/assets/webui/ofdgo.js +++ b/assets/webui/ofdgo.js @@ -2649,6 +2649,7 @@ function isForegroundDocument(tab) { function applyTitleBarInfo(info) { if (!info || !info.height) return; workspace.titleBarReady = true; + document.documentElement.toggleAttribute("data-titlebar-material", info.material === 1); document.body.style.setProperty("--titlebar-height", `${info.height}px`); el.documentTitleBar.style.setProperty("--titlebar-left", `${info.left}px`); el.documentTitleBar.style.setProperty("--titlebar-right", `${info.right}px`); diff --git a/go.mod b/go.mod index 6f1fd53..9d9b0f9 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/go-text/typesetting v0.3.5 github.com/tdewolff/canvas v0.0.0-20260923214215-09804640d00c github.com/tdewolff/font v0.0.0-20261010204837-88a7f6b56918 - github.com/xiaoqidun/guigo v0.0.0-20261030045545-8b12eb7ed706 + github.com/xiaoqidun/guigo v0.0.0-20261030140441-3b9727e20970 github.com/xiaoqidun/j2kgo v1.0.2 github.com/xiaoqidun/jbig2 v1.1.8 github.com/xiaoqidun/pdfgo v0.0.0-20261026125713-90454771d5d0 diff --git a/go.sum b/go.sum index f52f081..178e9ae 100644 --- a/go.sum +++ b/go.sum @@ -60,8 +60,8 @@ github.com/tdewolff/parse/v2 v2.8.16 h1:bLk5svUOQRkW/Y2SJ+DeENSIkZBcTIkq+Atyv5D8 github.com/tdewolff/parse/v2 v2.8.16/go.mod h1:XdsoSFThlVIRIajAuqz1evNY7bagZS8LBOPA3aVopwQ= github.com/tdewolff/test v1.0.12 h1:7F21DqIajswxuche0geHdrUZRCWE4oko4b7bcmkkrxk= github.com/tdewolff/test v1.0.12/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= -github.com/xiaoqidun/guigo v0.0.0-20261030045545-8b12eb7ed706 h1:0QmFYCnRMw9mQ2MZLuFV1NMItMRcYJJQgGrxvPv0fg4= -github.com/xiaoqidun/guigo v0.0.0-20261030045545-8b12eb7ed706/go.mod h1:bXz+dPMVntPIVwePTTuMXt8Q0z1YoUGuROQSsXyUEfY= +github.com/xiaoqidun/guigo v0.0.0-20261030140441-3b9727e20970 h1:g5nk24YeEmkYkv0qysw0Re/BqDomBiNr/ltY9K2rrzc= +github.com/xiaoqidun/guigo v0.0.0-20261030140441-3b9727e20970/go.mod h1:bXz+dPMVntPIVwePTTuMXt8Q0z1YoUGuROQSsXyUEfY= github.com/xiaoqidun/j2kgo v1.0.2 h1:OAjjEOfaBaQzBNcj9wx+eM68UI5pewR6SzNZa1R1DIw= github.com/xiaoqidun/j2kgo v1.0.2/go.mod h1:DCwAfuDzCDYqUiAlZ7BDwigTjaXw7o9L1FtEma/D1aA= github.com/xiaoqidun/jbig2 v1.1.8 h1:dERPW7F8gs18a/DOD9gXHR3fP1Vl6KhCNsLnq5l3BIo= diff --git a/internal/webview/webview.go b/internal/webview/webview.go index ad165cb..e8da80f 100644 --- a/internal/webview/webview.go +++ b/internal/webview/webview.go @@ -1212,18 +1212,23 @@ func windowOptions(dataDir string) (guigo.Options, error) { if err != nil { return guigo.Options{}, err } + material := guigo.TitleBarSolid + if guigo.SupportsTitleBarMaterial(guigo.TitleBarMicaAlt) { + material = guigo.TitleBarMicaAlt + } return guigo.Options{ - AppID: appID, - Title: "OFDGo - OFD编辑器", - TitleBar: guigo.TitleBarContent, - TitleBarColors: themeColors(false), - Icon: icon, - Width: 1440, - Height: 900, - MinWidth: 360, - MinHeight: 240, - Center: true, - Maximized: true, - UserDataDir: dataDir, + AppID: appID, + Title: "OFDGo - OFD编辑器", + TitleBar: guigo.TitleBarContent, + TitleBarColors: themeColors(false), + TitleBarMaterial: material, + Icon: icon, + Width: 1440, + Height: 900, + MinWidth: 360, + MinHeight: 240, + Center: true, + Maximized: true, + UserDataDir: dataDir, }, nil }