カルマとハブラシルに関するデータを取得するxmlパーサーを作成します。
#!/ usr / bin / perl XMLを使用::シンプル; Net :: HTTPを使用します。 my $ s = Net :: HTTP-> new(Host => "habrahabr.ru")|| 死ぬ$ @; #ユーザー名に変更 $ s-> write_request(GET => "/ api / profile /%username%/"、 'User-Agent' => "Mozilla / 5.0(+ http://www.reid.ru/freebsd/?page_id = 15 ) "); my($コード、$混乱、%h)= $ s-> read_response_headers; while(1){ 私の$ buf; my $ n = $ s-> read_entity_body($ buf、1024); die "read failed:$!" 定義されていない限り$ n; $ nでない限り最後; $ data = $ buf; } 私の$ s = XMLin($データ); $ karm = $ s-> {karma}; $ rating = $ s-> {rating}; 「$ karm \ / $ rating」と印刷します。
rc.luaに次のように記述します。
-ウィジェットを定義する karma_text =ウィジェット({type = "textbox"、align = "right"}) 関数get_karm() -スクリプトへのパスを指定します local karm = awful.util.pread( "〜/ .config / awesome / zoom / bin / karma") karma_text.text = "" .. setFg( "#e8ef1b"、karm).. "" 終わり ... -場所を指定する mywibox [s] .widgets = { ... karma_text ... } -素晴らしい起動時に呼び出します get_karm() -15分ごとに電話をかける awful.hooks.timer.register(900、関数()get_karm()終了)
結果(完全を期すため、トレイ全体を示します):
Habr APIのルールを注意深く読んでください。