From 6f3837588c0c3d737468d315010552b43a488911 Mon Sep 17 00:00:00 2001 From: jao Date: Sun, 28 Aug 2022 16:58:04 +0100 Subject: utils transient tweaks --- custom/jao-custom-email.el | 3 ++ init.el | 73 ++++++++++++++++++++++++++++------------------ 2 files changed, 47 insertions(+), 29 deletions(-) diff --git a/custom/jao-custom-email.el b/custom/jao-custom-email.el index 8465790..f35925b 100644 --- a/custom/jao-custom-email.el +++ b/custom/jao-custom-email.el @@ -264,6 +264,9 @@ (if jao-notmuch-enabled (bbdb-initialize 'message 'notmuch) (bbdb-initialize 'message 'pgp 'gnus))) + +(load "bbdb-loaddefs") + ;;; narrowing (defvar jao-mail-consult-buffer-history nil) diff --git a/init.el b/init.el index 9dea2ae..3e5d846 100644 --- a/init.el +++ b/init.el @@ -158,12 +158,12 @@ (jao-shell-def-exec jao-bright-set-up "brightnessctl" "-q" "s" "5%+") (jao-shell-def-exec jao-bright-set-down "brightnessctl" "-q" "s" "5%-") +(defun jao-brightness () + (string-trim (or (cadr (jao-shell-cmd-lines "brightnessctl")) "(Unknown)"))) + (defun jao-bright-show () (interactive) - (message "%s" (thread-first (jao-shell-string "brightnessctl") - (split-string "\n") - (cadr) - (string-trim)))) + (message "%s" (jao-brightness))) (defun jao-bright-up () (interactive) @@ -607,9 +607,14 @@ (use-package xmobar :init (setq xmobar-tab-bar t xmobar-tab-split "*" - xmobar-tab-bar-format '(xmobar-left-string - tab-bar-format-align-right - xmobar-right-string) + xmobar-tab-bar-format + (if window-system + '(xmobar-left-string + tab-bar-format-align-right + xmobar-right-string) + '(xmobar-left-string + xmobar-elastic-space + xmobar-right-string)) xmobar-command "xmobar-emacs")) ;;; Minibuffer @@ -2966,14 +2971,14 @@ (jao-consult-add-buffer-source 'jao-chat-buffer-source)) ;;; Multimedia ;;;; mixer -(defun jao-mixer-get-level (&optional dev) +(defun jao-mixer-get-level (&optional dev nomsg) (interactive) (let* ((dev (or dev "Master")) (s (shell-command-to-string (format "amixer sget %s" dev))) (s (car (last (split-string s "\n" t))))) (when (string-match ".*Front .*\\[\\([0-9]+\\)%\\] .*" s) (let ((level (match-string 1 s))) - (message "%s level: %s%%" dev level) + (unless nomsg (message "%s level: %s%%" dev level)) (string-to-number level))))) (defun jao-mixer-set (dev v) @@ -3039,12 +3044,13 @@ :commands jao-mpc-setup) (defvar jao-mopidy-port 6669) -(defvar jao-mpc-last-port nil) +(defvar jao-mpc-last-port jao-mpc-port) (defun jao-mpc-toggle-port () (interactive) - (setq jao-mpc-last-port (unless jao-mpc-last-port jao-mopidy-port) - jao-mpc-port jao-mpc-last-port)) + (setq jao-mpc-port + (if (equal jao-mpc-port jao-mopidy-port) 6600 jao-mopidy-port) + jao-mpc-last-port jao-mpc-port)) (defsubst jao-mpc-mopidy-p () (equal jao-mpc-last-port jao-mopidy-port)) @@ -3052,7 +3058,7 @@ (defun jao-mpc-pport (&optional mop) (cond ((or mop (jao-mpc--playing-p jao-mopidy-port)) jao-mopidy-port) - ((jao-mpc--playing-p) nil) + ((jao-mpc--playing-p) 6600) (t jao-mpc-last-port))) (defmacro jao-defun-play (name &optional mpc-name) @@ -3144,12 +3150,7 @@ ("K" "dislike" jao-streaming-dislike)]]) (transient-define-prefix jao-transient-media () - [:description - (lambda () - (format "[%s %s]\n" - (if (jao-mpc-mopidy-p) "mopidy" "mpd") - (jao-mpc--current-timestr t))) - ["Play" + [["Play" ("m" "toggle" jao-player-toggle) ("n" "next" jao-player-next) ("p" "previous" jao-player-previous) @@ -3164,15 +3165,23 @@ ("l" "show play list" jao-player-list) ("L" "show lyrics" jao-show-lyrics) ("w" "now playing" jao-player-echo)] - ["Master volume" - ("d" "master down" jao-mixer-master-down :transient t) - ("u" "master up" jao-mixer-master-up :transient t) - ("M" "master toggle" jao-mixer-master-toggle) - ("v" "show" jao-mixer-get-level)] - ["Capture volume" - ("D" "capture down" jao-mixer-capture-down :transient t) - ("U" "capture up" jao-mixer-capture-up :transient t) - ("V" "show" jao-player-level-cap)] + [:description + (lambda () + (message "%s %s" + (if (jao-mpc-mopidy-p) "mopidy" "mpd") + (jao-mpc--current-str nil t)) + (format "Master %s%%" (jao-mixer-get-level nil t))) + ("d" "down" jao-mixer-master-down :transient t) + ("u" "up" jao-mixer-master-up :transient t) + ("M" "toggle" jao-mixer-master-toggle) + ;; ("v" "show" jao-mixer-get-level) + ] + [:description + (lambda () (format "Capture %s%%" (jao-mixer-get-level "Capture" t))) + ("D" "down" jao-mixer-capture-down :transient t) + ("U" "up" jao-mixer-capture-up :transient t) + ;; ("V" "show" jao-player-level-cap) + ] ["Utilities" ("c" "reconnect to mpd" jao-player-connect) ("N" "next random album" jao-random-album-next) @@ -3230,7 +3239,13 @@ ("W" "set radom wallpaper" jao-set-random-wallpaper) ("X" "toggle xmobar" xmobar-mode :if jao-exwm-enabled-p) ("x" "restart xmobar" xmobar-restart :if jao-exwm-enabled-p) - ("x" "kill xmobar" jao-xmobar-kill :if jao-xmonad-enabled-p)] + ("x" "kill xmobar" jao-xmobar-kill :if jao-xmonad-enabled-p) + ("B u" (lambda () + (let ((b (jao-brightness))) + (format "bright up %s" (and (string-match ".*\\((.+)\\).*" b) + (match-string 1 b))))) + jao-bright-up :transient t) + ("B d" "bright down" jao-bright-down :transient t)] ["Helpers" ("r" "reveal" jao-reveal) ("k" (lambda () (concat "keyboard" (when (jao-kb-toggled-p) "*"))) -- cgit v1.2.3