пятница, 11 февраля 2011 г.

Python - первый блин без "Hello world"

Решил я как-то немного познакомиться с python'ом, но всё никак не было времени на это знакомство. Тут вроде время появилось, но банальные helloworld'ы писать не хотелось, а что-то придумать надо, но никак не идёт... Вспомнилось, что иногда мне нужен простой таймер на компьютере, чтобы я его запустил и он бы сам мне напомнил о себе по окончании отсчёта. Увы, так как я давно работаю только под linux, никаких готовых инструментов тогда не нашлось и приходилось обходиться однострочником на perl'е, который через заданное кол-во секунд запускал проигрывание мелодии, не могу сказать что мне это было сложно или неудобно, но хотелось обычной юзерской простоты - ткнул в пару кнопок мышкой и отсчёт пошёл.
Ну вот вроде все необходимое нашлось (время, желание, идея), пора приступать.
Бегло пробежался по http://python.about.com/od/gettingstarted/u/Basic-Python.htm. Потом изучил контент ещё по паре ссылок услужливо предложенных гуглом (сейчас уже не вспомню по каким). Вроде всё понятно, особо ничего сложного нет.

Убедился, что python и pygtk у меня установлен. Можно начинать пытаться что-то кодить. :)

Идея прогаммы простая: появляется окно, вводим время до окончания отсчёта, жмём "старт" и, когда таймер дойдёт до нуля, программа нам об этом должна сообщить.

На деле всё оказалось и сложнее и легче одновременно.
В пакет pygtk входит замечательная программка pygtk-demo, которая предоставляет набор разных небольших демок, описание к ним и исходники на python'е. Демок для первого знакомства вполне достаточно и писались они, скорее всего, разными людьми, так что подход к похожим вещам в них разный, что будет полезно новичку для ознакомления с разными стилями...
Так что в результате всё свелось к изучению готового кода и написанию своего с подглядыванием в pygtk-demo.

Так как после опыта кодинга на python'е прошло уже достаточно времени и я уже ничего не помню )) + дабы не усложнять и не удлинять описание, сразу перейдём к результату.

 Программка получилась достаточно простая, не затейливая, но вполне справляющаяся со своей функцией, ради которой она и писалась.
Выглядит так:
Сообщает о себя вылезанием на передний план и выдачей дополнительного окна с сообщением об оконченном отсчёте.
Думал добавить звуковое сопровождение, но оказалось что незаметно подкралось утро, хотя я и садился за это дело буквально на часик перед сном :), поэтому дальнейшее ковыряние оставил на потом. Собственно поэтому и пишу, что написание программки оказалось сложнее - время пролетело совсем незаметно, в результате на это первое знакомство ушло несколько часов, которые я вполне мог бы отсыпаться.
Ну и, собственно, получившийся код: прямая ссылка, либо через сокращалку http://goo.gl/h6Bia

среда, 9 февраля 2011 г.

"Flash block" в Opera

Блокировку флеша в опере можно включить кроме описанного ранее способа, ещё и простой галочкой в настройках самой оперы: