depot/third_party/nixpkgs/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch
Default email 87f9c27ba9 Project import generated by Copybara.
GitOrigin-RevId: fe2ecaf706a5907b5e54d979fbde4924d84b65fc
2023-04-12 14:48:02 +02:00

153 lines
5 KiB
Diff

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