一直都是用FVWM,而且是最简单的那种配置。各方面都很满意,就是在笔记本上不能知道
电池状态是个遗憾,今天总算彻底解决了这个问题,解决问题的思路是调用
sysctl读取电池装态。
BSD爱好者乐园mF!y9}&oK?5Intn5e issE$man 3 sysctl
BSD爱好者乐园2s#K:N2~9o8]g(} J4D$~3E@jb还是看man就可以了:) 主要关注 sysctlbyname方法,对于电池状态,我只读取以下两项,
BSD爱好者乐园9cj(Qf2{1r
QBSD爱好者乐园0u:y7c:k1cG*OE%Whw.acpi.battery.life
BSD爱好者乐园T_DW-^,m(nL Mhw.acpi.battery.state
BSD爱好者乐园6i%RXS9xl6x'Brn(s3G0\/O Hu顺便把系统时钟也显示出来,以替换原来使用的xclock。
nWG,Ai)Y'rD9L/P-Y1H8w,Jah
N@RC$dpv\-C1.pngCODE:BSD爱好者乐园l)W*X@h@
#include <stdio.h>BSD爱好者乐园YKgm\
aOS6[$l
#include <signal.h>BSD爱好者乐园
OX.c X#[{~
#include <unistd.h>
%h$Y;w\6p\Q#include <sys/time.h>BSD爱好者乐园4Y]7sYT
#include <sys/types.h>
1|Ks*TYk#M#include <sys/sysctl.h>
!}s0DlKAq5S
M-b];?(IOV/mI/Rvoid updateClock(int sig){
?
]^/C"q$C;Lsyq(zBSD爱好者乐园(W!\a/u6g%?!g
int life, state;BSD爱好者乐园1?Px.j0h8Mkh;u0N-M
size_t len = sizeof(int);BSD爱好者乐园uWkK6h{+m
sysctlbyname("hw.acpi.battery.life",&life,&len,NULL,0);BSD爱好者乐园 v|
m&pAO-| Ip w
sysctlbyname("hw.acpi.battery.state",&state,&len,NULL,0);
7u`T7J,^&ii} r