Gomuks has desktop notifications support through notify-send, but requires lib/notification/notify_openbsd.go in order for notification support to build and work on OpenBSD. These patches add that file, based on the lib/notification/notify_linux.go file.
This also makes Gomuks compatible with herbe, the daemon-less notification system [1], using the script that hijacks notify-send calls and passes them on to herbe [2].
[1] https://github.com/dudik/herbe/
[2] https://github.com/dudik/herbe/pull/10
-- Negate This
Index: lib/notification/notify_openbsd.go
--- lib/notification/notify_openbsd.go.orig
+++ lib/notification/notify_openbsd.go
@@ -0,0 +1,32 @@
+// gomuks - A terminal Matrix client written in Go.
+// Copyright (C) 2020 Tulir Asokan
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero 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 Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+package notification
+
+import "os/exec"
+
+func Send(title, text string, critical, sound bool) error {
+ args := []string{"-a", "gomuks"}
+ if !critical {
+ args = append(args, "-u", "low")
+ }
+ // if iconPath {
+ // args = append(args, "-i", iconPath)
+ // }
+ args = append(args, title, text)
+
+ return exec.Command("notify-send", args...).Run()
+}
Index: lib/notification/notify_unsupported.go
--- lib/notification/notify_unsupported.go.orig
+++ lib/notification/notify_unsupported.go
@@ -1,4 +1,4 @@
-// +build !linux,!darwin,!windows
+// +build !linux,!darwin,!windows,!openbsd
// gomuks - A terminal Matrix client written in Go.
// Copyright (C) 2020 Tulir Asokan
No comments:
Post a Comment