From 5a6385c850de551392afccc5d5c89640dea3b0ed Mon Sep 17 00:00:00 2001 From: fuleyi Date: Fri, 30 Jan 2026 10:57:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dxdg-open=20=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=89=93=E5=BC=80=E6=96=87=E4=BB=B6=E5=90=8D=E4=B8=AD?= =?UTF-8?q?=E4=B8=8D=E5=B8=A6=E8=B7=AF=E5=BE=84=E7=9A=84=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dde-open 打开文件时,先判断本地是否存在,如果存在使用openfile打开 Log: 修复xdg-open 无法打开文件名中不带路径的文件 PMS: BUG-330887 Influence: dde-open --- dde-open/main.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dde-open/main.go b/dde-open/main.go index f07a9a9..291b9fe 100644 --- a/dde-open/main.go +++ b/dde-open/main.go @@ -50,6 +50,20 @@ func main() { os.Exit(1) } arg := flag.Arg(0) + + // 优先检查是否为本地文件路径 + // 如果文件存在,直接作为文件处理,避免文件名中的冒号被误判为 URL scheme + if _, err := os.Stat(arg); err == nil { + // 文件存在,直接打开 + err = openFile(arg) + if err != nil { + logger.Warning("open failed:", err) + os.Exit(2) + } + return + } + + // 文件不存在,尝试作为 URL 处理 var scheme string u, err := url.Parse(arg) if err != nil || u == nil {