habak的天气

桌面秀,不同桌面、不同风格。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

habak的天气

#1

帖子 eexpress » 2010-09-01 13:23

废弃了cairo2png.pl
nnnnnd

代码: 全选

☛ dog habak-w.pl 
`$ENV{HOME}/bin/weather.pl`;
$logf="/tmp/weather";
$icondir="$ENV{HOME}/媒体/分类主题图片▲/天气/";
chdir $icondir;
open REC,$logf; @_=<REC>; close REC;
$cmd="habak ~/.fvwm/desktop.jpg -mf ~/.fonts/字体/中文字体/方正粗宋简体.ttf -mh 16 ";
$year="";$month="";
$x0=100;$y0=100;$w0=150;$h0=50;
for (@_){
chomp;
($sign,$date,$weather,$temp,$wind)=split "\t",$_;
($y,$m,$d)=split "-",$date;
if($year==""){$year=$y;}elsif($year==$y){$y="";}else{$year=$y;}
if($month==""){$month=$m;}elsif($month==$m){$m="";}else{$month=$m;}
$y.="年" if($y);
$m.="月" if($m);
$d.="日";
if($sign eq ">"){$color="200,200,50,200";}elsif($sign eq "-"){$color="200,200,200,200";}else{$color="50,160,50,200";}
$y1=$y0;
$cmd.="-mc $color -mp $x0,$y1 -ht $m$d ";
$y1+=$h0;
$_=$weather; $x2=$x0+20; $y2=$y1+30;
s/小雨/10-小雨.png/;s/多云/26-多云.png/;s/晴/32-晴.png/;s/转/ -mp $x2,$y2 -hi /;s/阵雨/09-阵雨.png/;
$cmd.="-mp $x0,$y1 -hi $_ ";
$y1+=3.5*$h0; $_=$temp; s/°C/℃/g;
$cmd.="-mp $x0,$y1 -ht $_ ";
$y1+=$h0;
$cmd.="-mp $x0,$y1 -ht $wind ";
$x0+=$w0;
}
print $cmd;
`$cmd`;
附件
128图标太大。只显示当天的算了。其实,还有一套256的图标。
128图标太大。只显示当天的算了。其实,还有一套256的图标。
48.png
● 鸣学
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: habak的天气

#2

帖子 枫叶饭团 » 2010-09-01 13:28

dog. :em05 :em05
头像
snowtown86
帖子: 1239
注册时间: 2009-06-13 16:01

Re: habak的天气

#3

帖子 snowtown86 » 2010-09-01 13:32

那个小手,还有以前的小电话,都是怎么弄的呢?
头像
qiang_liu8183
论坛版主
帖子: 10701
注册时间: 2006-09-10 22:36
系统: Arch Debian
来自: 北京

Re: habak的天气

#4

帖子 qiang_liu8183 » 2010-09-01 14:10

8错 :em11
干不了大事就把小事干的大气点
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: habak的天气

#5

帖子 xiooli » 2010-09-01 14:23

habak 看起来很好玩的样子,不过 kde 的 plasma-desktop 覆盖了 root 窗口,郁闷 :em20
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: habak的天气

#6

帖子 eexpress » 2010-09-01 21:32

代码: 全选

