منبع اصلی نوشتار زیر در این لینک قرار دارد

deadbeef یک موزیک پلیر ساده و سبک و کارآمد

موزیک پلیرهای زیادی بر اساس QT و GTK نوشته شدن. که هر کدوم ویژگی هایی دارن. خیلی از اون ها تنظیمات زیادی دارن که برای اونایی که فقط میخوان به موزیکشون گوش بدن فایده ی زیادی نداره و فقط محیط برنامه رو شلوغ پلوغ کرده. و همچنین زمان باز شدن برنامه زیاد میشه. مثلا Exile, Rythmbox, Banshee, و موزیک پلیرهای KDE که دیگه شورش رو در شلوغ بودن در آوردن. اما از اون طرف هم موزیک پلیرهای ساده ای هم وجود دارن. اما از بین اونهایی که من امتحان کردم، deadbeef از بقیه بهتره.. چون در عین سادگی کارآمد هم هست. و عملکرد های لازم رو دارا هست. پلاگین های مختلفی هم داره. در زیر عکسی از این برنامه رو میبینید:

deadbeef در مخازن آرچ وجود داره. میتونید به راحتی نصبش کنید. پلاگین های دیگه ای هم در مخازن AUR وجود داره. مثلا file browser که یک browser ساده به صورت پنل در سمت چپ نشون میده. یا پلاگینی برای نمایش lyrics که در یک پنل در سمت راست این کار رو انجام میده. deadbeef با کلید های Fn کار میکنه (یک پلاگین برای اینکار داره). همچنین در مخازن AUR برای استفاده از روش mpris هم یک پلاگین وجود داره. و در آخر از طریق commandline هم میتونید کنترلش کنید. پلاگینی هم وجود داره برای اینکه notificationهای برنامه (عوض شدن آهنگ) به صورت notify-osd ظاهر بشن. 

متاسفانه در دسکتاپ mate که هم اکنون از اون استفاده میکنم، کلید های fn کار نمیکنن و من برای کنترل deadbeef با کلید های fn مجبور شدم از روش commandline استفاده کنم.
deadbeef --toggle-pause
deadbeef --next
deadbeef --prev

این دستورها رو به صورت keyboard shortcut اضافه میکنیم که با کلید های Fn ترکیب بشن. اما این دستور ها رو اگه وقتی deadbeef در حال اجرا نیست بکار ببریم، (یعنی کلید ترکیبی اونها رو فشار بدیم) برنامه باز میشه. که خب نباید بشه دیگه. پس میایم یه فکری میکنیم.... آهان... چطوری یه شرط بذاریم براشون. مثلا اینکه اول توی برنامه های در حال اجرا بگرده ببینه deadbeef در حال اجرا هست یا نه. اگه هست این دستورها عمل کنند، اگه نیست عمل نکنند. خوبه!
پس نتیجه ی کار میشه اسکریپت هایی شبیه به این:
if ps -A | grep -q "deadbeef"
then
   deadbeef --toggle-pause
fi
میتونیم این ها رو در فایل های جدا ذخیره کنیم و در پوشه ی usr/local/bin/ قرار بدیم تا با یک دستور اجراشون کنیم. 
deadbeef این طوریه که اگه در حال پخش باشه و ما آهنگ دیگه ای رو کلیک کنیم، آهنگ قبلی قطع میشه و جدیده شروع میشه. که خب طبیعیه. اما چه کار کنیم که وقتی روی آهنگ ها راست کلیک میکنیم امکان اضافه کردن اونها رو به playlist در deadbeef داشته باشیم؟
قبلا در مورد totem این رو نوشته بودم. در مورد deadbeef هم دقیقا همون طوریه:

cp /usr/share/applications/deadbeef.desktop ~/.local/share/applications/deabeef-queue.desktop
و بعد ویرایش میکنیم
nano ~/.local/share/applications/deabeef-queue.desktop
برای قسمت Name= مثلا میذاریم Add to deadbeef و برای قسمت Exec این طوری:
Exec=deadbeef --queue %F
با ctrl + x و بعد تایپ y و بعد اینتر از ویرایشگر میایم بیرون. حالا روی آهنگی راست کلیک میکنیم و از طریق open with دنبال Add to deadbeef میگردیم و اون رو به لیست برنامه ها اضافه میکنیم