Pular para o conteúdo

Mensagem de volume alto quando o fone de ouvido está conectado

Exibir uma mensagem quando o fone de ouvido está conectado ao seu computador e se o percentual do volume é superior 75%. O script tem dependência do zenity, que normalmente já vem instalado nas distribuições baseadas no Debian.

Para instalação do script crie uma pasta oculta na sua home e faça a sua chamada através do arquivo .profile que também fica dentro da pasta home.
Paulo Roberto Gomes pRgomes
Hits: 4.239 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Exibir uma mensagem quando o fone de ouvido está conectado ao seu computador e se o percentual do volume é superior 75%. O script tem dependência do zenity, que normalmente já vem instalado nas distribuições baseadas no Debian.

Para instalação do script crie uma pasta oculta na sua home e faça a sua chamada através do arquivo .profile que também fica dentro da pasta home.
Download 6177.warningExcessiveSound.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash

# Arquivo:             warningExcessiveSound.sh
# Versão:              0.1
# Nome:                Paulo Roberto Gomes, paulo.robertonove@gmail.com
# Date:                  Março de 2015
# Descrição:         Mostra uma mensagem quando fone de ouvido esta conectado no
#                            computador e o volume do som é maior que 75% da sua capacidade.
#
# Dependências:    zenity



function getStatusSpeaker(){
    # executando comandos encadeados para obter estado da saida de som das caixas
    amixer -- sget Speaker playback | grep -wi 'on' >> /dev/null
    # armazenando o retorno da saida do comando numa variavel que sera usada posteriomente.
    cdmOUT=$?;
}



function getVol(){
    # executando varios comandos encadeados para obter percentual de volume do som
    vol=$( amixer -- sget Master playback | grep % | awk '{print $4}' | tr -d '[' | tr -d '%' | tr -d ']' )
}


function start(){
    ps aux | grep zenity | grep -v grep >> /dev/null
    zenityOn=$? # armazenando o retorno da saida comando acima
    if [ "0" != $cdmOUT ]; then
        if [ "0" != "$zenityOn" ]; then
            setVol
            testVol
        fi
    fi
}

function testVol(){
    getVol # chamado a funcao para obter o percentual de vol
    if [ $vol -gt 75 ]; # testa se o volume esta acima de 75%
    then
         showsToUserMSG
    fi
}

function showsToUserMSG(){
    zenity --notification --text "Cuidado!  Você esta usando $vol% da capacidade do volume de som, pode ser prejudicial audição" --timeout 10
    # criar um arquivo na tmp para indicar que o usuario já foi avisado
    echo "" > /tmp/aviso
}

# Esta funcao fica em loop observando o funciomanento placa de som
function main(){
    getStatusSpeaker # carregar o status da saida para as caixas de som
    # teste se existi o arquivo aviso na tmp
    if [ ! -f '/tmp/aviso'  ]; then
        start # é executado quando o arquivo não existi
    else
        # é executado quando o arquivo existi e saida de som das caixas
        # estao sendo usadas.
        if [ "0" = "$cdmOUT" ]; then
            rm  /tmp/aviso
        fi
    fi
    sleep 1
    main # pausa por um segundo, e faz uma chamada recusiva da funcao
}

# chamando a funcao principal
main

The Universal Argument Parser (with long options)

Faz uma busca no Google e abre o primeiro hit (Estou com Sorte)

Dia Anterior

abelhudo

Linkar libs do Boost 1.74.0 para 1.73.0 no Slackware Current

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.