素晴らしいwmのカルマウィジェット

強く蹴らないで、ただ共有することにしました。

カルマとハブラシルに関するデータを取得する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のルールを注意深く読んでください。



All Articles