これの続き。
doroyamada.hatenablog.jp
この時はとりあえずaudaciousが起動している時だけ止めるようにした。
でもpulseaudioのpavucontrolの画面で再生中だけディバイスが表示されるんだから、コマンドラインでも状態を取得できるはずと考えた。
再生中。
pacmd list-sinksを実行して見ていたらそれらしき区分発見。
(以前略) * index: 1 name: <alsa_output.pci-0000_00_14.2.iec958-stereo> driver: <module-alsa-card.c> flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: RUNNING suspend cause: (none) priority: 9038 (以下略)
ではこれを検知してpokeしてやればいいかと。
#!/usr/bin/php <?php $ret = `pacmd list-sinks|grep "state: RUNNING"`; if(strlen($ret) >10) { exec("xfce4-screensaver-command -p"); } ?>
前回はxubuntuの起動時開始プログラムとしてスクリプトを登録して、そのスクリプト内で無限loopさせていたが、今度はcronで5分おきに走らせてみた。