;;; laptop-battery.el --- Display laptop battery information -*- lexical-binding: t -*- ;; Author: William Carroll ;; Version: 0.0.1 ;; Package-Requires: ((emacs "25.1")) ;;; Commentary: ;; Some wrappers to obtain battery information. ;; ;; To troubleshoot battery consumpton look into the CLI `powertop`. ;;; Code: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Roadmap ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; TODO: Support functions that work with reporting battery stats. ;; TODO: low-battery-reporting-threshold ;; TODO: charged-battery-reporting-threshold ;; TODO: Format modeline battery information. ;; TODO: Provide better time information in the modeline. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dependencies ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'battery) (require 'al) (require 'maybe) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Library ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun laptop-battery-available? () "Return t if battery information is available." (maybe-some? battery-status-function)) (defun laptop-battery-percentage () "Return the current percentage of the battery." (->> battery-status-function funcall (al-get 112))) (defun laptop-battery-print-percentage () "Return the current percentage of the battery." (interactive) (->> (laptop-battery-percentage) message)) (defun laptop-battery-display () "Display laptop battery percentage in the modeline." (interactive) (display-battery-mode 1)) (defun laptop-battery-hide () "Hide laptop battery percentage in the modeline." (interactive) (display-battery-mode -1)) (provide 'laptop-battery) ;;; laptop-battery.el ends here