Elisp之获取PC电池状态(二十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:在Emacs获取电池是否充电 、电池电量、电池剩余多长时间关机等状态。

2. V1.0 在mode line中设置显示电池状态

;;每次执行完,需要执行此句才能生效
(display-battery-mode 1);;显示电池百分比,剩余时间,是否充电状态.
(setq battery-mode-line-format " Bty:%p% [%t] %b")(setq battery-mode-line-format " Battery:%p% [%t] %L");;充电或放电的电流
(setq battery-mode-line-format " Battery:%r");;电流容量(mAh或mWh)
(setq battery-mode-line-format " Battery:%c")(setq battery-mode-line-format " Battery:%B");;显示电池百分比.
(setq battery-mode-line-format " Battery:%p%");;电池显示可用时间.
(setq battery-mode-line-format " Battery:%t");;是否充电状态:如果是充电显示:"on-line"; 没有充电,显示"off-line".
(setq battery-mode-line-format " Battery:%L");;如果是充电显示:"+"号; 没有充电,什么也不显示,耗电状态是:"-"号.
(setq battery-mode-line-format " Battery:%b");;充电预计在多长时间充满,可以用小时,分钟,秒来计算.
(setq battery-mode-line-format " Battery:%h %m %s")

3.battery-status-function方式获取电池状态

(battery-format battery-echo-area-format (funcall battery-status-function))

在这里插入图片描述

4.自定义获取PC电池各种状态

(funcall battery-status-function)参数解释

(funcall battery-status-function) 返回了一个关联列表,其中包含了关于电池状态的信息。每个键值对表示一个特定的属性和对应的值。
根据给出的键值对,这是对照表解释每个键的意义:

  • 99:电池剩余容量百分比
  • 114:电池当前功耗
  • 76:电源接入状态(“on-line” 表示接入电源,“off-line” 表示未接入电源)
  • 66:充电状态(“charging” 表示正在充电,“discharging” 表示未充电)
  • 98:电池充电等级符号(例如 “+” 表示正在充电,“-” 表示正在放电,“=” 表示已充满)
  • 100:估计的剩余时间(如果不可用,则为 “N/A”)
  • 112:电源插头状态(“0” 表示未插入电源插头,“1” 表示插入电源插头)
  • 115:电池电压
  • 109:最大电池容量
  • 104:电池温度

每个键对应的值则提供了相应属性的具体数值或状态,了解了键值以后,根据每个键值或电池的状态。

<1>.调用(funcall battery-status-function)查看键值

在这里插入图片描述

<2>. v1.0 获取电池电量、电池状态、冲电时间等状态

(display-battery-mode 1)
(defun display-battery-info ()(setq battery-info (funcall battery-status-function))(when battery-info(let ((battery-level (cdr (assoc 112 battery-info)))(battery-status (cdr (assoc 98 battery-info)))(battery-charge-time (cdr (assoc 116 battery-info)))(battery-power-consumption (cdr (assoc 114 battery-info)))(battery-charge-state (cdr (assoc 76 battery-info)))(battery-voltage (cdr (assoc 115 battery-info)))(battery-temperature (cdr (assoc 104 battery-info))))(message "电池电量:%s%% 电池状态:%s 冲电/剩余时间: %s 功耗:%s 充电状态:%s 电池电压:%s 电池温度:%s" battery-level battery-status battery-charge-time battery-power-consumption battery-charge-state battery-voltage battery-temperature))))(display-battery-info)

打印:

在这里插入图片描述

<3>. v2.0 获取电池电量、电池状态、冲电时间等状态

(display-battery-mode 1)
(funcall battery-status-function)
;;v1.0
(defun display-battery-info ()(setq battery-info (funcall battery-status-function))(when battery-info(let ((battery-level (cdr (assoc 112 battery-info)))(battery-status (cdr (assoc 98 battery-info)))(battery-charge-time (cdr (assoc 116 battery-info)))(battery-power-consumption (cdr (assoc 114 battery-info)))(battery-power-access (cdr (assoc 76 battery-info)))(battery-voltage (cdr (assoc 115 battery-info)))(battery-charge-state (cdr (assoc 66 battery-info)))	 )(message "电池电量:%s%% 电池符号:%s 冲电/剩余时间: %s 功耗:%s 电源插入状态:%s 电压:%s 充电状态:%s" battery-level battery-status battery-charge-time battery-power-consumption battery-power-access battery-voltage  battery-charge-state))))(display-battery-info)

<4>.head line最终状态

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/68900.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP Fiori 问题收集

事务代码篇 启动工作台&#xff1a;/N/UI2/FLP 错误日志&#xff1a; /n/IWFND/ERROR_LOG 服务清单&#xff1a; /n/IWFND/MAINT_SERVICE 创建语义对象&#xff1a;/N/UI2/SEMOBJ 创建目录&#xff1a;/N/UI2/FLPD_CONF&#xff08;cross-client&#xff09;或 /N/UI2…

OpenCV-Python中的图像处理-视频分析

OpenCV-Python中的图像处理-视频分析 视频分析Meanshift算法Camshift算法光流Lucas-Kanade Optical FlowDense Optical Flow 视频分析 学习使用 Meanshift 和 Camshift 算法在视频中找到并跟踪目标对象: Meanshift算法 Meanshift 算法的基本原理是和很简单的。假设我们有一堆…

Spring Security用户授权

用户认证在上一篇用户认证 用户授权 总体流程&#xff1a; 在SpringSecurity中&#xff0c;会使用默认的FilterSecurityInterceptor来进行权限校验。在FilterSecurityInterceptor中会从SecurityContextHolder获取其中的Authentication&#xff0c;然后获取其中的权限信息。…

idea中Maven报错Unable to import maven project: See logs for details问题的解决方法

idea中Maven报错Unable to import maven project: See logs for details问题的解决方法。 在查看maven的环境配置和idea的maven配置后&#xff0c;发现是idea 2020版本和maven 3.9.3版本的兼容性问题。在更改为Idea自带的maven 3.6.1版本后问题解决&#xff0c;能成功下载jar包…

word 应用 打不开 显示一直是正在启动中

word打开来显示一直正在启动中&#xff0c;其他调用word的应用也打不开&#xff0c;网上查了下以后进程关闭spoolsv.exe,就可以正常打开word了

AI绘画 | 一文学会Midjourney绘画,创作自己的AI作品(快速入门+参数介绍)

一、生成第一个AI图片 首先&#xff0c;生成将中文描述词翻译成英文 然后在输入端输入&#xff1a;/imagine prompt:Bravely running boy in Q version, cute head portrait 最后&#xff0c;稍等一会即可输出效果 说明&#xff1a; 下面的U1、U2、U3、U4代表的第一张、第二张…

AI Chat 设计模式:15. 桥接模式

本文是该系列的第十五篇&#xff0c;采用问答式的方式展开&#xff0c;问题由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 如果你是第一次接触桥接模式&#xff0c;那么你会有哪些疑问呢&#xff1f;A.1Q.2 什…

JavaScript(JavaEE初阶系列13)

目录 前言&#xff1a; 1.初识JavaScript 2.JavaScript的书写形式 2.1行内式 2.2内嵌式 2.3外部式 2.4注释 2.5输入输出 3.语法 3.1变量的使用 3.2基本数据类型 3.3运算符 3.4条件语句 3.5循环语句 3.6数组 3.7函数 3.8对象 3.8.1 对象的创建 4.案例演示 4…

广告ROI可洞察到订单转化率啦

toB广告营销人的一日三问&#xff1a; 如何实现线索增长&#xff1f;如何获取更多高质量线索&#xff1f;如何能用更少的钱拿到更多高质量的线索&#xff1f; < 广告营销的终极目标&#xff0c;就是提升ROI > 从ROI公式中&#xff0c;可以找到提升广告营销ROI的路径&…

爬楼梯(一次爬1或2层)

一&#xff0c;题目描述 二&#xff0c;解题思路 动态规划 动规五部曲&#xff1a; 1. 确认dp数组以及下标含义 2. 推导递推公式 3. 确认dp数组如何初始化 4. 确认遍历顺序 5. 打印dp数组 dp数组含义&#xff1a;到第i层的方法数目 下标含义&#xff1a;层数 递推公式&…

WebRTC | SDP详解

目录 一、SDP标准规范 1. SDP结构 2. SDP内容及type类型 二、WebRTC中的SDP结构 1. 媒体信息描述 &#xff08;1&#xff09;SDP中媒体信息格式 i. “artpmap”属性 ii. “afmtp”属性 &#xff08;2&#xff09;SSRC与CNAME &#xff08;3&#xff09;举个例子 &…

前后端分离------后端创建笔记(10)用户修改

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论&#xff0c;如有侵权请联系 源码&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…