diff options
-rw-r--r-- | lib/notification/doc.go (renamed from notification/doc.go) | 0 | ||||
-rw-r--r-- | lib/notification/notify_darwin.go (renamed from notification/notify_darwin.go) | 0 | ||||
-rw-r--r-- | lib/notification/notify_linux.go (renamed from notification/notify_linux.go) | 0 | ||||
-rw-r--r-- | lib/notification/notify_unsupported.go (renamed from notification/notify_unsupported.go) | 0 | ||||
-rw-r--r-- | lib/notification/notify_windows.go (renamed from notification/notify_windows.go) | 0 | ||||
-rw-r--r-- | lib/open/doc.go | 4 | ||||
-rw-r--r-- | lib/open/open.go | 27 | ||||
-rw-r--r-- | lib/open/open_darwin.go | 25 | ||||
-rw-r--r-- | lib/open/open_windows.go | 29 | ||||
-rw-r--r-- | ui/view-main.go | 2 |
10 files changed, 86 insertions, 1 deletions
diff --git a/notification/doc.go b/lib/notification/doc.go index 05295c6..05295c6 100644 --- a/notification/doc.go +++ b/lib/notification/doc.go diff --git a/notification/notify_darwin.go b/lib/notification/notify_darwin.go index 1e09ef8..1e09ef8 100644 --- a/notification/notify_darwin.go +++ b/lib/notification/notify_darwin.go diff --git a/notification/notify_linux.go b/lib/notification/notify_linux.go index f8ecdaf..f8ecdaf 100644 --- a/notification/notify_linux.go +++ b/lib/notification/notify_linux.go diff --git a/notification/notify_unsupported.go b/lib/notification/notify_unsupported.go index 0b350e8..0b350e8 100644 --- a/notification/notify_unsupported.go +++ b/lib/notification/notify_unsupported.go diff --git a/notification/notify_windows.go b/lib/notification/notify_windows.go index d927ee1..d927ee1 100644 --- a/notification/notify_windows.go +++ b/lib/notification/notify_windows.go diff --git a/lib/open/doc.go b/lib/open/doc.go new file mode 100644 index 0000000..367ffb7 --- /dev/null +++ b/lib/open/doc.go @@ -0,0 +1,4 @@ +// Package open contains a simple cross-platform way to open files in the program the OS wants to use. +// +// Based on https://github.com/skratchdot/open-golang +package open diff --git a/lib/open/open.go b/lib/open/open.go new file mode 100644 index 0000000..3fde8e3 --- /dev/null +++ b/lib/open/open.go @@ -0,0 +1,27 @@ +// +build !windows,!darwin + +// gomuks - A terminal Matrix client written in Go. +// Copyright (C) 2018 Tulir Asokan +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package open + +import ( + "os/exec" +) + +func Open(input string) error { + return exec.Command("xdg-open", input).Start() +} diff --git a/lib/open/open_darwin.go b/lib/open/open_darwin.go new file mode 100644 index 0000000..9f53ef5 --- /dev/null +++ b/lib/open/open_darwin.go @@ -0,0 +1,25 @@ +// gomuks - A terminal Matrix client written in Go. +// Copyright (C) 2018 Tulir Asokan +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package open + +import ( + "os/exec" +) + +func Open(input string) error { + return exec.Command("open", input).Start() +} diff --git a/lib/open/open_windows.go b/lib/open/open_windows.go new file mode 100644 index 0000000..aced662 --- /dev/null +++ b/lib/open/open_windows.go @@ -0,0 +1,29 @@ +// gomuks - A terminal Matrix client written in Go. +// Copyright (C) 2018 Tulir Asokan +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package open + +import ( + "os/exec" +) + +const FileProtocolHandler = "url.dll,FileProtocolHandler" + +var RunDLL32 = filepath.Join(os.Getenv("SYSTEMROOT"), "System32", "rundll32.exe") + +func Open(input string) error { + return exec.Command(RunDLL32, FileProtocolHandler, input).Start() +} diff --git a/ui/view-main.go b/ui/view-main.go index a97f9b2..3a6c38d 100644 --- a/ui/view-main.go +++ b/ui/view-main.go @@ -29,9 +29,9 @@ import ( "maunium.net/go/gomuks/config" "maunium.net/go/gomuks/debug" "maunium.net/go/gomuks/interface" + "maunium.net/go/gomuks/lib/notification" "maunium.net/go/gomuks/matrix/pushrules" "maunium.net/go/gomuks/matrix/rooms" - "maunium.net/go/gomuks/notification" "maunium.net/go/gomuks/ui/messages" "maunium.net/go/gomuks/ui/widget" "maunium.net/go/tview" |