diff options
-rw-r--r-- | src/utils/copynpaste.cpp | 11 | ||||
-rw-r--r-- | src/utils/process.cpp | 6 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/utils/copynpaste.cpp b/src/utils/copynpaste.cpp index 4e4f3c183..9506332d0 100644 --- a/src/utils/copynpaste.cpp +++ b/src/utils/copynpaste.cpp @@ -441,14 +441,21 @@ static bool runxsel(std::string& text, const char *p1, const char *p2) } close(fd[0]); } + + const char *const xselPath = +#if defined __OpenBSD__ || defined __FreeBSD__ || defined __DragonFly__ + "/usr/local/bin/xsel"; +#else + "/usr/bin/xsel"; +#endif if (p2) { - execl("/usr/bin/xsel", "xsel", p1, p2, + execl(xselPath, "xsel", p1, p2, static_cast<char *>(nullptr)); } else { - execl("/usr/bin/xsel", "xsel", p1, + execl(xselPath, "xsel", p1, static_cast<char *>(nullptr)); } diff --git a/src/utils/process.cpp b/src/utils/process.cpp index bb7488e33..d05c6a11a 100644 --- a/src/utils/process.cpp +++ b/src/utils/process.cpp @@ -260,6 +260,12 @@ bool openBrowser(std::string url) { return execFile("/usr/bin/open", "/usr/bin/open", url, ""); } +#elif defined __OpenBSD__ || defined __FreeBSD__ || defined __DragonFly__ +bool openBrowser(std::string url) +{ + return execFile("/usr/local/bin/xdg-open", + "/usr/local/bin/xdg-open", url, ""); +} #elif defined __linux__ || defined __linux bool openBrowser(std::string url) { |