From 73b0c48e054b14d83a39afa0be289e92ae6b498a Mon Sep 17 00:00:00 2001 From: ut000040 Date: Wed, 12 Mar 2025 10:50:51 +0800 Subject: [PATCH] fix: remove firefox dpi settings Firefox HiDPI has already adapted to GDK and Xft.dpi, so there is no need to set devPixelsPerPx anymore. --- xsettings/utils_dconfig.go | 4 ++ xsettings/utils_gsettings.go | 4 ++ xsettings/xsettings.go | 1 - xsettings/xsettings_dpi.go | 81 ------------------------------------ 4 files changed, 8 insertions(+), 82 deletions(-) diff --git a/xsettings/utils_dconfig.go b/xsettings/utils_dconfig.go index c0c3834e..f4818ba3 100644 --- a/xsettings/utils_dconfig.go +++ b/xsettings/utils_dconfig.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 - 2025 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package xsettings import ( diff --git a/xsettings/utils_gsettings.go b/xsettings/utils_gsettings.go index 9ccbe712..d4b432d0 100644 --- a/xsettings/utils_gsettings.go +++ b/xsettings/utils_gsettings.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 - 2025 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package xsettings import ( diff --git a/xsettings/xsettings.go b/xsettings/xsettings.go index 6cb716e6..97a24e5f 100644 --- a/xsettings/xsettings.go +++ b/xsettings/xsettings.go @@ -352,7 +352,6 @@ func Start(conn *x.Conn, recommendedScaleFactor float64, service *dbusutil.Servi } m.updateDPI() m.updateXResources() - go m.updateFirefoxDPI() err = service.Export(xsDBusPath, m) if err != nil { diff --git a/xsettings/xsettings_dpi.go b/xsettings/xsettings_dpi.go index 7247c0a9..60ba1363 100644 --- a/xsettings/xsettings_dpi.go +++ b/xsettings/xsettings_dpi.go @@ -6,12 +6,7 @@ package xsettings import ( "fmt" - "os" - "path" "strconv" - "strings" - - "github.com/linuxdeepin/go-lib/utils" ) const ( @@ -89,79 +84,3 @@ func (m *XSManager) updateXResources() { }, }) } - -var ffDir = path.Join(os.Getenv("HOME"), ".mozilla/firefox") - -func (m *XSManager) updateFirefoxDPI() { - scale := m.cfgHelper.GetDouble(gsKeyScaleFactor) - if scale <= 0 { - // firefox default value: -1 - scale = -1 - } - - configs, err := getFirefoxConfigs(ffDir) - if err != nil { - logger.Debug("Failed to get firefox configs:", err) - return - } - - for _, config := range configs { - err = setFirefoxDPI(scale, config, config) - if err != nil { - logger.Warning("Failed to set firefox dpi:", config, err) - } - } -} - -func getFirefoxConfigs(dir string) ([]string, error) { - finfos, err := os.ReadDir(dir) - if err != nil { - return nil, err - } - var configs []string - for _, finfo := range finfos { - config := path.Join(dir, finfo.Name(), "prefs.js") - if !utils.IsFileExist(config) { - continue - } - configs = append(configs, config) - } - return configs, nil -} - -func setFirefoxDPI(value float64, src, dest string) error { - contents, err := os.ReadFile(src) - if err != nil { - return err - } - lines := strings.Split(string(contents), "\n") - target := fmt.Sprintf("%s \"%.2f\");", ffKeyPixels, value) - found := false - for i, line := range lines { - if line == "" || line[0] == '#' { - continue - } - if !strings.Contains(line, ffKeyPixels) { - continue - } - - if line == target { - return nil - } - - tmp := strings.Split(ffKeyPixels, ",")[0] + ", " + - fmt.Sprintf("\"%.2f\");", value) - lines[i] = tmp - found = true - break - } - if !found { - if value == -1 { - return nil - } - tmp := lines[len(lines)-1] - lines[len(lines)-1] = target - lines = append(lines, tmp) - } - return os.WriteFile(dest, []byte(strings.Join(lines, "\n")), 0644) -}