diff options
author | jao <jao@gnu.org> | 2025-10-01 17:23:20 +0100 |
---|---|---|
committer | jao <jao@gnu.org> | 2025-10-01 17:23:50 +0100 |
commit | 3e96ae1ade23eee42b63ed047682b7cbf430f7d8 (patch) | |
tree | 886508504f2d17f9f717557b1e23fce5135dae3b /lib | |
parent | 1a54f3532dcd812b5b4c1c1ecfcf366d9aa10669 (diff) | |
download | elibs-3e96ae1ade23eee42b63ed047682b7cbf430f7d8.tar.gz elibs-3e96ae1ade23eee42b63ed047682b7cbf430f7d8.tar.bz2 |
jao-mpc tweaks (mainly notifications)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/doc/jao-mac.el | 9 | ||||
-rw-r--r-- | lib/eos/jao-notify.el | 31 | ||||
-rw-r--r-- | lib/media/jao-mpc.el | 15 |
3 files changed, 43 insertions, 12 deletions
diff --git a/lib/doc/jao-mac.el b/lib/doc/jao-mac.el index b9da4ab..06d6ad3 100644 --- a/lib/doc/jao-mac.el +++ b/lib/doc/jao-mac.el @@ -20,7 +20,7 @@ (require 'jao-shell) -;;; Applescript +;;; applescript (defun jao-mac-applescript-prepare (&rest lines) (let ((script (mapconcat 'identity lines "\r")) (start)) @@ -74,6 +74,13 @@ (format "keystroke %s" (or page 1)) "delay 0.1\rkeystroke return\rend tell"))) +;;; notifications + +(defun jao-mac-notify (title subtitle msg) + (jao-mac-run-applescript* + (format "display notification %S with title %S subtitle %S" + msg title subtitle))) + ;;; Skim (defvar jao-skim--current-file-script (jao-mac-applescript-prepare diff --git a/lib/eos/jao-notify.el b/lib/eos/jao-notify.el index 623b8cc..8389b3a 100644 --- a/lib/eos/jao-notify.el +++ b/lib/eos/jao-notify.el @@ -1,6 +1,6 @@ ;; jao-notify.el -- Interacting with notification daemon -;; Copyright (c) 2017, 2019, 2020, 2021, 2024 Jose Antonio Ortega Ruiz +;; Copyright (c) 2017, 2019, 2020, 2021, 2024, 2025 Jose Antonio Ortega Ruiz ;; Author: Jose Antonio Ortega Ruiz <jao@gnu.org> ;; Start date: Sun Jan 08, 2017 20:24 @@ -17,21 +17,30 @@ (defvar jao-notify-audio-icon (jao-data-file "music-player-icon.png")) (declare-function notifications-notify "notifications") +(declare-function alert "alert") +(declare-function jao-mac-notify "jao-mac") ;; "/usr/share/icons/Papirus/64x64/mimetypes/audio-x-generic.svg" ;; "/usr/share/icons/Tango/scalable/mimetypes/audio-x-generic.svg" -(defun jao-notify (msg &optional title icon) +(defun jao-notify (msg &optional title icon subtitle) (let ((title (when (and title (not (string-blank-p title))) title))) - (if jao-notify-use-messages - (message "%s%s%s" (or title "") (if title ": " "") (or msg "")) - (let* ((args `(:timeout ,jao-notify-timeout)) - (args (append args - (if title `(:title ,title :body ,msg) `(:title ,msg)))) - (args (if (and (stringp icon) (file-exists-p icon)) - (append args `(:app-icon ,(format "%s" icon))) - args))) - (apply 'notifications-notify args))))) + (cond ((eq jao-notify-use-messages t) + (message "%s%s%s" (or title "") (if title ": " "") (or msg ""))) + ((eq jao-notify-use-messages 'notification) + (let* ((args `(:timeout ,jao-notify-timeout)) + (args (append args + (if title + `(:title ,title :body ,msg) + `(:title ,msg)))) + (args (if (and (stringp icon) (file-exists-p icon)) + (append args `(:app-icon ,(format "%s" icon))) + args))) + (apply 'notifications-notify args))) + ((eq jao-notify-use-messages 'alert) + (alert msg :title title :icon icon :never-persist t)) + ((eq jao-notify-use-messages 'mac) + (jao-mac-notify title subtitle msg))))) (provide 'jao-notify) diff --git a/lib/media/jao-mpc.el b/lib/media/jao-mpc.el index 82c38ba..2dfec76 100644 --- a/lib/media/jao-mpc.el +++ b/lib/media/jao-mpc.el @@ -30,6 +30,7 @@ (require 'jao-themes) (require 'jao-lyrics) (require 'jao-random-album) +(require 'jao-notify) (defconst jao-mpc--albums "*MPC Albums*") (defconst jao-mpc--playlist "*MPC Playlist*") @@ -257,6 +258,20 @@ (message "Playing time: %s" (jao-mpc--current-timestr t))) ;;;###autoload +(defun jao-mpc-notify (&optional port) + (interactive) + (when-let* ((current (jao-mpc--current))) + (let* ((artist (alist-get 'artist current)) + (title (alist-get 'title current)) + (album (alist-get 'album current)) + (track (alist-get 'track current)) + (times (jao-mpc--current-timestr t current))) + (jao-notify (format "%s -- %s" artist times) + (format "%s %s" track title) + jao-notify-audio-icon + album)))) + +;;;###autoload (defun jao-mpc-add-url (url) (interactive "sURL: ") (jao-mpc--cmd (format "add %s" url))) |