はい、タイトル通り。
weechatを使ってる環境というかパソコンは、サードPC。
weechatのほうでなんかあったらすぐに切り替える事ができるように、
ググったりして、適当に簡単にプラグイン作った。
通知音とモジュールにちょっと困った。
ログインしたらすぐfbtermとuim–fepを起動して使えるようにしてあって、
何故か、それだと、
perl -e ‘print “\a”‘
ってやっても鳴らないんだよね。
beep音鳴らすことができるようにしてあるから、
fbterm上じゃなければ、ちゃんと音がなるんだけどね。
beepっていうパッケージがあって、
sudo apt-get install beep
ってやればインスコできて、fbterm上でもちゃんとbeep音が鳴るんだけど、
どういう仕組みなんだろう。
僕はまだ、C言語で書かれたコードを大体理解できるってほどじゃないから、よく分からん
メインPC(Ubuntu)やサブPC(Windows)でやると、
beep音はヘッドホンからでも出るからいいんだけど、
サードPC(UbuntuServer)だと、何故か出ずに、ヘッドホン挿してあってもパソコンから出るっていうね。
ハードにもよるのかなぁ・・・。
ハードに関しては僕はあまり詳しくはないからなぁ・・・。
ヘッドホン買ってから、ヘッドホンかけることが多くて、
ヘッドホンからbeep音出てくれたほうが、個人的に、通知音とかテスト的にも便利なんだけどねー。
まぁそれはともかく、コード
use warnings; use Audio::Play::MPG123; $player = new Audio::Play::MPG123; weechat::register('notify','baku','1','GPL3','何かあったら音で通知するプラグイン','',''); weechat::hook_print('','','',1,'notify',''); sub notify{ $player->load('a.mp3'); until($player->state == 0){$player->poll(1)} }
GPL3じゃなくてNoLicenseにしたかったけどね
‘No License’にして読み込んだ時にweechatに警告された
ライセンスの規約守るのとか正直面倒くさい_(:3」∠)_
use strict;忘れてるって?
myやるの面倒くさい_(:3」∠)_
もし\aをやるとしたら、こんな感じかな
use warnings; weechat::register('notify','baku','1','GPL3','何かあったら音で通知するプラグイン','',''); weechat::hook_print('','','',1,'notify',''); #sub notify{print "\a"} #このブログ記事を投稿した日から数日後、僕のメインPCでやってみたらダメだったけど、STDERRを追加してみたら成功した sub notify{print STDERR "\a"}
beepっていうパッケージをインスコしてbeepコマンド使うならこんな感じかな
use warnings; weechat::register('notify','baku','1','GPL3','何かあったら音で通知するプラグイン','',''); weechat::hook_print('','','',1,'notify',''); sub notify{system 'beep'}
参考にしたサイト
WeeChat スクリプト作成ガイド
Ubuntu+WeechatでもIRCで呼ばれたら通知したい! – Qiita
一応こちらも貼っとく
WeeChat :: scripts
WeeChat ユーザーズガイド
コメントを残す