MOCP - Music On Console Player Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
wiki:mocp [2012/01/29 01:28]
[Интеграция с conky]
wiki:mocp [2012/01/29 02:32]
[Интеграция с conky]
Строка 103: Строка 103:
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
 +
 +. /​tmp/​mocp_popup.txt
 +. /​tmp/​mocp_state.txt
  
 # Переменная хранит разделитель между артистом и названием # Переменная хранит разделитель между артистом и названием
Строка 121: Строка 124:
       else       else
         # Если название песни присутствует         # Если название песни присутствует
-        SONG="​$(mocp -Q %song | sed '​s/​\&/​And/​g'​)"+        SONG="​$(mocp -Q %song)"​
         # Выводим артиста         # Выводим артиста
         FIRST_LINE="​${SONG%*$SEPARATOR*}"​         FIRST_LINE="​${SONG%*$SEPARATOR*}"​
Строка 130: Строка 133:
     # Если воспроизводится не радио     # Если воспроизводится не радио
     PLAYER="​MoC"​     PLAYER="​MoC"​
-    if [ -z "​$(mocp -Q %song | sed '​s/​\&/​And/​g'​)" ]+    if [ -z "​$(mocp -Q %song)"​ ]
       then       then
         # Выводим что тегов нет         # Выводим что тегов нет
Строка 144: Строка 147:
  
 NEWNAME="​$FIRST_LINE - $SECOND_LINE"​ NEWNAME="​$FIRST_LINE - $SECOND_LINE"​
 +NEWNAME="​$(echo $NEWNAME | sed '​s/​\&/​And/​g'​ | sed '​s/​\`//​g'​)"​
 NEWSTATE="​$(mocp --info | grep State: | awk '​{print $2}'​)"​ NEWSTATE="​$(mocp --info | grep State: | awk '​{print $2}'​)"​
 +
 +if [ $NEWSTATE == STOP ]; then
 +  exit 1
 +fi
  
 # Выводим информацию в conky # Выводим информацию в conky
Строка 152: Строка 160:
     echo "​$PLAYER Stop:" "​$OLDNAME"​     echo "​$PLAYER Stop:" "​$OLDNAME"​
 fi fi
 +
 +#​======================================== Всплывающие окна =============================================================
 +mocp -i > /dev/null
 +if [ $? -eq 2 ];then
 +  exit 2
 +fi
 +
 +if [[ "​$OLDNAME"​ == "​$NEWNAME"​ ]]; then
 +  if [[ "​$OLDSTATE"​ == "​$NEWSTATE"​ ]]; then
 +    exit 1
 +  fi
 +fi
 +
 +# Выводим информацию в всплывающее окно
 +if [[ $NEWSTATE == "​PLAY"​ ]]; then
 +  notify-send --expire-time=2700 -i "/​home/​citizen/​.icons/​MyIcons/​emblem-sound.png"​ "​$PLAYER Play:" "​$NEWNAME"​
 +  else
 +    notify-send --expire-time=2700 -i "/​home/​citizen/​.icons/​MyIcons/​emblem-sound.png"​ "​$PLAYER Stop:" "​$OLDNAME"​
 +fi
 + 
 +echo OLDNAME=\"​$NEWNAME\"​ > /​tmp/​mocp_popup.txt
 +echo OLDSTATE=\"​$NEWSTATE\"​ > /​tmp/​mocp_state.txt
 +#​=======================================================================================================================
 </​code>​ </​code>​
 В конфигурационный файл **conky**, добавьте строку:​ В конфигурационный файл **conky**, добавьте строку:​
 <​code>​${scroll 45 20 ${exec путь_к_скрипту}}</​code>​ <​code>​${scroll 45 20 ${exec путь_к_скрипту}}</​code>​
 В итоге будет выводиться бегущая строка шириной в 45 символов и одновременно будет выводиться только 20 из них. В итоге будет выводиться бегущая строка шириной в 45 символов и одновременно будет выводиться только 20 из них.
- 
-Помимо этого будут отображаться всплывающие уведомления. Если они вам не нужны, то просто удалите все строки начиная с 55-й. 
 ===== Настройка ===== ===== Настройка =====