startdde/0002-uos-startdde-rm-redshift.patch
lvgenggeng b4e94e1dd1 upgrade to version 5.9.61
Signed-off-by: lvgenggeng <lvgenggeng@uniontech.com>
2024-06-18 17:12:40 +08:00

283 lines
6.9 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

diff -Nuar startdde-5.9.61/display/display.go startdde-5.9.61.new/display/display.go
--- startdde-5.9.61/display/display.go 2022-12-09 11:19:18.000000000 +0800
+++ startdde-5.9.61.new/display/display.go 2023-04-13 09:51:43.128038184 +0800
@@ -119,7 +119,7 @@
m.initTouchscreens()
if !_greeterMode {
- controlRedshift("disable")
+ //controlRedshift("disable")
m.applyColorTempConfig(m.DisplayMode)
}
diff -Nuar startdde-5.9.61/.history/display/display_20221209111917.go startdde-5.9.61.new/.history/display/display_20221209111917.go
--- startdde-5.9.61/.history/display/display_20221209111917.go 1970-01-01 08:00:00.000000000 +0800
+++ startdde-5.9.61.new/.history/display/display_20221209111917.go 2023-04-13 09:51:43.124036951 +0800
@@ -0,0 +1,131 @@
+// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package display
+
+import (
+ "errors"
+ "reflect"
+
+ "github.com/godbus/dbus"
+ sysdisplay "github.com/linuxdeepin/go-dbus-factory/com.deepin.system.display"
+ "github.com/linuxdeepin/go-lib/dbusutil"
+ "github.com/linuxdeepin/go-lib/log"
+)
+
+var logger = log.NewLogger("daemon/display")
+
+const (
+ dbusServiceName = "com.deepin.daemon.Display"
+ dbusInterface = "com.deepin.daemon.Display"
+ dbusPath = "/com/deepin/daemon/Display"
+)
+
+var _dpy *Manager
+
+var _greeterMode bool
+
+func SetGreeterMode(val bool) {
+ _greeterMode = val
+}
+
+type scaleFactorsHelper struct {
+ changedCb func(factors map[string]float64) error
+}
+
+// ScaleFactorsHelper 全局的 scale factors 相关 helper要传给 xsettings 模块。
+var ScaleFactorsHelper scaleFactorsHelper
+
+// 用于在 display.Start 还没被调用时,先由 xsettings.Start 调用了 ScaleFactorsHelper.SetScaleFactors, 缓存数据。
+var _scaleFactors map[string]float64
+
+func (h *scaleFactorsHelper) SetScaleFactors(factors map[string]float64) error {
+ if _dpy == nil {
+ _scaleFactors = factors
+ return nil
+ }
+ return _dpy.setScaleFactors(factors)
+}
+
+func (h *scaleFactorsHelper) GetScaleFactors() (map[string]float64, error) {
+ sysBus, err := dbus.SystemBus()
+ if err != nil {
+ return nil, err
+ }
+ sysDisplay := sysdisplay.NewDisplay(sysBus)
+ cfgJson, err := sysDisplay.GetConfig(0)
+ if err != nil {
+ return nil, err
+ }
+ var rootCfg struct {
+ Config struct {
+ ScaleFactors map[string]float64
+ }
+ }
+ err = jsonUnmarshal(cfgJson, &rootCfg)
+ if err != nil {
+ return nil, err
+ }
+ return rootCfg.Config.ScaleFactors, nil
+}
+
+func (h *scaleFactorsHelper) SetChangedCb(fn func(factors map[string]float64) error) {
+ h.changedCb = fn
+}
+
+func (m *Manager) setScaleFactors(factors map[string]float64) error {
+ logger.Debug("setScaleFactors", factors)
+ m.sysConfig.mu.Lock()
+ defer m.sysConfig.mu.Unlock()
+
+ if reflect.DeepEqual(m.sysConfig.Config.ScaleFactors, factors) {
+ return nil
+ }
+ m.sysConfig.Config.ScaleFactors = factors
+ err := m.saveSysConfigNoLock("scale factors changed")
+ if err != nil {
+ logger.Warning(err)
+ }
+ return err
+}
+
+func Start(service *dbusutil.Service) error {
+ m := newManager(service)
+ m.init()
+
+ if !_greeterMode {
+ // 正常 startdde
+ err := service.Export(dbusPath, m)
+ if err != nil {
+ return err
+ }
+
+ err = service.RequestName(dbusServiceName)
+ if err != nil {
+ return err
+ }
+ }
+ _dpy = m
+ return nil
+}
+
+func StartPart2() error {
+ if _dpy == nil {
+ return errors.New("_dpy is nil")
+ }
+ m := _dpy
+ m.initSysDisplay()
+ m.initTouchscreens()
+
+ if !_greeterMode {
+ controlRedshift("disable")
+ m.applyColorTempConfig(m.DisplayMode)
+ }
+
+ return nil
+}
+
+func SetLogLevel(level log.Priority) {
+ logger.SetLogLevel(level)
+}
diff -Nuar startdde-5.9.61/.history/display/display_20230413095143.go startdde-5.9.61.new/.history/display/display_20230413095143.go
--- startdde-5.9.61/.history/display/display_20230413095143.go 1970-01-01 08:00:00.000000000 +0800
+++ startdde-5.9.61.new/.history/display/display_20230413095143.go 2023-04-13 09:51:43.132039419 +0800
@@ -0,0 +1,131 @@
+// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package display
+
+import (
+ "errors"
+ "reflect"
+
+ "github.com/godbus/dbus"
+ sysdisplay "github.com/linuxdeepin/go-dbus-factory/com.deepin.system.display"
+ "github.com/linuxdeepin/go-lib/dbusutil"
+ "github.com/linuxdeepin/go-lib/log"
+)
+
+var logger = log.NewLogger("daemon/display")
+
+const (
+ dbusServiceName = "com.deepin.daemon.Display"
+ dbusInterface = "com.deepin.daemon.Display"
+ dbusPath = "/com/deepin/daemon/Display"
+)
+
+var _dpy *Manager
+
+var _greeterMode bool
+
+func SetGreeterMode(val bool) {
+ _greeterMode = val
+}
+
+type scaleFactorsHelper struct {
+ changedCb func(factors map[string]float64) error
+}
+
+// ScaleFactorsHelper 全局的 scale factors 相关 helper要传给 xsettings 模块。
+var ScaleFactorsHelper scaleFactorsHelper
+
+// 用于在 display.Start 还没被调用时,先由 xsettings.Start 调用了 ScaleFactorsHelper.SetScaleFactors, 缓存数据。
+var _scaleFactors map[string]float64
+
+func (h *scaleFactorsHelper) SetScaleFactors(factors map[string]float64) error {
+ if _dpy == nil {
+ _scaleFactors = factors
+ return nil
+ }
+ return _dpy.setScaleFactors(factors)
+}
+
+func (h *scaleFactorsHelper) GetScaleFactors() (map[string]float64, error) {
+ sysBus, err := dbus.SystemBus()
+ if err != nil {
+ return nil, err
+ }
+ sysDisplay := sysdisplay.NewDisplay(sysBus)
+ cfgJson, err := sysDisplay.GetConfig(0)
+ if err != nil {
+ return nil, err
+ }
+ var rootCfg struct {
+ Config struct {
+ ScaleFactors map[string]float64
+ }
+ }
+ err = jsonUnmarshal(cfgJson, &rootCfg)
+ if err != nil {
+ return nil, err
+ }
+ return rootCfg.Config.ScaleFactors, nil
+}
+
+func (h *scaleFactorsHelper) SetChangedCb(fn func(factors map[string]float64) error) {
+ h.changedCb = fn
+}
+
+func (m *Manager) setScaleFactors(factors map[string]float64) error {
+ logger.Debug("setScaleFactors", factors)
+ m.sysConfig.mu.Lock()
+ defer m.sysConfig.mu.Unlock()
+
+ if reflect.DeepEqual(m.sysConfig.Config.ScaleFactors, factors) {
+ return nil
+ }
+ m.sysConfig.Config.ScaleFactors = factors
+ err := m.saveSysConfigNoLock("scale factors changed")
+ if err != nil {
+ logger.Warning(err)
+ }
+ return err
+}
+
+func Start(service *dbusutil.Service) error {
+ m := newManager(service)
+ m.init()
+
+ if !_greeterMode {
+ // 正常 startdde
+ err := service.Export(dbusPath, m)
+ if err != nil {
+ return err
+ }
+
+ err = service.RequestName(dbusServiceName)
+ if err != nil {
+ return err
+ }
+ }
+ _dpy = m
+ return nil
+}
+
+func StartPart2() error {
+ if _dpy == nil {
+ return errors.New("_dpy is nil")
+ }
+ m := _dpy
+ m.initSysDisplay()
+ m.initTouchscreens()
+
+ if !_greeterMode {
+ //controlRedshift("disable")
+ m.applyColorTempConfig(m.DisplayMode)
+ }
+
+ return nil
+}
+
+func SetLogLevel(level log.Priority) {
+ logger.SetLogLevel(level)
+}