青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Onway

我是一只菜菜菜菜鳥...
posts - 61, comments - 56, trackbacks - 0, articles - 34

     摘要: 這個月里諸多不順,但還是一點一點翻完了這本書。自己做的筆記極少會看,算做個紀念咯。  閱讀全文

posted @ 2012-05-28 11:46 Onway 閱讀(682) | 評論 (0)編輯 收藏

(僅限個人理解,強烈歡迎指正!)
一,理解
1,限制常量是對某個常量進行數值上的大小規定。其值必定是一個數值,編譯時限制通常定義在<limits.h>頭文件中。
2,選項常量是用來決定對某項功能是否支持。其值也是一個數值,但通常是0,-1,1或者一個表示年月的數值又或者未定義其值。編譯時選項通常定義在<unistd.h>頭文件中。
3,功能測試宏用來在編譯時控制一些頭文件的版本。通常定義在<features.h>頭文件中。

二,編譯時常量的命名
1,POSIX的編譯時限制以_POSIX_前綴開頭,XSI編譯時限制以NL_或者_XOPEN_前綴開頭。特定系統實現的編譯時限制不帶前綴,對應于POSIX限制去掉前綴(其值應該比POSIX要大)。
2,選項用以表明是否對某個標準的某項功能的支持。其編譯時常量通常是以_POSIX_或者_XOPEN_做前綴。沒有特定系統實現的編譯時選項。
3,功能測試宏常量只是以下劃線_開頭,然后就沒什么規則了。功能測試宏只在編譯時使用。詳見man feature_test_macros。

三,運行時確定限制或選項的三個函數
1,如果某個限制或選項無法從編譯時確定,那就需要調用以下三個函數之一:sysconf,pathconf,fpathconf。后兩個函數是跟路徑相關的。
2,三個函數都需要一個整型常量參數,該參數命名規則為編譯時的常量名去掉前綴,加上_SC_或者_PC_(調用跟路徑相關的兩個函數)前綴。
3,注意其返回值,詳見函數的man手冊。

四,confstr函數和getconf命令
1,confstr用于獲取依賴于配置的字符串變量。其參數只有幾個,詳見man手冊。
2,getconf命令是用于查詢系統配置變量,即編譯時的限制和選項常量的值。該命令都可以查詢到confstr函數的字符串變量。

http://m.shnenglu.com/Onway/archive/2015/12/08/212438.html

posted @ 2012-03-26 22:37 Onway 閱讀(998) | 評論 (0)編輯 收藏

7,附1.0到1.1的更新說明:
a,單詞本使用了sqlite3數據庫
b,添加單詞會提示選擇單詞分類,可從~/.eyoudao/classify.txt進行修改,分類不能出現空格。
c,1.0的單詞本~/.eyoudao/wordsbook被廢棄,在該目錄下多了兩個文件classify.txt和wordbook.db
d,除了新添加的兩個文件之外,修改的只有eyoudao腳本,另添加了一個單詞本復習腳本review,并被連接到/usr/bin目錄下
8,單詞本復習腳本使用說明
a,復習分為三個模式,聽寫模式:只有發音,沒有單詞和釋義顯示;默寫模式:只有釋義顯示,可自行使用發音;問答模式:給出單詞,選擇是否記得釋義。
b,選定模式之后,是選擇復習的單詞,可按分類,加入時間,錯誤率三種或它們的組合進行選擇。
c,復習過程中,非問答模式下,錯誤之后,會重新復習該單詞,不會寫入數據庫,除非自行選擇跳過該單詞。
d,問答模式下,選擇忘記,會跳過該單詞,并寫入數據庫。

posted @ 2012-03-20 22:13 Onway 閱讀(761) | 評論 (4)編輯 收藏

其實在瀏覽器看到是正常的,但是通過goldendict訪問就不行了,主要表現是導航條工作不正常,不能隱藏,和頁面底下出現的一大片空白。如圖:
 




/Files/Onway/eyoudao-web.tar.gz.rar


gyd-server.c
#include <sys/types.h>
#include 
<sys/socket.h>
#include 
<sys/stat.h>
#include 
<unistd.h>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
#include 
<arpa/inet.h>
#include 
<fcntl.h>
#include 
<pthread.h>

#define PROT 10000
#define ADDRESS "127.0.0.1"
#define BACKLOG 20
#define BUFSIZE 4096

