вторник, 18 августа 2009 г.

Number of unread mcabber messages in awesome panel

After I started using awesome wm and mcabber as jabber client. I found many solutions to notify new messages: pop-up messages, sound notification and many other things. Any of them did not approach me. I use awesome on my netbook, and sound always switched off. Pop-up windows just blocked the working space necessary to me. As a result - has written small widget for awesome.

First. We need to uncomment lines in mcabber configuration file.

vim ~/.mcabber/mcabberrc

Following lines are necessary to use:
set logging = 1
set logging_dir = ~/.mcabber/histo
set statefile = ~/.mcabber/mcabber.state
Attention: Check folder grants. Directory ~/.mcabber/histo should exist!

Next we need small "parser" script. And here it is:
#!/bin/zsh

MCABBER_NO=`cat /home/bosheee/.mcabber/mcabber.state &>/dev/null|wc -l`

[[ "$MCABBER_NO" -gt "0" ]] && echo "$MCABBER_NO Mess"

exit 0
Sorry for zsh :-[ Save them in home dir, and make it executable (+x).

Add this function somewhere below wibox.
function mcabber_mess()
local filedescriptor = io.popen('~/mcabber_message_num.sh')
local value = nil
if filedescriptor ~= nil then
value = filedescriptor:read()
end
filedescriptor:close()
if value == nil then
return '0 Mess'
else
return value
end
end

getmcabbermessnum = widget({
type = 'textbox',
name = 'getmcabbermessnum',
align = 'right'})

wicked.register(
getmcabbermessnum,
mcabber_mess,
" $1 ")
Also add hook after hourse hook:
awful.hooks.timer.register(3, function() getmcabbermessnum.text = mcabber_mess() end)
Add getmcabbermessnum in your mywibox[s].widget array.

All done! Restart awesome and enjoy it. I will answer any questions in comments.



P.S thanks a lot people in IRC chanel, and my friend for help =)

пятница, 31 июля 2009 г.

now, in english only

The most part of users of it blog service prefer english language. Therefore now all records i will publish on it. it is necessary for me only, for practice for my knowledge of language.

среда, 22 июля 2009 г.

Интернет на нетбук через bluetooth

Прикупив себе не так давно asus eee pc 1000h я озадачился тем, как бы обеспечить его беспроводным интернетом. Так как я весьма не богат, я решил попробовать раздать интернет со своего рабочего компа, на мой еее через bluetooth.

ОС и на компьютере и на нетбуке у меня была одинаковой - Archlinux

Внимание: Проверял все это на ОС Archlinux, но в теории должно работать и на других linux дистрибутивах с не значительными изменениями. Так же необходимо делать все шаги так, как они описаны здесь. Иначе у вас может ничего не получиться!

И так понадобиться нам обычный bluetooth usb адаптер и немного tелания. Настроить bluetooth в archlinux можно по этой статье.

Далее компьютер с которого будет раздаваться интернет будет сервер, а нетбук - клиент.

На сервере выполняем
sudo pand --listen --role NAP --master
Далее идем к клиенту.
hcitool scan
В найденных устройствах находим компьютер и запоминаем его MAC адрес.
sudo pand --connect COMP_MAC --service NAP
Вместо COMP_MAC подставляем mac адрес полученный нами до этого.
sudo ifconfig bnep0 192.168.2.2
sudo route add default gw 192.168.2.1
Все. С "клиентом" разобрались. Далее идем к серверу.
sudo ifconfig bnep0 192.168.2.1

Теперь обе машины видят друг друга. Осталось только разрешить на сервере нужный нам траффик. Для этого нам понадобятся iptables.
sudo iptables -t nat -I POSTROUTING -s 192.169.2.2 -j MASQUERADE
Осталось запустить iptables командой:
sudo /etc/rc.d/iptables start
Все. Теперь все что видит сервер, видит и клиент. Осталось сохранить iptables правила и добавить в "массив демонов" в /etc/rc.conf.
sudo /etc/rc.d/iptables save
Не забываем проверить на клиенте файл /etc/resolv.conf на предмет DNS адресов таких же, как и на сервере.

Как автоматизировать я еще не совсем придумал. Есть определенные ограничения. Как придумаю обязательно напишу.