osd volume v xfce

Linux se dnes již hodí na mnoho míst včetně desktopu. A s přílivem tzv. netbooků zažívá Linux úplný boom. Je to především proto, že Linux se hodí i na starší, přesněji pomalejší resp. slabší hardware. U notebooků a netbooků se v některých prostředí konečně objevují funkce, které jsou známé u konkurence, ale odlehčená prostředí tímto netrpí, jak tedy i tam dostat pěkné osd ukazatele hlasitosti?

Multimediální klávesy

Zprovoznění osd ukazatele se skládá z několika kroků, ten první a hlavní, bývá často právě ten nezbytný a nenahraditelný, a bez něj to prostě nejde. První věc co je třeba aby vše fungovalo podle nejlepších představ je odchycení multimediálních kláves. Většina i starších notebooků a dnes i starších klávesnic, obsahuje tzv. multimediální klávesy. Těmto klávesám se často říká multimediální, i když s médii nesouvisí. Ty které nás budou nejvíce zajímat jsou klávesy na ovládání hlasitosti, ale můžou to být i klávesy (tlačítka) play a stop, nebo také různé programové tlačítka se znakem internetového prohlížeče a emailu.


Pokud se bavíme o "volume", tedy o hlasitosti, pak nás zajímají zejména tlačítka na zesílení, zeslabení případně ztišení reproduktorů. Tyto klávesy pokud je systém (kernel) zná, po stisknutí posílají stejně jako jiné klávesy nějaké kódy. Kódy těchto kláves  se mohou odchytnout v různých programech, např. xev.  Po jeho puštění se objeví okýnko a na standardní výstup (do konzole) se začnou vypisovat všechny odchycené události. Je tedy nutné vysledovat události požadovaných multimediálních kláves. Mohou nastat celkem tři situace.


Nic se nestane


Což je nejhorší ze tří variant, v takovém případě systém o klávese vlastně neví. Pak máme ještě možnost operovat s ovladači klávesnice přímo v jádře, nebo se zapomenout na multimediální klávesy, a hlasitost ovládat vlastními klávesovými zkratkami, např. ctrl + a ctrl -.


keycode XXX


Program začne vypisovat kódy kláves, např. "keycode 176". To znamená, že jádro klávesy umí odchytit, ale X server je nemá namapovány. Pak stačí vytvořit soubor .Xmodmap v domovském adresáři, a do něj na jednotlivé řádky napsat např. takto:


keycode 176 = XF86AudioRaiseVolume
keycode 174 = XF86AudioLowerVolume
keycode 160 = XF86AudioMute

XF86xxxxxxxx


Po znovu-přihlášení do X serveru by měla nastat třetí ideální možnost, a to ta, že program xev začne vypisovat přímo názvy mačkaných kláves. Seznam možných X serverem podporovaných kláves najdete v souboru XKeysymDB nalézajícího se někde u ostatních souborů X.org (/usr/share/X11, /usr/lib/X11 a pod.).

Klávesové zkratky

Zde už je to jednoduché, stačí nastavit klávesové zkratky vašeho oblíbeného správce oken. V případě Xfce je nastavení pohodlné pomocí nástroje Nastavení klávesnice (menu -> nastavení -> nastavení klávesnice). Po vytvoření nového profilu klávesových zkratek, stačí jen přiřadit klávese program, který chceme aby se spustil při jejím zmáčknutí. Teoreticky by nám toto mohlo stačit, na Linuxu máme k dispozici celou škálu konsolových nástrojů, pomocí kterých můžeme změnit hlasitost. Ale co ten zelený ukazatel tolik známý z televize ?


screenshot nastaveni klávesových zkratek v Xfce

osd - xosd

Jedním z mnoha programů, který můžeme použít je xosd. Jde o konzolový příkaz, který se správnými parametry vytvoří na displayi onen ukazatel. Nemusí být dokonce jen zelný. Pro ovládání hlasitosti a zobrazení osd ukazatele najednou poslouží následující script volume.sh:

#!/bin/bash

case $1 in
+)
        amixer -c 0 set Master 5dB+ > /dev/null
        ;;