/*    互斥量,用于各個線程的標準輸出    */
pthread_mutex_t 
lock = PTHREAD_MUTEX_INITIALIZER;
struct clientinfo
{
    
int sockfd;    /*    客戶端套接字    */
    
int sockno;    /*    客戶端請求順序號    */
};

int create_server_socket();
void* handle_request(void*);
int send_dynamic(struct clientinfo*,char*);    /*    通過dynamic.bash返回的結果    */
int send_static(struct clientinfo*,char*);    /*    直接讀文件發送    */
void print_msg(int,const char*);            /*    標準輸出    */


int
main(
int argc,char *argv[])
{
    
int serverfd;
    
int count = 0;
    pthread_t ptid;
    
struct clientinfo *cinfo;

    
/*    創建監聽套接字    */
    serverfd 
= create_server_socket();
    
if (serverfd == -1) {
        printf(
"main(): terminate\n");
        
return -1;
    }

    
while (1) {
        cinfo 
= (struct clientinfo*) malloc (sizeof(struct clientinfo));
        cinfo
->sockfd = accept(serverfd,NULL,NULL);
        cinfo
->sockno = ++count;
        pthread_create(
&ptid,NULL,handle_request,(void*)cinfo);
    }

    
return 0;
}

int 
create_server_socket()
{
    
int tmpfd = socket(AF_INET,SOCK_STREAM,0);
    
if (tmpfd == -1) {
        printf(
"create_server_socket(): socket error\n");
        
return -1;
    }

    
struct sockaddr_in svraddr;
    bzero(
&svraddr,sizeof(svraddr));
    svraddr.sin_family 
= AF_INET;
    svraddr.sin_port 
= htons(PROT);
    svraddr.sin_addr.s_addr 
= inet_addr(ADDRESS);

    
if (bind(tmpfd,(struct sockaddr*)&svraddr,sizeof(svraddr)) == -1) {
        printf(
"create_server_socket(): bind error\n");
        
return -1;
    }

    
if (listen(tmpfd,BACKLOG) == -1) {
        printf(
"create_server_socket(): listen error\n");
        
return -1;
    }
    
    
return tmpfd;
}

