Pull to refresh

Заметки гика. zsh shell

Reading time 2 min
Views 5K
Дубль первый.


В какой то момент возникла острая необходимость заиметь англо-русский словарь в консоли,
в ходе 2 минутного поиска по пакетам счастья не было обнаружено.
Ну что же, придется делать свой словарь, вспомнив что в chromium стоит плагин для словаря было принято решение распотрошить его содержимое, и прикрутить словарь от google к консоли.
Ну а далее код для zsh.
В комментах ресурсы которые были просмотрены в ходе поиска решения.

gdictionary () (
# http://code.google.com/p/dict-lookup-chrome-ext/source/browse/trunk/extension/lookup.js
# http://www.google.com/dictionary?langpair=en|ru&q=chemist&hl=ru&aq=f
# http://www.zsh.org/mla/users/2006/msg00063.html 
#
         GET "http://www.google.com/dictionary?langpair=en|ru&q=$1&hl=ru&aq=f" | grep dct-tt | sed /'class=\"dct-e/d' | sed '/<a\ href/d' | sed 's/<span class="dct-tt">//g' |sed 's/<\/span>//' | sed '/<span /d' | head -n 3
)




Регулярки подбирались быстро и необдуманно, после решения исходной задачи редактированию не подлежали.
Ну и в итоге:
limbo ~ $ gdictionary hello
приветственный возглас
приветствие
возглас удивления

Дубль второй.


Понадобилось записать голос, быстрый поиск вывел на arecord.
Для того чтоб в дальнейшем не возвращаться к этому вопросу, решил сделать запись голоса по хоткею.
В итоге родился следующий монстр:

run_microphone () {
   ps au | grep -v grep | grep -q arecord && killall arecord || arecord -F 5 -D hw:1,0 -t wav -f dat -c 1 | lame - > ~/microphone/`date +%F-%R`.mp3 &
}
zle -N run_microphone run_microphone
bindkey "^[[24~" run_microphone



В результате при первом нажатии F12 компьютер пишет звук с микрофона в ~/microphone/
При последующем нажатии F12, запись прекращается.

hw:1,0 для arecord находится следующим шаманством:
limbo ~ $ cat /proc/asound/pcm
00-00: ALC662 rev1 Analog: ALC662 rev1 Analog:
00-01: ALC662 rev1 Digital: ALC662 rev1 Digital
00-03: NVIDIA HDMI: NVIDIA HDMI: playback 1
01-00: USB Audio: USB Audio: capture 1 < — смотреть сюды.

Дубль третий


Давно пользуюсь yakuake. Для тех кто не в курсе, выезжающая консоль, типа как в quake.
Ну и как то перестала она мне нравится, почему сам не знаю.
В итоге была сделана замена из обычной konsole.

konsole-on () (
 qdbus `qdbus | grep konsole` /konsole/MainWindow_1  setVisible 1
 qdbus `qdbus | grep konsole` /konsole/MainWindow_1 showFullScreen
 qdbus `qdbus | grep konsole` /konsole/MainWindow_1 setFocus
)
konsole-off () (
 qdbus `qdbus | grep konsole` /konsole/MainWindow_1  setVisible 0
)

konsole-full () (
 ps -C konsole --no-heading || /usr/bin/konsole
 qdbus `qdbus | grep konsole` /konsole/MainWindow_1 Get com.trolltech.Qt.QWidget visible \
 | grep -q true && konsole-off || konsole-on
)



Ну а далее konsole-full забинденна на кнопку.
При первом нажатии консоль отображается, при втором скрывается.

Часть последняя, финальная


В финале KDE ушел в забвение, и на его месте воцарился dwm.
Как оказалось жутко удобная штука.
Но рассказ как можно жить с DE размером в 20 килобайт будет в продолжении сериала.
За сим откланиваюсь.
Tags:
Hubs:
+30
Comments 21
Comments Comments 21

Articles