tvl-depot/users/wpcarro/emacs/.emacs.d/wpc/laptop-battery.el
William Carroll c1e381eecc refactor(wpcarro): Remove briefcase references
TL;DR:
- prefer WPCARRO env-var to BRIEFCASE
- remove repository URLs from Emacs libraries
- prefer tvl-depot-path where possible
- reduce the scope of constants.el
- prune (some not all) stale CI configuration

Change-Id: I21e9130402502ec6fa2fc4b46753c890069be62d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4545
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2021-12-24 01:46:31 +00:00

63 lines
1.9 KiB
EmacsLisp

;;; laptop-battery.el --- Display laptop battery information -*- lexical-binding: t -*-
;; Author: William Carroll <wpcarro@gmail.com>
;; 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