void*
handle_request(
void *info)
{
    
struct clientinfo *cinfo = (struct clientinfo*) info;
    
char receive[BUFSIZE << 1= "";
    
char method[BUFSIZE] = "",request[BUFSIZE] = "";
    
char header[] = "HTTP/1.1 200 OK\r\nconnection:close\r\n\r\n";
    
int i;

    
if (recv(cinfo->sockfd,receive,BUFSIZE << 1,0< 0) {
        print_msg(cinfo
->sockno,"handle_request(): recv error");
        
return ( (void*0);
    }
    
/*    回應報頭    */
    write(cinfo
->sockfd,header,strlen(header));

    
/*    請求方法和參數的簡單檢測    */
    sscanf(receive,
"%s%s",method,request);
    
if (strcmp(method,"GET")) {
        print_msg(cinfo
->sockno,"handle_request(): method is not GET");
        
return ( (void*0);
    }

    
if (strlen(request) < 8) {
        print_msg(cinfo
->sockno,"handle_request(): unknow request");
        
goto end;
    }
    print_msg(cinfo
->sockno,receive);

    
/*    請求dynamic.bash    */
    
if (strncmp(request,"/action?",8== 0) {
        send_dynamic(cinfo,request);
        
goto end;
    }
    send_static(cinfo,request);

end:
    close(cinfo
->sockfd);
    free(cinfo);
    
return ( (void*0);
}

int
send_static(
struct clientinfo *cinfo,char *request)
{
    
int len = strlen(request);
    
char path[1024],buf[BUFSIZE];
    
int fd,bytes;
    
/*    忽略開頭的'/'符號    */
    sscanf(request,
"%*c%s",path);
    
    
/*    文件讀取    */
    fd 
= open(path,O_RDONLY);
    
if (fd == -1) {
        print_msg(cinfo
->sockno,"send_static(): open error");
        
return 1;
    }
    
while ((bytes = read(fd,buf,4096)) > 0) {
        write(cinfo
->sockfd,buf,bytes);
    }
    close(fd);
    
return 0;
}

int
send_dynamic(
struct clientinfo *cinfo,char *request)
{
    
char cmd[BUFSIZE],arg[1024],line[BUFSIZE];
    FILE 
*fpin;
    
/*    忽略action?    */
    sscanf(request,
"%*[^?]%*c%s",arg);
    sprintf(cmd,
"./dynamic.bash \"%s\"",arg);

    
/*    從popen返回的FILE指針讀取內容發送    */
    
int cnt = 0;
    
if ((fpin = popen(cmd,"r")) == NULL) {
        print_msg(cinfo
->sockno,"send_dynamic(): popen error");
        
return 1;
    }
    
while (fgets(line,BUFSIZE,fpin) != NULL) {
        write(cinfo
->sockfd,line,strlen(line));
    }
    pclose(fpin);
    
return 0;
}

void
print_msg(
int no,const char *msg)
{
    pthread_mutex_lock(
&lock);
    printf(
"request: %d\n%s\n\n",no,msg);
    pthread_mutex_unlock(
&lock);
}

dynamic.bash
#!/bin/bash

xmldetail
="http://dict.youdao.com/search?keyfrom=deskdict.main&xmlDetail=true&doctype=xml&xmlVersion=7.1&dogVersion=1.0&client=deskdict&appVer=5.0.32.4695&xslVer=3.0&q="
xsldetail
="detail/result.xsl"
xmlsimple
=""
xslsimple
=""

check_in_book() {
    # 截斷開頭結尾的空格,將中間的連續空格換成一個空格
    word
="`echo $1 | sed 's/^\(%20\)\+//g' | sed 's/\(%20\)\+$//g' | sed 's/\(%20\)\+/ /g'`"
    cut 
-';' -1 wordsbook | grep -"^$word$"
    [ $
? == 0 ] && echo 1 || echo 0
}

add_to_book() {
    word
="`echo $1 | sed 's/^\(%20\)\+//g' | sed 's/\(%20\)\+$//g' | sed 's/\(%20\)\+/ /g'`"
    t
="`date +'%y-%m-%d %H:%M'`"
    echo 
"$word;$t;" >> wordsbook
    echo 
1
}

send_response() {
    # $1為:inbook
=queryword或者detail=queryword等形式
action
=${1%=*}
target
=${1#*=}

case $action in
    
"inbook")
        check_in_book 
"$target"
        ;;
    
"tobook")
        add_to_book 
"$target"
        ;;
    
"detail")
        .
/xslt "-xmlapi" "$xmldetail" "-xslapi" "$xsldetail" "-keyword" "$target" | sed '$d' 
        ;;
    
"simple")
        ;;
    
*)
        exit 
1
        ;;
esac
}

send_response 
"$1"
exit 
0

posted @ 2012-03-17 17:38 Onway 閱讀(1251) | 評論 (0)編輯 收藏

下載:/Files/Onway/eyoudao-1.0.tar.gz.rar(不是rar文件,要刪了rar后綴)
依然期待各路神牛的更改。




linux環境goldendict詞典的有道擴展程序eyoudao 1.0使用說明
(從第一版的youdaodict重新命名為eyoudao,版本為1.0,基于windows有道詞典的5.0.32.4695版本)


一,安裝:
1,安裝goldendict和兩個函數庫(goldendict版本可能要求1.0.1以上才能使用擴展程序):
sudo apt-get install goldendict libxml2-dev libxslt1-dev

2,然后eyoudao目錄下:
make
sudo make install

3,最后打開goldendict詞典,菜單欄的編輯選項 -> Dictionaries -> 詞典來源 -> Programs
添加一欄:
-    Html    eyoudao-detail    eyoudao -detail "%GDWORD%"


二,卸載:
1,在/opt/eyoudao目錄下執行:
sudo make uninstall
即可。
2,注意,在$HOME目錄下的.eyoudao隱藏文件夾不會被刪除,內含單詞本wordsbook和一個臨時查詢文件query.tmp。


三,關于很多的bugs:
1,保存單詞的時候,會導致goldendict在該單詞前加上~后重新查詢。這會影響其他詞典的使用。
2,eyoudao-simple沒有做了。個人2M的聯通寬帶,感覺速度還能接受。
3,查詢單詞出現's結尾的時候,看到返回的單詞是錯誤的,無法添加到單詞本。
其實這個錯誤在dict.youdao.com都是一樣的,但what's和it's這些就沒錯。
4,如果還遇到各種的bugs,莫要驚慌,自己動手修改。



四,版權聲明:
xml數據和各種xsl,js,css,png文件都是修改或源自windows的有道詞典安裝文件,使用時注意版權問題。
xslt是仿照官網的一個demo改寫的。
本擴展程序僅供學習交流之用。


五,關于本程序:
eyoudao 1.0 By Onway 2012-03-16
debug yourself or report to
aluohuai@126.com
m.shnenglu.com/onway


六,有道詞典安裝文件的大致修改過程:
1,在windows有道詞典的安裝目錄resultui下,拷貝出來三個文件夾:css,js,images,兩個文件result.xsl和commonfile.xsl
2,js目錄將all-min.js解壓為default.js,刪除wordBook.js
3,commonfile.xsl的修改:
    a,將聲音播放相關的函數調用改掉參數為this.getAttribute('ref')
    b,刪掉報錯顯示(不太厚道啊!)和flash檢測
    c,將所有的關于css/和images/目錄文件的引用改為本地文件協議的絕對路徑
    d,去掉所有app:.*:
4,result.xsl的修改:
    a,以本地文件協議的絕對路徑加入default.css和default.js的引用
    b,加入<audio>標簽用作發音
    c,將所有的app:.*:去掉
    d,結尾加入一段javascript,調用三個函數
5,default.js的修改
    a,加入全局變量INBOOK
    b,ctlog函數直接返回false
    c,修改所有window.external.loadString和window.external.saveString
    d,將deskdict_main修改為results
    e,注釋掉window.selection.empty
    f,playVoice函數更改內容
    g,isFlashReady函數直接返回true
    h,注釋掉GetAdsByTimer函數的調用
    i,注釋掉dict.ugc.init的調用
    j,在toggleFav函數加入一段關于本地單詞本的代碼
6,更詳細的修改參見detail/diff-patch目錄下的patch文件。


7,附:
其實為了保存單詞,我還寫了一個100行多點的多線程網絡程序,以利用ajax跟本地程序通信。
但很郁悶的是,goldendict以訪問網站得來的結果顯示的時候有些bug。導航條不能用了,頁面低下出現一大片空白。
從goldendict保存出來的html文件跟在瀏覽器看到明顯不一樣。
我之所以確定是goldendict的問題,是因為我試過將改好的網頁文件從apache服務器發回goldendict都是出現同樣的問題。
而從瀏覽器訪問apache服務器則是正常的。

posted @ 2012-03-17 01:04 Onway 閱讀(4290) | 評論 (3)編輯 收藏

/Files/Onway/free-rooms.bash.txt

#!/bin/bash

# 查詢學校空閑的教室
# 原理:空閑的教室 
= 整個學期開課的課室 - 查詢時間開課的課室
# 如果服務器查詢參數不變,一個學期只需更新一次
# good good study , day day up 
!
# Onway 
2012-03-09    aluohuai@126.com

roomline
=10
rooms
="黃浩川教學樓101 黃浩川教學樓102 黃浩川教學樓103 黃浩川教學樓104 黃浩川教學樓201 黃浩川教學樓202 黃浩川教學樓203 黃浩川教學樓204 黃浩川教學樓301 黃浩川教學樓302 黃浩川教學樓303 黃浩川教學樓304 黃浩川教學樓401 黃浩川教學樓402 黃浩川教學樓403 黃浩川教學樓404 黃浩川教學樓501 黃浩川教學樓502 黃浩川教學樓503 黃浩川教學樓504 黃浩川樓101 黃浩川樓102 黃浩川樓104 黃浩川樓105 黃浩川樓209 黃浩川樓303 黃浩川樓304 黃浩川樓305 黃浩川樓402 黃浩川樓403 黃浩川樓404 黃浩川樓405 繼續教育學院101 繼續教育學院103 繼續教育學院201 繼續教育學院203 繼續教育學院205 繼續教育學院206 繼續教育學院301 繼續教育學院303 繼續教育學院306 繼續教育學院403 繼續教育學院405 繼續教育學院407 繼續教育學院505 黎耀華樓108 黎耀華樓212 黎耀華樓306 黎耀華樓313 黎耀華樓402 黎耀球樓301 陸佑圖書館301 陸佑圖書館302 馬蘭芳教學樓101 馬蘭芳教學樓102 馬蘭芳教學樓103 馬蘭芳教學樓104 馬蘭芳教學樓201 馬蘭芳教學樓202 馬蘭芳教學樓203 馬蘭芳教學樓204 馬蘭芳教學樓301 馬蘭芳教學樓302 馬蘭芳教學樓303 馬蘭芳教學樓304 馬蘭芳教學樓401 馬蘭芳教學樓402 馬蘭芳教學樓403 馬蘭芳教學樓404 馬蘭芳教學樓501 馬蘭芳教學樓502 馬蘭芳教學樓503 馬蘭芳教學樓504 體育館101 體育館102 體育館103 體育館104 體育館105 體育館106 體育館107 體育館108 體育館109 體育館110 體育館111 體育館131 體育館132 體育館133 體育館135 體育館136 體育館137 體育館138 體育館139 體育館140 新會樓404 主樓101 主樓201 主樓202 主樓212 主樓213 主樓239 主樓240 主樓249 主樓250 主樓356 主樓401 主樓402 主樓405 主樓406 主樓417 主樓418 主樓421 主樓422 主樓423 主樓427 主樓429 主樓439 主樓441 主樓445 主樓457 主樓458 主樓470 主樓473 主樓501 主樓505 主樓524 主樓525 主樓533 主樓539 主樓541 主樓543 主樓545 主樓549 主樓552 主樓554 主樓556 主樓559 主樓560 主樓562 主樓575 綜合實驗大樓103 綜合實驗大樓201 綜合實驗大樓202 綜合實驗大樓203 綜合實驗大樓204 綜合實驗大樓205 綜合實驗大樓206 綜合實驗大樓212 綜合實驗大樓213 綜合實驗大樓214 綜合實驗大樓302 綜合實驗大樓303 綜合實驗大樓305 綜合實驗大樓306 綜合實驗大樓307 綜合實驗大樓310 綜合實驗大樓402 綜合實驗大樓403 綜合實驗大樓404 綜合實驗大樓405 綜合實驗大樓406 綜合實驗大樓407 綜合實驗大樓416 綜合實驗大樓503 綜合實驗大樓605 綜合實驗樓605"
update() {
    wget 
-/tmp/query.asp http://jwc.wyu.cn/everyday/query/indeft/query.asp --post-data "cnt=1&wk=1&wk=2&wk=3&wk=4&wk=5&wk=0&cnt=2&pt=1&pt=2&pt=3&pt=4&pt=5&cc5=&cc6=&cc7=&cc8=&cc9=&Submit=+%CC%E1%BD%BB+"
    iconv -f gb18030 -t utf8 /tmp/query-gb18030.tmp > /tmp/query-utf8.tmp
    
new="rooms=\"$(grep '.*<td align=\"left\">.*' /tmp/query-utf8.tmp | sed -'0~4p' | grep -'>.*<' | tr -'><' | sort -ub | grep -'^$')\"" 
    
new=$(echo $new)
    rm 
/tmp/query-gb18030.tmp /tmp/query-utf8.tmp
    sed 
"${roomline}c $new" $0 > "/tmp/$0"
    chmod u
+"/tmp/$0"
    mv 
"/tmp/$0" $0
}

query() {
    arg
=""
    read 
-"星期(0-5,0為周末,空格分開):" day 
    
if [ -"$day" ] ; then
        arg
="cnt=1&"
        
for i in $day
        
do
            arg
=$arg"wk=$i&"
        done
    fi

    read 
-"節次(大節,0-5,空格分開):" class
    
if [ -"$class" ] ; then
        arg
=$arg"cnt=2&"
        
for i in $class
        
do
            arg
=$arg"pt=$i&"
        done
    fi

    read 
-"周次(1-19,空格分開):" week
    
if [ -"$week" ] ; then
        arg
=$arg"cnt=3&"
        
for i in $class
        
do
            arg
=$arg"ew=$i&"
        done
    fi

    
if [ -"$arg" ] ; then
        echo 
"what are you doing!"
        exit 
0
    fi

    arg
=$arg"cc5=&cc6=&cc7=&cc8=&cc9=&Submit=+%CC%E1%BD%BB+"

    wget 
-/tmp/query-gb18030.tmp http://jwc.wyu.cn/everyday/query/indeft/query.asp --post-data "$arg"
    iconv -f gb18030 -t utf8 /tmp/query-gb18030.tmp > /tmp/query-utf8.tmp
    used
="$(grep '.*<td align=\"left\">.*' /tmp/query-utf8.tmp | sed -n '0~4p' | grep -o '>.*<' | tr -d '><' | sort -ub | grep -v '^$')" 
    used
=$(echo $used)
    rm 
/tmp/query-gb18030.tmp /tmp/query-utf8.tmp

    
for i in $rooms
    
do
        sign
=0
        
for j in $used
        
do
            
if [ "$i" == "$j" ] ; then
                sign
=1
                
break
            fi
        done
        
if [ "$sign" == "0" ] ; then
            echo $i
        fi
    done
}

if [ $# == 0 ] ; then
    query
elif [ 
"$1" == "--update" ] ; then
    update
else
    echo 
-"Usage:\n\t$0 [--update]"
fi
exit 
0

posted @ 2012-03-09 18:52 Onway 閱讀(511) | 評論 (1)編輯 收藏

上圖好像沒什么意思吧?zenity的界面。
      

/Files/Onway/oalarm.bash.txt

oalarm文檔

概要:
    oalarm是一個基于gnome,mplayer,at,date,zenity等命令的,使用bash script寫成的簡陋桌面鬧鐘。

功能:
    定時任務的新建,查看,延遲,刪除,提醒。

安裝要求:
    存在gnome-session進程,/usr/bin下存在at,zenity,mplayer程序,$HOME目錄下存在.config/autostart和.local/share/applications兩個目錄。

安裝:
    下載oalarm.bash之后,添加運行權限,在桌面圖形環境下運行腳本(不需要root權限)。這時會檢查zenity命令和gnome-session進程的存在。gnome-session的檢查是為了保證能使用zenity命令創建界面。如果缺乏任何一個,則在標準輸出后直接退出。

    首次運行腳本會出現安裝選項。
    安裝過程會先在/usr/bin目錄下檢查at,mplayer,zenity三個命令,如果缺少任何一個,標準輸出錯誤后退出。
    安裝過程還會檢查兩個目錄:$HOME/.config/autostart和$HOME/.local/share/applications,如果缺乏任何一個,安裝失敗。在這兩個目錄會各寫入一個.desktop文件,分別用于登錄圖形界面后運行一次腳本檢查過期任務和在應用附件欄目添加運行圖標。分別執行的命令是:
    $HOME/.oalarm/oalarm.bash --check
    $HOME/.oalarm/oalarm.bash --start

    其后會在$HOME目錄下創建隱藏目錄.oalarm和兩個在子目錄past,wait,分別用于存放過期任何和等待任務。oalarm.bash會復制自身到該目錄下。

    如果存在/usr/share/sounds/gnome/default/alerts/bark.ogg該聲音文件,則會被復制到.oalarm目錄下并命名為voice,用于提示任務時使用mplayer進行播放。可以將voice文件替換為喜歡的提示聲音。

卸載:
    安裝后啟動oalarm,會出現卸載選項。
    卸載行為是:
    刪掉.oalarm目錄和兩個.desktop文件。記得為聲音文件作備份。

任務文件格式:
    使用年月日時分命名。文件內第一行為任務標題,新建任務時必須填入,第二行至文件尾為任務內容,可選。

原理:
    下載的oalarm.bash,不帶參數運行,是安裝前使用,安裝后之后可以刪掉。
    從應用程序-附件欄目的圖標啟動是帶--start參數運行$HOME/.oalarm/oalarm.bash。用于新建,查看,延遲和刪除任務。
    登錄圖形界面后,帶參數--check自動啟動$HOME/.oalarm/oalarm.bash,用于檢查關機或者登出圖形界面期間到期的任務。延遲10秒之后開始檢查。
    圖形界面登錄期間,如果任務到期,則由atd守護進程帶--check和任務文件名兩個參數啟動$HOME/.oalarm/oalarm.bash。然后oalarm.bash從wait目錄下的文件提取信息進行提示。(如果voice文件不存在,則提示沒有聲音)

    兩個重要的假定:
    1,使用如下命令判斷使用已經登錄圖形界面:
        ps -eo ruid,comm | grep $UID.*gnome-session
    2,$HOEM/.config/autostart下的.desktop文件指定的程序會在登錄圖形界面后自動運行。

行為:
    在任務提醒之后選擇延遲和在等待任務中選擇延遲是有區別的。如果選擇延遲時間的時候取消了,則提醒之后的延遲會被放棄,任務被移到過期任務。

bugs:
    1,由于命名任務文件的時候沒考慮到,同一個時間只能有一個任務,否則會被覆蓋。
    2,選擇時間的方式有點別扭,但我也不知道怎么辦。
    3,延遲功能必須重新選擇日期時間,有點不厚道

關于:
    oalarm 0.1.0
    By Onway 2012-03-06

    debug yourself or report to:
    blog: m.shnenglu.com/onway
    mail: aluohuai@126.com

    如果本程序讓你錯過了和女友的約會,或者把水燒干了,或者出現其他問題,本人概不負責

posted @ 2012-03-09 18:39 Onway 閱讀(722) | 評論 (2)編輯 收藏

如題

posted @ 2012-02-15 20:16 Onway 閱讀(459) | 評論 (0)編輯 收藏











由于有道詞典的windows客戶端是使用xsl將xml文件轉換成html再顯示的,而恰好goldendict內嵌了webkit,還可以添加擴展程序。
于是寫了個小程序獲取xml數據,再借用了一下有道的安裝文件,打包發上來以此拋磚引玉,希望有興趣的各路神牛可以修改得更好。
/Files/Onway/youdaodict.tar.gz.rar

其實文件不是rar壓縮的,只是上傳不了tar.gz的文件,rar只是加上去的。

(之前上傳那個,很不好意思的還有一個文件的路徑沒改過來,還有順便說說,我的系統是ubuntu 11.10,gnome3桌面,godendict是1.0.1的版本,朋友說0.9那個版本沒有擴展程序功能的)

posted @ 2012-02-12 20:33 Onway 閱讀(4583) | 評論 (6)編輯 收藏

ubuntu 11.04安裝ftp服務器
sudo apt-get install vsftpd

默認登錄需要帳號密碼,其根目錄是用戶根目錄
客戶端命令:
登錄:
ftp [-46pinegvd] [host[port]]
文件下載:
get remote-file [local-file]
ftp命令行不支持目錄下載
通過wget得到解決
#wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r
詳見:man ftp


或者直接瀏覽器下載

posted @ 2012-01-26 17:20 Onway 閱讀(651) | 評論 (0)編輯 收藏

僅列出標題
共6頁: 1 2 3 4 5 6 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费观看久久久4p| 美女诱惑黄网站一区| 久久中文在线| 亚洲图片在区色| 欧美精品aa| 黄色成人av| 久久精品中文字幕一区二区三区| 亚洲欧洲在线观看| 久久这里有精品视频| 国产欧美精品在线播放| 香蕉免费一区二区三区在线观看| 亚洲七七久久综合桃花剧情介绍| 美日韩精品免费| 亚洲黄色视屏| 亚洲国产高潮在线观看| 牛牛精品成人免费视频| 亚洲国内精品在线| 亚洲欧洲一级| 欧美日韩精品一区| 亚洲一区二区在| 亚洲无亚洲人成网站77777| 欧美日韩久久精品| 亚洲欧美日韩另类精品一区二区三区 | 亚洲欧美日韩精品在线| 国产女人18毛片水18精品| 欧美一级视频| 久久精品亚洲一区| 亚洲第一区色| 一本色道久久综合亚洲精品婷婷 | 亚洲免费成人av| 亚洲美女网站| 国产精品午夜在线观看| 久久免费黄色| 欧美精品在线观看| 亚洲男人的天堂在线观看| 亚洲自拍三区| 永久久久久久| 在线高清一区| 欧美肥婆在线| 欧美日韩高清免费| 久久综合久久综合久久| 老色鬼精品视频在线观看播放| 亚洲黄一区二区| 一区二区欧美激情| 黄网站免费久久| 亚洲精品黄网在线观看| 国产精品久久久久久模特| 玖玖精品视频| 欧美日韩综合视频| 久久精品国产欧美激情| 欧美大片国产精品| 午夜视频在线观看一区二区三区 | 一本色道精品久久一区二区三区 | 亚洲欧洲免费视频| 亚洲欧美精品| 亚洲精品在线观看免费| 午夜精品一区二区三区电影天堂 | 在线成人亚洲| 亚洲欧美区自拍先锋| 亚洲日本视频| 欧美在线观看视频一区二区三区| 亚洲国产99精品国自产| 亚洲资源在线观看| 中国成人亚色综合网站| 久久人人爽爽爽人久久久| 亚洲调教视频在线观看| 久热精品视频在线观看| 欧美在线亚洲在线| 欧美手机在线视频| 亚洲人成人一区二区在线观看| 国产自产在线视频一区| 国产精品99久久久久久久久久久久 | 欧美色视频日本高清在线观看| 欧美一级淫片aaaaaaa视频| 能在线观看的日韩av| 久久资源在线| 国产日产欧美精品| 亚洲视频一二| 亚洲午夜小视频| 欧美激情一区二区三区高清视频 | 欧美一区激情视频在线观看| 欧美国产视频在线观看| 美日韩精品视频| 狠狠干综合网| 久久久久久电影| 另类酷文…触手系列精品集v1小说| 国产精品一区在线观看你懂的| 国产午夜精品一区二区三区视频| 欧美国产视频日韩| 国产欧美精品日韩| 亚洲天堂久久| 午夜久久美女| 国产精品剧情在线亚洲| 在线亚洲精品福利网址导航| 在线一区二区三区四区五区| 欧美激情精品久久久| 亚洲欧洲精品天堂一级| 亚洲理论在线| 欧美日韩中文另类| 一区二区三区 在线观看视频| av成人黄色| 国产精品久久久久久妇女6080| 在线视频你懂得一区二区三区| 亚洲一区二区精品在线| 国产精品视频免费观看| 亚洲欧美日韩一区二区在线| 欧美一区二区视频在线观看| 国产欧美一区在线| 久久精品二区| 亚洲高清网站| 亚洲性色视频| 国产人成精品一区二区三| 久久精品99无色码中文字幕| 欧美高清hd18日本| 一区二区免费看| 国产精品一级在线| 久久久久久久性| 亚洲高清色综合| 午夜视频一区在线观看| 一区二区视频免费在线观看| 欧美高清不卡在线| 亚洲乱码国产乱码精品精| 欧美女主播在线| 亚洲伊人第一页| 免费观看日韩av| 一区二区三区视频免费在线观看| 国产精品蜜臀在线观看| 久久久久久电影| 在线视频欧美一区| 女仆av观看一区| 午夜欧美精品| 91久久在线| 国产乱码精品1区2区3区| 久久性天堂网| 亚洲欧美韩国| 亚洲精品视频在线观看免费| 久久av在线看| 一本色道久久88综合亚洲精品ⅰ| 国产精品女主播| 欧美大片国产精品| 欧美在线看片| 亚洲一区二区三区国产| 亚洲国产经典视频| 久久精品视频99| 亚洲午夜激情网页| 亚洲国产清纯| 国产视频欧美| 国产精品99免费看 | 亚洲电影有码| 国产精品亚发布| 欧美日韩1080p| 久久中文字幕导航| 亚洲男人的天堂在线观看| 国产精品美女在线| 欧美va天堂在线| 亚洲欧美国产日韩中文字幕| 亚洲欧洲在线一区| 美女黄色成人网| 久久国产精品亚洲77777| 亚洲一区二区免费在线| 亚洲精品一区二区三区蜜桃久| 国产伦精品一区二区三区四区免费| 欧美精品日韩综合在线| 美女精品在线观看| 久久久精品一区二区三区| 亚洲欧美电影院| 在线一区二区三区四区五区| 亚洲欧洲免费视频| 亚洲福利电影| 欧美激情中文字幕乱码免费| 久久婷婷国产综合尤物精品 | 91久久精品一区二区别| 激情91久久| 激情视频亚洲| 国产一区久久| 韩国v欧美v日本v亚洲v | 亚洲国产精彩中文乱码av在线播放| 欧美一区二粉嫩精品国产一线天| 亚洲色图制服丝袜| 亚洲一区自拍| 亚洲欧美日韩成人高清在线一区| 一区二区三区av| 亚洲在线免费| 欧美一区1区三区3区公司| 亚洲欧美国产日韩中文字幕| 亚洲无亚洲人成网站77777 | 农夫在线精品视频免费观看| 欧美不卡视频一区发布| 欧美国产视频日韩| 亚洲茄子视频| 中文亚洲字幕| 欧美在线一二三区| 久久野战av| 欧美精品日韩| 国产精品一二三四区| 经典三级久久| 亚洲人成网站777色婷婷| 亚洲色诱最新| 久久精品动漫| 亚洲国产免费看|