;; Time-stamp: <2020-08-12 22:15:01 (user@hobbies)> (use-package tiny-menu :ensure t) ;; (eval-after-load "tiny-menu" ;; (progn ;; (defun hexl-input-smart () ;; (hexl-insert-char (0xc-string-to-number (read-string "Input: ")) 1)) ;; (setq tiny-menu-forever t ;; tiny-menu-items '(("hexl-menu" ;; ("hexl" ;; ((?i "Insert" hexl-input-smart) ;; (?b "Byte" hexl-forward-char) ;; (?e "bytE" hexl-backward-char) ;; (?s "Short" hexl-forward-short) ;; (?t "shorT" hexl-backward-short)))) ;; )))) ;; (add-hook 'hexl-mode-hook ;; (lambda () ;; (require '0xc) ;; (require 'tiny-menu) ;; (define-key hexl-mode-map (kbd "M-l") ;; (lambda () (interactive) (tiny-menu "hexl-menu"))))) (use-package pulseaudio-control :ensure t :bind ("C-x /" . (lambda () (interactive) (tiny-menu "pulseaudio-control-menu"))) :config (defun pulseaudio-control-tinymenu-header () (let ((words (split-string (pulseaudio-control--get-current-volume))) (mute (if (string-equal "yes" (cadr (split-string (pulseaudio-control--get-current-mute)))) "[mute]" ""))) (concat "PulseAudio " mute "(" (nth 4 words) " / " (nth 11 words) ")"))) (add-to-list 'tiny-menu-items '("pulseaudio-control-menu" (pulseaudio-control-tinymenu-header ((?+ "Vol+" pulseaudio-control-increase-volume "pulseaudio-control-menu") (?- "Vol-" pulseaudio-control-decrease-volume "pulseaudio-control-menu") (?? "Vol?" pulseaudio-control-display-volume) (?m "Mute" pulseaudio-control-toggle-current-sink-mute) (?e "Mute sink" pulseaudio-control-toggle-sink-mute-by-name) (?d "Use @DEF" pulseaudio-control-toggle-use-of-default-sink "pulseaudio-control-menu") (?n "Sink" pulseaudio-control-select-sink-by-name "pulseaudio-control-menu") (?p "Vol%" pulseaudio-control-set-volume))))))