-)
        amixer -c 0 set Master 5dB- > /dev/null
        ;;
m)
        amixer -c 0 set Master toggle > /dev/null
        ;;
*)
        exit
        ;;
esac

VOLUME=`amixer get Master | sed -ne '/Front Left/s/.*\[\(.*\)%\].*/\1/p'`

osd_cat --font -*-terminus-*-*-*-*-*-*-*-*-*-*-*-* --colour=Green --shadow 1 \
        --pos bottom --align center --offset 80 --delay=1 -b percentage \
        -P $VOLUME -T Master\ Volume

Tento script se používá s parametry + (zesílení o 5dB), - (zeslabení o 5db) nebo m (vypnutí / zapnutí zvuku). Ke svému chodu potřebuje nástroj amixer, což je standardní nástroj z programového balíčku alsa-utils a osd_cat, ten se nachází v balíčku xosd. Program osd_cat má mnoho parametrů a uvedený script zobrazí 80 pixelů od spodního kraje obrazovky, vycentrovaný procentuální baner v zelené barvě se stínem a popiskem Master Volume. Více o parametrech programu se dovíte z jeho manuálové stránky. Script tedy umístíme do nějakého výstižného místa, např. do /usr/bin/ nebo ~/bin/, ze které ho jej voláme skrze multimediální klávesy.

Závěrem

Je třeba podotknout, že zmíněné nástroje nejsou jediné a je např. možné, že vaše distribuce (BSD) nepoužívá alsa ovladače ale OSS. Pak je třeba upravit script tak, aby používal jiné nástroje. Těch je celá řada a nechám pro ně místo v diskuzi. Popsaný návod lze použit pro jiné správce oken než je Xfce, např. Fluxbox, nebo IceWM. Jiné je pouze spojení klávesových zkratek a vyvolání nějaké operace.

Autor:

Diskuze

Best information about meds.
Medicament information. Generic Name.
<a href="https://армавирчик.рф">where to get zyrtec online</a>
Best what you want to know about medicament. Get information now.
chloroquinne
chloraquine <a href=https://chloroquineorigin.com/#>buy aralen</a> chloroquina
Some about meds.
Meds prescribing information. Drug Class.
<a href="https://fastpicc.ru">cheap claritin sale</a>
Some what you want to know about medicine. Get information here.
6 buy m usa cheap lrw
Drugs information sheet. Drug Class.
<a href="https://viagra2021.top">viagra pill</a>
Actual what you want to know about drug. Get information here.
e buy n usa cheap 3oh
Drug information for patients. What side effects?
<a href="https://lipitor2021.top">lipitor get</a>
Best about medicines. Read information now.
online no prescription 83ozg
Medicines prescribing information. Cautions. <a href="https://doxycycline2020.top">can i buy generic doxycycline no prescription</a> Everything what you want to know about drugs. Get now.
online no prescription q84nr
Drugs information for patients. Generic Name. <a href="https://orderprozaconline.top">get prozac without rx</a> All news about medicine. Read here.
In USA ximuwx
Medicament information sheet. Long-Term Effects. <a href="https://orderprozaconline.top">https://orderprozaconline.top</a> All trends of drug. Read now.
Everything what you want to know about medicament.
Medicine information leaflet. Short-Term Effects. <a href="https://prednisone4u.top">where can i buy generic prednisone without insurance</a> in the USA. Actual about medicines. Read information here.
<a href=https://apmkt.org/apmkt-charla-debate-no-soy-tu-nicho-marketing-sexismo/>All news about drug.</a> <a href=http://www.moviesforjoy.com/2018/01/24/total-recall-2012/>Best what you want to know about meds.</a> <a href=https://www.ecnsrl.it/home-2/25-lean-amine-surge-vessel-sulfur-removal-unit-iran/#comment-18669>All about medicine.</a> 5fc85bd
vidalista 20
erectafil-5 <a href=https://tadalisxs.com/#>tadalafil 30 mg</a> tadalafil troches
Váš komentář:

© 2023 Ondřej Tůma McBig. Ondřej Tůma | Based on: Morias | Twitter: mcbig_cz | RSS: články, twitter