一键控制Mpd 起停

sh/bash/dash/ksh/zsh等Shell脚本
回复
zoujichun
帖子: 82
注册时间: 2007-05-09 6:50
送出感谢: 0
接收感谢: 0

一键控制Mpd 起停

#1

帖子 zoujichun » 2010-10-01 19:29

* 功能:只需绑定一个快捷键,自动判断mpd 播放器的播放和暂停;
* 用法:直接执行脚本,建议绑定窗口管理器的快捷键,我用Fluxbox 绑定 Win+p,按一次播放,再按一次暂停;
* 截图:
图片
* 注意:复制以下代码保存为mpdctl.sh,注意修改里面图片路径,修改mpd 启动命令,安装libnotify-bin 能显示桌面通知;

代码: 全选

#!/bin/bash
#Filename: mpdctl.sh
#for user control mpd

#check the user
if [ `id -u` = "0" ]; then
    echo "PLease don't run this script as root!"
    exit 60
fi

if which notify-send > /dev/null 2>&1; then
    alert="notify-send -t 5000"
else
    alert=echo
fi

#check the config file and the ~/.mpd dir
if [ -f ~/.mpdconf -a -d ~/.mpd ]; then
    if mpc &>/dev/null; then
        if mpc status | grep playing &>/dev/null; then
            mpc pause
            $alert -i /home/razone/.icons/myicon/music-pause.png "播放器暂停"
        elif mpc status | grep pause &>/dev/null; then
            mpc play
            music=`mpc | sed -ne '1p'`
            $alert -i /home/razone/.icons/myicon/music-play.png "$music"
        else
            mpc play
            music=`mpc | sed -ne '1p'`
            $alert -i /home/razone/.icons/myicon/music-play.png "$music"
        fi
    else
        mpd ~/.mpdconf
        mpc play
        music=`mpc | sed -ne '1p'`
        $alert -i /home/razone/.icons/myicon/music-play.png "$music"
    fi
fi
附件
mpdpause.png
mpdpause.png (5.2 KiB) 查看 366 次
我的博客:关注Linux 企业应用,桌面折腾,python,perl,shell
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 一键控制Mpd 起停

#2

帖子 eexpress » 2010-10-01 21:47

和mocp一样傻。带命令控制,却不带stop/play切换。
我那也是自己写一个判断脚本。
● 鸣学
zoujichun
帖子: 82
注册时间: 2007-05-09 6:50
送出感谢: 0
接收感谢: 0

Re: 一键控制Mpd 起停

#3

帖子 zoujichun » 2010-10-01 21:51

eexpress 写了:和mocp一样傻。带命令控制,却不带stop/play切换。
我那也是自己写一个判断脚本。
招来大神围观,非常荣幸。
用perl 应该可以省不少代码,又是grep,又是awk的,太麻烦了。
我的博客:关注Linux 企业应用,桌面折腾,python,perl,shell
回复

回到 “Shell脚本”