☛ dog weather.pl 
$logf="/tmp/weather";
$term_color_cmd="s/^>/\e[1;33m/;s/^ /\e[0m/;s/^-/\e[32m/;";
@t=localtime(time);$today=($t[5]+1900)."-".($t[4]+1)."-".$t[3];
if(open(REC,$logf)){
@_=<REC>; close REC;
if(grep /^>\t$today/o,@_){              #是今天取得的现成数据。直接输出。
        for (@_){ eval $term_color_cmd; print; }
        exit;
        }
}
use LWP::Simple;
use Encode;
$_=get("http://qq.ip138.com/weather/hunan/ChangSha.wml");
if($_){
$_=encode("utf8",$_);
s/.*?(?=\d{4}-\d)//s;s/\n.*//s; #去掉头尾无用信息。
s/<br\/><br\/><b>/\n/g; s/<br\/>/\t/g; s/<\/b>//g; s/<b>//g;
s/℃/°C/g; s/~/-/g; s/\x0d/\n/g;
@_=split "\n",$_;
} else{
if(undef @_){exit;}     #无网页,无log。退出。
}
open REC,">$logf";
use Date::Parse qw/str2time/;
for (@_){
s/^.\t//;       #重读入的情况时,去掉原始的标记。
if (/$today/){
        $_=">\t$_";
}else{
        ($day,@t)=split "\t";
        @t=localtime str2time($day);    # 检查下星期
        if(($t[6]==0)||($t[6]==6)){
        $_="-\t$_";
        }else {$_=" \t$_";}
}
$_.="\n";
print REC;
eval $term_color_cmd; print;
}
close REC;
补下。复杂了点的。为了适合conky cairo term habak 4种环境应用的折中。。。
附件
38.png
● 鸣学
头像
adam8157
帖子: 2794
注册时间: 2009-03-05 16:31
联系:

Re: habak的天气

#7

帖子 adam8157 » 2010-09-01 22:15

强烈要求ee把所有的配置和脚本挂到github上

馋...
头像
东方不坏
帖子: 843
注册时间: 2007-04-05 3:09
系统: Deepin
来自: 身后某处
联系:

Re: habak的天气

#9

帖子 东方不坏 » 2010-09-02 10:05

很不错的样子。
[color=#FFFF00]东方不败[/color] 写了:
  • OS:Ubuntu14.10
  • CPU:Athlon II 651K
  • RAM:威刚DDR3 1600 4GX2双通道
  • 主板:GA-A75M-DS2
  • 硬盘:西数64M版 2T
  • 显卡:迅景6790
  • 显示器:LG W2242TP
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: habak的天气

#10

帖子 xiooli » 2010-09-06 17:45

靠,逼我用绝招使用svg做背景,用脚本改svg文件 :em11
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: habak的天气

#11

帖子 eexpress » 2010-09-06 21:27

加了个农历的。有人需要。

代码: 全选

$_=sprintf("/usr/bin/calendar -A 0 -t %04d%02d%02d",$y,$m,$d);
@lunar=`$_`;
$_=$lunar[0];chomp;s/^.*\d\s*//;$lunar[0]=$_;
.....
$cmd.="-mc $color -mp $x0,$y1 -ht \"$m$d - $lunar[0]\" ";

代码: 全选

☛ calendar 
 9月 06         廿八
 9月 07         廿九
 9月 08         白露
 9月 09         初二
 9月 10         教师节 (Teachers' Day), 2009
 9月 10         初三
 9月 11         初四
 9月 12         中秋节 (Mid-Autumn Festival), 2011
 9月 12         初五
 9月 13         初六
附件
56.png
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: habak的天气

#12

帖子 eexpress » 2010-09-06 21:31

● 鸣学
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: habak的天气

#13

帖子 roylez » 2010-09-09 21:16

看不下去了。蛋疼的神,满是"$$"的脚本。
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: habak的天气

#14

帖子 tusooa » 2010-09-17 17:34

农历,用LibLunar.搜索 lc-农历.py
你的那个,要自己下载的,这个不用。
天气,用谷歌的。搜索 wg-天气.perl
然后,这个太复杂,吾的可以放到conky里面用。

代码: 全选

] ls -ld //
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: habak的天气

#15

帖子 eexpress » 2010-09-25 10:28

代码: 全选

diff --git a/bin/weather.pl b/bin/weather.pl
index b209b3a..872608e 100755
--- a/bin/weather.pl
+++ b/bin/weather.pl
@@ -1,5 +1,9 @@
 #!/usr/bin/perl
 
+until($_[0]=~/^Server:/){
+@_=`nslookup -timeout=1 -retry=1 www.163.com`;
+}
+
 $logf="$ENV{HOME}/.weather";
 $conkyf="$ENV{HOME}/bin/conky/weather.txt";
加了几行。开机就等联网,再取网页。
● 鸣学
回复