Pull to refresh

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

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

Читать дальше →
Total votes 137: ↑128 and ↓9 +119
Comments 111

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

Reading time 1 min
Views 1.4K
*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 хабра.
Total votes 14: ↑9 and ↓5 +4
Comments 2

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

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

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

Читать дальше →
Total votes 43: ↑32 and ↓11 +21
Comments 45

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

Reading time 8 min
Views 17K
Configuring Linux *
Translation
Два года назад, работая над Awesome, я присоединился к разработке XCB, который является частью инициативы Freedesktop. Мне пришлось изучить тайны протокола X11 и весь древний и таинственный мир, окружающий его.

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

Читать дальше →
Total votes 294: ↑283 and ↓11 +272
Comments 144

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

Reading time 1 min
Views 2.2K
Smartphones

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

И да придет Haskell…

Reading time 3 min
Views 2.4K
Haskell *
Translation
Странно, что это пришло мне в голову — я просто смотрел на Common Lisp и объяснение принципов его работы, ну еще немного на инструментарий Haskell.

И да придет Haskell…

Haskell — она как «та девчонка», ну вы знаете…
Читать дальше →
Total votes 153: ↑99 and ↓54 +45
Comments 51

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

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

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

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

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

Reading time 3 min
Views 4.3K
Development for iOS *
image
Promo site

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

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

image

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

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

Reading time 8 min
Views 4.9K
Configuring Linux *
Sandbox
Как я дошел до жизни такой

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

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

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

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

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

Qt 5.0.0 вышел!

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



Читать дальше →
Total votes 143: ↑132 and ↓11 +121
Comments 117

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

Reading time 7 min
Views 29K
Desktop environments *
Sandbox
Разговор пойдёт о моём первом знакомстве с таким оконным менеджером, как Awesome. Долгое время я использовал Gnome2, потом пробовал Gnome3, решил испробовать kde, но ничего из этого не удовлетворило меня. Да, к слову, у меня Gentoo. Да, статья ориентирована на таких же как и я новичков — дабы упростить жизнь.
Читать дальше →
Total votes 15: ↑9 and ↓6 +3
Comments 13

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

Reading time 9 min
Views 13K
Desktop environments *
Продолжение моего т.н. знакомства с WM Awesome

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

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

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

Reading time 7 min
Views 20K
Desktop environments *
Третья часть моего поста (предыдущую можно найти тут)

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

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

Reading time 11 min
Views 68K
Development for Android *
Привет!

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


Читать дальше →
Total votes 34: ↑31 and ↓3 +28
Comments 20

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

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



Перевод статьи: Ксения Кузяева
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 23

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

Reading time 2 min
Views 16K
Krita Foundation corporate blog Open source *
Tutorial
Translation


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

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

Читать дальше →
Rating 0
Comments 0
1