Как стать автором
Обновить

Gmail Notifier своими руками

Настройка Linux *
image Начал я обустраиваться под Linux'ом и обнаружил, что мне сильно не хватает тех красивых попапов, уведомляющих о приходе новой почты, которые умеет показывать Google Talk под Windows. Гугление обнаружило несколько готовых скриптов, позволяющих реализовать подобные попапы (среди прочих: bash-скрипт, bash-скрипт + python-скрипт, плюс pidgin умеет проверять почту), но все подходы слегка уродливы были мне не по душе и требовали доработки напильником, поэтому я решил сделать всё с нуля (пусть будет уродливое, но своё!). О вещах, с которыми я столкнулся в процессе и пойдёт речь…

Читать дальше →
Всего голосов 137: ↑128 и ↓9 +119
Просмотры 4.8K
Комментарии 111

виджет кармы для awesome wm

*nix *
Сильно не пинайте, решил просто поделиться.
Пишем xml парсер, который вытягивет данные о карме и хабрасиле:
#!/usr/bin/perl

use XML::Simple;
use Net::HTTP;

my $s = Net::HTTP->new(Host => "habrahabr.ru") || die $@;
#поменяйте на свой username
$s->write_request(GET => "/api/profile/%username%/", 'User-Agent' => "Mozilla/5.0 (+http://www.reid.ru/freebsd/?page_id=15)");
my($code, $mess, %h) = $s->read_response_headers;

while (1) {
    my $buf;
    my $n = $s->read_entity_body($buf, 1024);
    die "read failed: $!" unless defined $n;
    last unless $n;
    $data = $buf;
}

my $s = XMLin($data);
$karm = $s->{karma};
$rating = $s->{rating};
print "$karm\/$rating";


В rc.lua пишем:
-- определяем виджет
karma_text = widget({ type = "textbox", align = "right" })
function get_karm()
 -- указываем путь к скрипту
 local karm =  awful.util.pread("~/.config/awesome/zoom/bin/karma")
 karma_text.text = "" .. setFg("#e8ef1b", karm) .. ""
end
...
-- указываем где он должен располагаться
mywibox[s].widgets = {
...
 karma_text
...
}
-- вызываем его при запуске awesome
get_karm()
-- и вызываем каждые 15 минут
awful.hooks.timer.register(900, function() get_karm() end)


Результат (для полноты показываю весь трей):
image

Внимательно ознакомьтесь с правилами API хабра.
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 1.2K
Комментарии 2

Скратчпад с mcabber в awesome WM

Настройка Linux *
В этом топике я расскажу, как с помощью модуля scratch я настроил удобный вызов и скрытие консольного джаббер-клиента mcabber в оконном менеджере awesome по хоткею. Это позволило мне освободить целый тэг, который раньше был занят под чат-клиент, плюс не нужно убирать фокус с текущего тега, с которым сейчас работаешь. Yeahconsole для этой задачи мне не подошла, т.к. у нее нет поддержки true-transparency(alpha channel), и она иногда криво отображает ncurses приложения.

Софт, используемый в данной схеме: awesome, screen, urxvt, mcabber, модуль scratch.

Читать дальше →
Всего голосов 43: ↑32 и ↓11 +21
Просмотры 2.8K
Комментарии 45

Мысли вслух о протоколе X

Настройка Linux *
Перевод
Два года назад, работая над Awesome, я присоединился к разработке XCB, который является частью инициативы Freedesktop. Мне пришлось изучить тайны протокола X11 и весь древний и таинственный мир, окружающий его.

За последние несколько месяцев я наконец-то смыл с себя всю эту грязь, и теперь чувствую необходимость поделиться своими размышлениями относительно всего этого беспорядка, длящегося десятилетиями.

Читать дальше →
Всего голосов 294: ↑283 и ↓11 +272
Просмотры 16K
Комментарии 144

Стартовало обновление Android 2.2 для смартфонов HTC Legend

Смартфоны

Ура, товарищи! Это случилось!
С 9 декабря запущено официальное FOTA-обновление до Android 2.2 (Froyo) всех смартфонов HTC Legend, которые продаются в Европе и не привязаны к операторам (аппараты, привязанные к операторам обновились чуть раньше).
Обновление проходит в два этапа: получаем обновление прошивки до версии 2.05.405.2 [около 25Мб], затем — 3.15.405.2 [82,5Мб].
Читать дальше →
Всего голосов 25: ↑15 и ↓10 +5
Просмотры 1.2K
Комментарии 43

И да придет Haskell…

Haskell *
Перевод
Странно, что это пришло мне в голову — я просто смотрел на Common Lisp и объяснение принципов его работы, ну еще немного на инструментарий Haskell.

И да придет Haskell…

