他丫的广电Cable猫上网又必须用Win-only客户端了,多次交涉无果,准备换电信联通的。
不开客户端只能随机地上一小部分网站,可喜的是包括google、is-programmer。开着网页代理能维持基本上网需要。
周末了无聊,就设计conky。连不上网缺乏素材啊缺乏素材~~~,所以也没设计啥高端功能:
下面是conkyrc,严重依赖我的硬件:
own_window yes
own_window_type desktop
own_window_transparent yes
own_window_argb_visual true
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
out_to_console no
use_xft yes
override_utf8_locale yes
xftfont Droid Sans Mono:size=10
update_interval 2
double_buffer yes
draw_shades no
draw_outline no
draw_borders no
stippled_borders 10
border_width 1
default_color white
default_shade_color white
default_outline_color white
alignment top_right
gap_x 12
gap_y 37
use_spacer left
no_buffers yes
TEXT
${image /usr/share/icons/Faenza/places/48/distributor-logo-archlinux.png -s 40x40 -p 0 0} ${color gray}${font Comic Sans MS:size=12}Welcome to use ${color #35a3da}Arch Linux${color} ^_-${font}${color}
${font Claire Hand:size=16}${color white}${nodename}${font}${alignr} ${color pink}${time %F %a %R}
${font where stars shine the brightest:size=32}${color white}Sensors ${hr}${font}${color grey}
CPU: ${execi 2000 cat /sys/bus/pci/drivers/k8temp/0000:00:18.3/temp1_input | head -c -4}/${execi 2000 cat /sys/bus/pci/drivers/k8temp/0000:00:18.3/temp3_input | head -c -4}°C ${alignr} Freq: ${freq}MHz
GPU:${nvidia temp}°C ${alignr} VCore: ${execi 2000 ~/.conky/getnum /tmp/.conky/hwmon/in0_input 3 1000}V
MB: ${execi 2000 ~/.conky/getnum /tmp/.conky/hwmon/temp2_input 0 1000}°C ${alignr} CPUFAN: ${execi 2000 cat /tmp/.conky/hwmon/fan2_input}RPM
${font where stars shine the brightest:size=32}${color white}CPU ${hr}${font}
${font Monaco:size=10}${color yellow}Load: ${loadavg} ${alignr} Usage: ${cpu 0}%${font}
${color grey}NAME PID CPU% TIME${color grey}
${top name 1} ${top pid 1} ${top cpu 1} ${top time 1}
${top name 2} ${top pid 2} ${top cpu 2} ${top time 2}
${top name 3} ${top pid 3} ${top cpu 3} ${top time 3}
${top name 4} ${top pid 4} ${top cpu 4} ${top time 4}
${font where stars shine the brightest:size=24}${color white}Memory & Swap ${hr}${font}
${font Monaco:size=10}${color yellow}$mem/$memmax($memperc%)${alignr}$swap/$swapmax($swapperc%)${font}
${color grey}NAME PID MEM% TIME${color grey}
${top_mem name 1} ${top_mem pid 1} ${top_mem mem 1} ${top time 1}
${top_mem name 2} ${top_mem pid 2} ${top_mem mem 2} ${top time 2}
${top_mem name 3} ${top_mem pid 3} ${top_mem mem 3} ${top time 3}
${top_mem name 4} ${top_mem pid 4} ${top_mem mem 4} ${top time 4}
${font where stars shine the brightest:size=30}${color white}Disk ${hr}${font}
${font Monaco:size=10}${color yellow}Read: ${diskio_read} ${alignr} Write: ${diskio_write} ${color grey}${font}
LABEL FREE TOTAL${alignr}USED
/ ${fs_free /} ${fs_size /}${alignr}${fs_used_perc /}%
VHD ${fs_free /mnt/VHD} ${fs_size /mnt/VHD}${alignr}${fs_used_perc /mnt/VHD}%
tmp ${fs_free /tmp} ${fs_size /tmp}${alignr}${fs_used_perc /tmp}%
${font where stars shine the brightest:size=30}${color white}Network ${hr}${font}
${font Monaco:size=10}${color yellow}IP - ${addr eth0}${color grey}${font}
Down: ${downspeed} (${totaldown})
Up: ${upspeed} (${totalup})
我的系统上有两个hwmon(监控硬件状态)设备,开机时内核分配的编号不确定,所以无法用conky的hwmon解决。就写了个脚本,在运行conky前先调用这个脚本,选择适当hwmon链接到一个固定目录:
#!/bin/sh
mkdir -p /tmp/.conky
rm -rf /tmp/.conky/hwmon
if [ -e "/sys/class/hwmon/hwmon0/name" ]; then
ln -s "/sys/class/hwmon/hwmon0" /tmp/.conky/hwmon
else
ln -s "/sys/class/hwmon/hwmon1" /tmp/.conky/hwmon
fi
工具getnum是用来从文本文件中读取数字的,用法是:getnum 文件 A B
,最后输出的结果是文件中读取的浮点数字N/B,保留A位输出。
在网上看到的例子是用cat和echo解决的,但我怕效率低,就自己写了个:
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
freopen(argv[1], "r", stdin);
if (argc != 4)
exit(1);
float num;
scanf("%f", &num);
num /= atoi(argv[3]);
char fm[8];
snprintf(fm, 8, "%%.%sf", argv[2]);
printf(fm, num);
return 0;
}