openurl_unix.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright (C) 2014 Jakob Borg and Contributors (see the CONTRIBUTORS file).
  2. //
  3. // This program is free software: you can redistribute it and/or modify it
  4. // under the terms of the GNU General Public License as published by the Free
  5. // Software Foundation, either version 3 of the License, or (at your option)
  6. // any later version.
  7. //
  8. // This program is distributed in the hope that it will be useful, but WITHOUT
  9. // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  11. // more details.
  12. //
  13. // You should have received a copy of the GNU General Public License along
  14. // with this program. If not, see <http://www.gnu.org/licenses/>.
  15. // +build !windows
  16. package main
  17. import (
  18. "os/exec"
  19. "runtime"
  20. "syscall"
  21. )
  22. func openURL(url string) error {
  23. switch runtime.GOOS {
  24. case "darwin":
  25. return exec.Command("open", url).Run()
  26. default:
  27. cmd := exec.Command("xdg-open", url)
  28. cmd.SysProcAttr = &syscall.SysProcAttr{
  29. Setpgid: true,
  30. }
  31. return cmd.Run()
  32. }
  33. }