자유게시판

조회 수 579 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

이전글: https://hamonikr.org/index.php?mid=board_bFBk25&document_srl=68978

 

이전에 i3에서 볼륨 조절 단축키 만드는 방법에 대한 글을 올린적이 있습니다.

이번에는 더 나아가서 dunst로 알람을 띄우는 방법을 알아보겠습니다.

 

참고로 전 pulseaudio를 사용하므로, pulseaudio를 사용한다는 가정하에 작성하겠습니다.

 

이전 스크립트는 이렇습니다.(1)


#!/bin/perl
use warnings;
use strict;
use v5.010;

$_ = qx/pacmd list-sinks/;
my ($sink, $vol) = /(?:^|\n)\h*\* index: (\S+).*?\n\h*volume:[^\n]*?(\d+)%/s;
if (scalar @ARGV == 1 and $ARGV[0] =~ /^ (-|\+)? (\d+)% | (toggle) $/x) {
    if ($3) {
        system "pactl set-sink-mute $sink toggle";
    } else {
        if (not $1) { $vol = $2; }
        elsif ($1 eq "-") { $vol -= $2; }
        elsif ($1 eq "+") { $vol += $2; }
        $vol = 0 if $vol < 0;
        $vol = 100 if $vol > 100;
        system "pactl set-sink-volume $sink $vol%";
    }
} else {
    my $name = $0 =~ s|.*/||r;
    print <<END;
Usage: $name [-|+]VOL% | toggle
Ex.:   $name 100%
       $name -5%
       $name +5%
       $name toggle   # mute/unmute
END
}

이 스크립트는 출력 장치를 따로 찾아서 수정할 필요가 없고,

볼륨이 mute라면 mute를 알아서 해제하고 볼륨을 조절합니다.

출처: https://www.reddit.com/r/linuxquestions/comments/94tdwz/pulseaudio_max_volume_limit/

 

여기서 더 나아가 볼륨을 조절할 때 마다 잠깐동안 알람을 띄우고 싶습니다.

우선 dunst를 설치합니다.

(물론 dunst말고 다른 프로그램을 사용할 수도 있을거 같습니다.

만약 그렇다면 아래 스크립트에서 dunstify를 수정해야겠네요)

그리고 다음 스크립트를 작성합니다.


#!/bin/bash

 

function get_volume {

pactl list sinks | grep '^[[:space:]]Volume:' | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,'

}

 

function is_mute {

pacmd list-sinks | grep mute | grep yes > /dev/null

}

 

function send_notification {

  iconSound="audio-volume-high"

  iconMuted="audio-volume-muted"

  if is_mute ; then

dunstify -i $iconMuted -r 2593 -u normal "mute"

  else

    volume=$(get_volume)

    # Make the bar with the special character ─ (it's not dash -)

    # https://en.wikipedia.org/wiki/Box-drawing_character

    bar=$(seq --separator="─" 0 "$((volume / 5))" | sed 's/[0-9]//g')

    # Send the notification

    dunstify -i $iconSound -r 2593 -u normal "    $bar"

  fi

}

 

case $1 in

    up)

1번 스크립트 경로 +5% > /dev/null

send_notification

;;

1번 스크립트 경로 -5% > /dev/null

send_notification

;;

    mute)

1번 스크립트 경로 toggle > /dev/null

send_notification

;;

esac


출처: https://gist.github.com/Blaradox/030f06d165a82583ae817ee954438f2e

 

send_notification 함수를 보면 아이콘이 지정되어 있습니다.

paper 아이콘 셋을 설치하고, dunstrc의 아이콘 경로에

usr/share/icons/Paper/16x16/status/ 와 /usr/share/icons/Paper/16x16/apps/ 를

추가해줘야 아이콘이 정상적으로 나옵니다.

추가하지 않아도 아이콘이 나오지 않는것 외에는 정상적으로 작동합니다.

 

