Pull to refresh
  • by relevance
  • by date
  • by rating

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

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

Читать дальше →
Total votes 137: ↑128 and ↓9 +119
Views 4.8K
Comments 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 хабра.
Total votes 14: ↑9 and ↓5 +4
Views 1.2K
Comments 2

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

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

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

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

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

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

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

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

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

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
Views 1.2K
Comments 43

И да придет Haskell…

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

И да придет Haskell…

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

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

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
Views 8.4K
Comments 23

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

Development for iOS *
image
Promo site

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

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

image

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

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

Configuring Linux *
Sandbox
Как я дошел до жизни такой

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

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

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

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

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

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

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

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

Desktop environments *
Продолжение моего т.н. знакомства с WM Awesome

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

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

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

Desktop environments *
Третья часть моего поста (предыдущую можно найти тут)

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

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

Development for Android *
Привет!

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


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

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

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



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