Haskell — она как «та девчонка», ну вы знаете…
Читать дальше →
Всего голосов 153: ↑99 и ↓54 +45
Просмотры 2.3K
Комментарии 51

Настройка Archlinux на ASUS Eee 1201NL

Настройка Linux *
После того, как я устроился на работу адинистратором одного веб-проекта, появилась необходимость иногда что-то делать, находясь вне дома/офиса. Так как основной задачей в таких ситуациях было зайти на сервер по SSH и в браузере проверить результат действий, то решил остановить выбор на нетбуке. Но очень не хотелось распространённго разрешения 600px по вертикали. И всё-таки хотелось использовать нетбук не только для SSH, но и для прочих приятностей, вроде просмотра фильмов. Естественно, планировалось работать под Linux, поэтому требовалась нормальная поддержка оборудования.

В результате, остановился на «непонятном недоразумении» ASUS Eee PC 1201NL. Это такой своеобразный нетбук. Очень своеобразный.
Во-первых у него диагональ аж 12", что неприлично много для устройств этого класса.
Во-вторых, разрешение экрана 1366x768, что очень неплохо, но мелковато, если не настраивать более крупное значение DPI.
В-третьих он на базе платформы nVidia ION, что даёт хорошую производительность для подобных устройств. Недостатком является малое время работы — часа 4 со включенным bluetooth/wi-fi, если запустить какую-нибудь требовательную программу (например, игру Neverwinter Nights), то время снизится ещё сильнее.

Можно сделать вывод, что, по сути, данное решение является полноценным недорогим маленьким ноутбуком. Хоть и на базе процессора Intel Atom.
Читать дальше →
Всего голосов 62: ↑49 и ↓13 +36
Просмотры 8.5K
Комментарии 23

Jets – Flight & Seat Advisor – приложение для выбора мест в самолетах

Разработка под iOS *
image
Promo site

Идея приложения возникла давно, я вынашивал ее больше года, начинал писать самостоятельно, но все не находилось времени и сил по вечерам. В итоге, в какой-то момент собралась команда из 3 человек с горящими глазами, ушли с постоянной работы и серьезно погрузились в проект. Несколько дней тому назад — запустились в Travel разделе.

Совсем вкратце — наше приложение содержит большую базу пассажирских авиакомпаний и их флота. Для каждого из самолетов мы сделали детальные и очень красивые схемы их салонов, на которых показываем расположение классов, рядов, перегородки и прочий интерьер, выделяя цветами «особенные» места.

image

Каждая компания покупает новый самолет на заводе с практически пустым салоном и уже персонально под себя заказывает его «тюнинг», расставляя кресла и кабинки туалетов под свои нужды. Из-за этого, сиденья в пределах одного класса могут весьма сильно отличаться по уровню комфорта. Первый ряд кресел перед аварийными выходами имеет в разы больше места для ног, а у последнего ряда перед туалетами могут быть заблокированы спинки кресел и регулярно толпится народ в очереди. У многих самолетов бывают сплошные участки в корпусе и вместо чудесного вида на горящий двигатель можно попасть на глухую стенку. Нюансов очень много и есть определенная вероятность попасть на кресло с заблокированной спинкой, электроящиком под ногами и полкой для ручной клади занятой спасательными жилетами. Такой 11 часовой трансатлантический перелет запомнится вам надолго. И тут на сцену врываемся мы!
Читать дальше →
Всего голосов 46: ↑39 и ↓7 +32
Просмотры 4.1K
Комментарии 42

Виджет «Бинарные часы» для Awesome

Настройка Linux *
Из песочницы
Как я дошел до жизни такой

Все началось с перехода на новое место работы. Хотя, нет… Все началось с Марлы со случайно увиденного где-то изображения с чудо-часами. Это изображение меня заинтересовало, я обратился к помощи википедии, и открыл для себя такую чудесную вещь, как бинарные часы (Binary-coded decimal clocks), после чего я, тогда изучавший в свободное время Java, настолько проникся этой концепцией отображения времени, что даже написал простенькое приложение с бинарными часами. Время шло, приложение то давно забылось, бинарные часы временно выпали из моего поля зрения и уютно устроились на чердаке памяти. Но тут череда событий перетряхнула этот чердак, и мысль о бинарных часах снова пошла в обработку мозгом.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Просмотры 4.7K
Комментарии 22

Взгляд рядового программиста на вектор изменения оболочек и что делать дальше

Настройка Linux *
imageLinux на моём компьютере уже 5 лет стоит как основная операционная система. Пришлось проходить через всякое: ставить разные дистрибутивы, как для фана, так и для работы. Почти все шесть лет я сидел на Gnome 2, и сейчас бы сидел, если бы не новый ноутбук, нормально работающий только на третьем ядре из-за каких-то драйверов. А с новым ядром пришла новая проблема: новые оболочки. В этом топике я просто опишу свои мысли насчет оболочек, чем они удобны или не удобны лично для меня. Так что, можете сразу ставить после каждого предложения ИМХО.
Подробности
Всего голосов 175: ↑136 и ↓39 +97
Просмотры 31K
Комментарии 291