사용 예시입니다.

2020-11-02-20:06:35-screenshot.png

오른쪽 위를 보면 알람이 정상적으로 작동하는 것을 확인할 수 있습니다.

 

이번에는 밝기 조절입니다.

방법은 똑같습니다.


#!/usr/bin/env bash

 

function get_brightness {

  xbacklight -get | cut -d '.' -f 1

}

 

function send_notification {

  icon="preferences-system-brightness-lock"

  brightness=$(get_brightness)

  # Make the bar with the special character ─ (it's not dash -)

  # https://en.wikipedia.org/wiki/Box-drawing_character

  bar=$(seq -s "─" 0 $((brightness / 5)) | sed 's/[0-9]//g')

  # Send the notification

  dunstify -i "$icon" -r 5555 -u normal "    $bar"

}

 

case $1 in

  up)

    # increase the backlight by 5%

    xbacklight -inc 5

    send_notification

    ;;

  down)

    # decrease the backlight by 5%

    xbacklight -dec 5

    send_notification

    ;;

esac


출처: https://gist.github.com/Blaradox/030f06d165a82583ae817ee954438f2e

 

사용 예시를 보이고 싶지만 스크린샷 용량으로 인해 올리지 못하네요

볼륨 조절과 똑같은데 아이콘만 다르니 중요하지 않아 그냥 넘어갑니다.

 

게시판 글쓰기에서 코드 들여쓰기가 정상적으로 출력되지 않네요

감안하고 사용하시기 바랍니다.

 

 

  1. [질문] 하모니카 4.0 Jin RAM 크기가 4GB미만 인식이 되는 건가요?

  2. visual studio 에서 c언어를 연습하고싶습니다

  3. [질문] 하모니카 4.0 Jin 설치 파티션 관련 문의

  4. No Image 25Nov
    by 나눔앱하자
    2020/11/25 by 나눔앱하자
    Views 585  Likes 0

    NHN, 클라우드 DaaS 선보인다…네이버·KT 먼저 뛰어든 '개방형OS' 참전하나

  5. No Image 25Nov
    by 나눔앱하자
    2020/11/25 by 나눔앱하자
    Views 614  Likes 0

    리누스 토발즈 "M1 맥에서 리눅스 실행되길 원해” (소식)

  6. Hash함수 사용에 대한 권장사항

  7. [질문] nimf 설치할 때 옵션 줄 수 없나요? (도커 이미지 생성 문제)

  8. 2020 대한민국 소프트웨어대전 Softwave 2020 12월 2일(수)~6일(금) 코넥스 B홀 전관

  9. 우분투 20.04 에서 버추얼박스 usb인식 불가 증상

  10. 섀도우pc라는 클라우드 컴퓨팅 업체가 한국 서비스를 예정중이네요

  11. 토렌토란?

  12. 부팅 시 나타나는 부트 선택 스크린(검정색)

  13. No Image 20Nov
    by 나눔앱하자
    2020/11/20 by 나눔앱하자
    Views 630  Likes 0

    리눅스가 은행 서버를 점령하기까지

  14. [HamoniKR 4.0 JIN 64bit] 카카오톡_설치하기가 사라졌어요.

  15. 도커로 리눅스버전 한컴2020 오피스, 뷰어 설치하기

  16. qemu와 인텔 가상 그래픽을 이용한 가상머신 사용하기

  17. No Image 12Nov
    by 나이스투미튜
    2020/11/12 by 나이스투미튜
    Views 648  Likes 0

    정부에서 지원하는 숙박쿠폰 아시나요? (최대4만원)

  18. rclone을 이용한 구글드라이브 마운트

  19. 리눅스 패널로 폴리바polybar 사용하기

  20. 이제 목돈없어도 서울 청년주택 입주 가능

Board Pagination Prev 1 ... 54 55 56 57 58 59 60 61 62 63 ... 95 Next
/ 95
CLOSE