about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch')
-rw-r--r--nixpkgs/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch153
1 files changed, 153 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch b/nixpkgs/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch
new file mode 100644
index 000000000000..2dac0993d590
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch
@@ -0,0 +1,153 @@
+From 47a700c64329f76ab91ac01d83a93f43bebe638b Mon Sep 17 00:00:00 2001
+From: rewine <lhongxu@outlook.com>
+Date: Sun, 9 Apr 2023 17:14:00 +0800
+Subject: [PATCH] avoid use hardcode path
+
+---
+ display/wayland.go            |  4 ++--
+ main.go                       | 10 +++++-----
+ misc/auto_launch/chinese.json |  4 ++--
+ session.go                    | 15 +++++++++------
+ 4 files changed, 18 insertions(+), 15 deletions(-)
+
+diff --git a/display/wayland.go b/display/wayland.go
+index b980425..e44342a 100644
+--- a/display/wayland.go
++++ b/display/wayland.go
+@@ -556,7 +556,7 @@ func (mm *kMonitorManager) applyByWLOutput(monitorMap map[uint32]*Monitor) error
+ 	
+ 	if len(args_enable) > 0 {
+ 		ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
+-		cmdline := exec.CommandContext(ctx, "/usr/bin/dde_wloutput", "set")
++		cmdline := exec.CommandContext(ctx, "dde_wloutput", "set")
+ 		cmdline.Args = append(cmdline.Args, args_enable...)
+ 		logger.Info("cmd line args_enable:", cmdline.Args)
+ 
+@@ -572,7 +572,7 @@ func (mm *kMonitorManager) applyByWLOutput(monitorMap map[uint32]*Monitor) error
+ 	}
+ 	if len(args_disable) > 0 {
+ 		ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
+-		cmdline := exec.CommandContext(ctx, "/usr/bin/dde_wloutput", "set")
++		cmdline := exec.CommandContext(ctx, "dde_wloutput", "set")
+ 		cmdline.Args = append(cmdline.Args, args_disable...)
+ 		logger.Info("cmd line args_disable:", cmdline.Args)
+ 
+diff --git a/main.go b/main.go
+index 77b4e78..30aa3fd 100644
+--- a/main.go
++++ b/main.go
+@@ -96,17 +96,17 @@ func shouldUseDDEKWin() bool {
+ 	}
+ 
+ end:
+-	_, err = os.Stat("/usr/bin/kwin_no_scale")
++        _, err = exec.LookPath("kwin_no_scale")
+ 	return err == nil
+ }
+ 
+ const (
+-	cmdKWin                = "/usr/bin/kwin_no_scale"
++	cmdKWin                = "kwin_no_scale"
+ 	cmdDdeSessionDaemon    = "/usr/lib/deepin-daemon/dde-session-daemon"
+-	cmdDdeDock             = "/usr/bin/dde-dock"
+-	cmdDdeDesktop          = "/usr/bin/dde-desktop"
++	cmdDdeDock             = "dde-dock"
++	cmdDdeDesktop          = "dde-desktop"
+ 	cmdLoginReminderHelper = "/usr/libexec/deepin/login-reminder-helper"
+-	cmdDdeHintsDialog      = "/usr/bin/dde-hints-dialog"
++	cmdDdeHintsDialog      = "dde-hints-dialog"
+ 
+ 	loginReminderTimeout    = 5 * time.Second
+ 	loginReminderTimeFormat = "2006-01-02 15:04:05"
+diff --git a/misc/auto_launch/chinese.json b/misc/auto_launch/chinese.json
+index 079a521..1856ab1 100644
+--- a/misc/auto_launch/chinese.json
++++ b/misc/auto_launch/chinese.json
+@@ -13,7 +13,7 @@
+     "Priority": 9,
+     "Group": [
+       {
+-        "Command": "/usr/bin/dde-file-manager",
++        "Command": "dde-file-manager",
+         "Wait": false,
+         "Args": [
+           "-d"
+@@ -39,7 +39,7 @@
+     "Priority": 7,
+     "Group": [
+       {
+-        "Command": "/usr/bin/dde-shutdown",
++        "Command": "dde-shutdown",
+         "Wait": false,
+         "Args": [
+           "-d"
+diff --git a/session.go b/session.go
+index 26f89ef..f412ca4 100644
+--- a/session.go
++++ b/session.go
+@@ -18,6 +18,7 @@ import (
+ 	"syscall"
+ 	"time"
+ 
++	"github.com/adrg/xdg"
+ 	"github.com/godbus/dbus"
+ 	"github.com/linuxdeepin/dde-api/soundutils"
+ 	daemon "github.com/linuxdeepin/go-dbus-factory/com.deepin.daemon.daemon"
+@@ -53,8 +54,10 @@ const (
+ 
+ 	xsKeyQtFontName     = "Qt/FontName"
+ 	xsKeyQtMonoFontName = "Qt/MonoFontName"
++)
+ 
+-	ddeLockDesktopFile = "/usr/share/applications/dde-lock.desktop"
++var (
++	ddeLockDesktopFile, _ = xdg.SearchDataFile("applications/dde-lock.desktop");
+ )
+ 
+ type SessionManager struct {
+@@ -90,7 +93,7 @@ type SessionManager struct {
+ }
+ 
+ const (
+-	cmdShutdown      = "/usr/bin/dde-shutdown"
++	cmdShutdown      = "dde-shutdown"
+ 	lockFrontDest    = "com.deepin.dde.lockFront"
+ 	lockFrontIfc     = lockFrontDest
+ 	lockFrontObjPath = "/com/deepin/dde/lockFront"
+@@ -471,7 +474,7 @@ func (m *SessionManager) SetLocked(sender dbus.Sender, value bool) *dbus.Error {
+ 		return dbusutil.ToError(err)
+ 	}
+ 
+-	if exe == "/usr/bin/dde-lock" {
++	if strings.Contains(exe, "dde-lock") {
+ 		m.setLocked(value)
+ 		return nil
+ 	}
+@@ -491,7 +494,7 @@ func (m *SessionManager) SetLocked(sender dbus.Sender, value bool) *dbus.Error {
+ 		return dbusutil.ToError(fmt.Errorf("desktop file %q is invalid", desktopFile))
+ 	}
+ 	exe = info.GetExecutable()
+-	if exe != "/usr/bin/dde-lock" {
++	if strings.Contains(exe, "dde-lock") {
+ 		return dbusutil.ToError(fmt.Errorf("exe %q of desktop file %q is invalid", exe, desktopFile))
+ 	}
+ 
+@@ -798,7 +801,7 @@ func setupEnvironments2() {
+ 	// man gnome-keyring-daemon:
+ 	// The daemon will print out various environment variables which should be set
+ 	// in the user's environment, in order to interact with the daemon.
+-	gnomeKeyringOutput, err := exec.Command("/usr/bin/gnome-keyring-daemon", "--start",
++	gnomeKeyringOutput, err := exec.Command("gnome-keyring-daemon", "--start",
+ 		"--components=secrets,pkcs11,ssh").Output()
+ 	if err == nil {
+ 		lines := bytes.Split(gnomeKeyringOutput, []byte{'\n'})
+@@ -1389,4 +1392,4 @@ func initXEventMonitor() {
+ 			setDPMSMode(true)
+ 		}
+ 	})
+-}
+\ No newline at end of file
++}
+-- 
+2.39.2
+