Классный оконный менеджер — Awesome WM

Настройка Linux **nix *
imageЗдравствуйте! Прочитав недавно статью про оконные менеджеры в Linux, мне захотелось рассказать всем о менеджере, который был там упомянут — «awesome».
Это тайлинговый windows manager для unix (linux, freebsd, openbsd, netbsd).
Читать дальше →
Всего голосов 122: ↑114 и ↓8 +106
Просмотры 149K
Комментарии 79

Qt 5.0.0 вышел!

Программирование *Qt *
Они все-таки успели!
Буквально менее часа назад, новый владелец Qt Framework — компания Digia, объявила о выходе долгожданного релиза Qt 5.0



Читать дальше →
Всего голосов 143: ↑132 и ↓11 +121
Просмотры 67K
Комментарии 117

Моё знакомство с WM Awesome. Часть 1

Графические оболочки *
Из песочницы
Разговор пойдёт о моём первом знакомстве с таким оконным менеджером, как Awesome. Долгое время я использовал Gnome2, потом пробовал Gnome3, решил испробовать kde, но ничего из этого не удовлетворило меня. Да, к слову, у меня Gentoo. Да, статья ориентирована на таких же как и я новичков — дабы упростить жизнь.
Читать дальше →
Всего голосов 15: ↑9 и ↓6 +3
Просмотры 28K
Комментарии 13

Моё знакомство с WM Awesome. Часть 2

Графические оболочки *
Продолжение моего т.н. знакомства с WM Awesome

Первая часть статьи тут.

Тут объявляем все виджеты, которые буду использоваться. Сразу стоит отметить баг — при нажатии клавиши «отключить звук» звук исчезает, при повторном нажатии — на виджете отображает, что звук включён, но его нету. Приходится прописывать команду вручную в консоли, странно. Пока не нашёл как его исправить. И ещё смущает отображаение громкости — 90% по факту ~70 единиц в alsamixer, надо бы исправить, но никак не дойдёт руки. Ну а остальное вроде как интуитивно понятно
Читать дальше →
Всего голосов 15: ↑6 и ↓9 -3
Просмотры 13K
Комментарии 2

Моё знакомство с WM Awesome. Часть 3

Графические оболочки *
Третья часть моего поста (предыдущую можно найти тут)

В этом кусочке назначаем кнопки мыши и клавиатуры. Небольшое примечание: для Mod4 + PrntScr я назначил делать скриншот выделенной области, а на просто PtntScrn скриншот всего экрана, но второй случай не работает — не доходят руки разобраться (для скриншотов вам понадобится установить пакет xsnap
Читать дальше →
Всего голосов 17: ↑10 и ↓7 +3
Просмотры 20K
Комментарии 11

Анимации c помощью Transitions API

Разработка под Android *
Привет!

На хабре ещё не была освещена тема Transitions API для анимаций, которые появились в Android начиная с 4.4 (KitKat) и продолжили свое развитие в 5.0 (Lollipop). В своей статье я расскажу о том, как упростить работу с анимациями с их использованием и как применять их на любом устройстве с версией Android 4.0 и выше.


Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Просмотры 65K
Комментарии 20

Krita 2.9: Черновые профили кистей, заблокированные настройки и накопительная отмена

Блог компании Krita Foundation Open source *
Перевод
Tutorial
В только что вышедшем релизе Krita 2.9 был реализован один из проектов, выполенных в рамках Google Summer of Code 2014, над которым работал студент из Индии Мохит Гоял (Mohit Goyal). Это был достаточно сложный проект, поэтому предлагаем Вам краткое руководство по использованию новых функций: черновые профили кистей, заблокированные настройки и накопительная отмена!



Перевод статьи: Ксения Кузяева
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 14K
Комментарии 23

Krita 2.9: Выделение участков холста с помощью кисти

Блог компании Krita Foundation Open source *
Перевод
Tutorial


В версии Krita 2.9 мы избавились от Выделяющей кисти. Для этого было несколько причин: это была не настоящая кисть, у нее не было чувствительности к нажиму, с ее помощью сложно было увеличивать или уменьшать выделение. В замен ее в Krita 2.9 мы реализовали гораздо более мощную систему: возможность рисовать прямо на Маске выделения (Selection Mask). В этой статье мы хотели бы рассказать, как работает эта новая возможность.

Перевод статьи: Ксения Кузяева

Читать дальше →
Рейтинг 0
Просмотры 14K
Комментарии 0
1