Ну что же. Как-то давно не занимался писаниной в свой блог. Вот, добрался =)
Студент. 2 семестр 2 курса. Зимнюю сессию закрыл не совсем на ура, но учитывая мой уровень раздолбайства и уровень нагрузки, который был на моих плечах это очень даже хорошие показатели =)
Съездил домой. Всего-то 10 дней был в отчем доме. И вот я уже четвертую неделю учусь. Учусь ли? не думаю. Скорее очень сильно раздолбайствую. Надо взять себя в руки и позакрывать все те хвосты, что уже накопил. Кстати да, в этом семестре меня опять ждет немного халявы -- надо до сдать 1 тему по дискретке и мне перезачтут экзаменационную оценку из моего старого вуза. Это вносит хоть какой-то позитив в эти скучные дни.
В универе открыли доступ по вайфайке в асю через джаббер. Теперь на некоторых особенно скучных парах можно сидеть в аське, а не подыхать от скуки =)))))
суббота, 14 ноября 2009 г.
Не забыл о своем блоге
Да.. давно я не писал сюда.
Ну что же. Уже 2 с половиной месяца в Таганроге. Здесь, конечно, хорошо, но всеравно тянет домой, к друзьям, которые остались там.
Дела обстоят не очень хорошо. 2 раза завалил сдачу правоведения. В среду иду еще 1 раз сдавать. Со следующей недели начинаются рейтинговые контрольные работы. По психологии уже набрал балов на минимум. Это уже радует. В понедельник сдавать вычмат. Надеюсь, все пройдет как по маслу. Остается еще целая куча предметов-долгов, которые надо сдать до конца семестра. Как буду выкручиваться - не знаю. Так же надо пойти заплатить за физру, потому что пропустил много пар и сдавать зачеты не буду потому что здоровье подорвано простудой =(
Хотя все не так уж и плохо как кажется. В воскресенье будет очередной флешмоб "бен-бен". Там будет очень весело, я в этом уверен )
Ну что же. Уже 2 с половиной месяца в Таганроге. Здесь, конечно, хорошо, но всеравно тянет домой, к друзьям, которые остались там.
Дела обстоят не очень хорошо. 2 раза завалил сдачу правоведения. В среду иду еще 1 раз сдавать. Со следующей недели начинаются рейтинговые контрольные работы. По психологии уже набрал балов на минимум. Это уже радует. В понедельник сдавать вычмат. Надеюсь, все пройдет как по маслу. Остается еще целая куча предметов-долгов, которые надо сдать до конца семестра. Как буду выкручиваться - не знаю. Так же надо пойти заплатить за физру, потому что пропустил много пар и сдавать зачеты не буду потому что здоровье подорвано простудой =(
Хотя все не так уж и плохо как кажется. В воскресенье будет очередной флешмоб "бен-бен". Там будет очень весело, я в этом уверен )
понедельник, 31 августа 2009 г.
MPD + Gajim
В течение уже долгого времени использую любимую связку MPD+Sonata для прослушивания своей аудиотеки.
Для общения использую Gajim -- джаббер клиент, написанный на Python'е. Нареканий работа данного клиента не вызывает и поэтому причин менять его нет.
Захотелось сделать вывод информации о прослушиваемом треке в статус всех аккаунтов гаджима. Полазив в настройках нашел галочку "отображать в статусном сообщении название проигрываемого трека". Но никаких изменений в статусе не наблюдалось. Полазив в расширенных настройках тоже ничего не нашел. Обратился к гуглю за помощью. Наткнулся на несколько вариантов реализации, но только лишь один из них показался мне наиболее вменяемым.
Итак, преступим к настройке. Для начала надо скачать архив по ссылке: mpd-gajim-info
Далее устанавливаем MPC - Music Player Client
Для общения использую Gajim -- джаббер клиент, написанный на Python'е. Нареканий работа данного клиента не вызывает и поэтому причин менять его нет.
Захотелось сделать вывод информации о прослушиваемом треке в статус всех аккаунтов гаджима. Полазив в настройках нашел галочку "отображать в статусном сообщении название проигрываемого трека". Но никаких изменений в статусе не наблюдалось. Полазив в расширенных настройках тоже ничего не нашел. Обратился к гуглю за помощью. Наткнулся на несколько вариантов реализации, но только лишь один из них показался мне наиболее вменяемым.
Итак, преступим к настройке. Для начала надо скачать архив по ссылке: mpd-gajim-info
Далее устанавливаем MPC - Music Player Client
sudo apt-get install mpcРаспаковываем архив в любую папку и переходим в нее:
tar -xvvzf mpd-gajim-info-1.1.0.tar.g && cd mpd-gajim-info-1.1.0Далее нужно установить этот скрипт:
sudo make installВот, собственно, и все. Теперь нужно просто запустить этот скрипт:
mpd-gajim-infoДля получения дополнительных параметров запуска набираем в консоли:
man mpd-gajim-info
вторник, 25 августа 2009 г.
Основы настройки Awesome для новичков
Awesome - это динамический оконный менеджер для X Window System (C) Wikipedia.
Долгое время я использовал в качестве оконного менеджера и графической рабочей среды на своей убунте - Gnome. В процессе использования гнома пробовал все "рюшечки и цветочки" типа Compiz, Screenlets, GDesklets и прочее, которые очень быстро надоели. Конечно, красивая система - это хорошо. Но для того ли она стоит у меня чтобы играться с интерфейсом? Со временем удалил компиз и проче, описанное выше, из системы за ненадобностью. Хотелось как-то улучшить юзабельность своей системы и уменьшить объем занимаемой оперативной памяти, да и вообще - оптимизации системы для более быстрой работы. Начал пробовать различные оконные менеджеры - BlackBox, IceWM, Openbox. В итоге остановился на Openbox. Удалил гнома. Некоторое время жил на опенбоксе, после чего заметил за собой тенденцию к расположению окон мозайкой - это был следующий шаг в моем пути к тайлинговым(или, как их еще называют, мозаечным) оконным менеджерам. Прелесть таких WM в том, что все управление производится с клавиатуры и окна распологаются "мозайкой", т.е. не перекрывают друг друга. Тайлинговых WM огромное множество: XMonad, Ion, DWM, Awesome. И это только наиболее известные. Испробовал я все из них, и больше всех мне поравился Awesome.
Конфигурация Awesome происходит путем правки одного единственного файла конфига: ~/.config/awesome/rc.lua.
Конфигурационный файл написан на скриптовом языке программирования Lua. Многие считают этот язык крайне не понятным и невменяемым, как и самого автора, который "заставляет" своих пользователей учить этот язык. На мой взгляд, этот язык очень удобне и прост в освоении. Более того, произвести базовую конфигурацию Awesome можно и без знания языка, поскольку в конфигурационном файле все описано.
Устанавливается Awesome в Ubuntu просто:
Итак, приступаем к конфигурации данного WM.
Первым делом создадим папку(если ее не существует):
Далее надо скопировать готовый файл конфигурации(делаем это от простого пользователя, что очень важно):
Итак, мы создали файл конфигурации, который будем редактировать дальше.
Стоит отметить следующие понятия в языке Lua и терминологии Awesome в целом:
Открываем файл конфигурации Awesome используя свой любимый текстовый редактор:
Описывать всю грамматику языка я не буду. Опишу только основные моменты по ходу дела.
Первое, что мы видим, это то, что комментарии здесь выделяются "--" в начале строки.
Далее идет объявление используемых модулей: require("awful")
Следующим шагом явлется присвоение переменной theme_path пути к папке с установленными темами. Точно так же можно скопировать папку со стандартной темой и модифицировать ее в соответствии со своими вкусами. Не лишним будет сказать, что с Awesome идут 2 темы: dark и sky. Для выбора одной из них просто нужно откомментировать/закомментировать нужную строку.
terminal = "x-terminal-emulator" -- дефолтный терминал, который будет использоваться для открытия из меню.
editor = os.getenv("EDITOR") or "editor" -- дефолтный редактор. Назначается как дефолтный по всей системе, но можно указать и свой, не затрагивая общесистемные настрйоки.
editor_cmd = terminal .. " -e " .. editor -- параметры запуска редактора в терминале.
modkey = "Mod4" -- кнопка-модификатор. По умолчанию это Winkey. Да-да. Это та самая кнопка с флажком Windows. Ее можно изменить на удобную Вам.
use_titlebar = false -- отказываемся от использования заголовка окна. Что это такое -- смотрите выше. Для его включения надо, естественн, установить значение в true.
Данный кусок кода создает 9 тэгов для каждого мониторов
Конечно, можно создать n своих собственных тэгов со своими именами. Для этого используем код следующего содержания:
tags[1][1] = tag({name = "one", layout = layouts[2]}) -- 1 тэг на 1 мониторе с именем one и 2 вариантом расположения клиентов.
tags[1][2] = tag({name = "two", layout = layouts[1]}) -- 2 тэг на 1 мониторе с именем two и 1 вариантом расположения клиентов.
Следующий за этим код не представляет нам никакого интереса, ибо описывает размещение элементов на верхней панели. Если кому интересно, то опишу этот момент в следующей статье.
Дошли до секции "Mouse bindings":
Секция "Key bindings" описывается просто:
Каждая команда назначается функцией языка Lua: keybinding(<сочетание клавиш>, вызываемая_функция).
На этом пункте стоит остановиться подробнее, поскольку можно заметить 2 варианта вызова этой функции:
Функция вызывается с 3 параметрами. Рассмотрим на приведенных выше примерах.
Первый параметр - это те клавиши, которые будут постоянно удерживаться в данной комбинации. В 1 примере это только лишь клавиша Mod4, а во 2 примере это Mod4+Control.
Второй параметр - это клавиша, которая будет финальной в комбинации. В первом примере это клавиша m, а во втором - k.
Третий параметр - функция, которая выполнится в случае нажатия комбинации.
Получается, что первым параметром указывается клавиша-модификатор+дополнительные клавиши(Alt, Control). Вторым параметром - клавиша комбинации - любая клавиша кроме тех, которые задействованы в первом параметре. И третьим параметром - испольняемая функция (их можно найти в справочнике по Lua).
Наверно, Вы заметили, что часы показывают время в каком-то нестандартном и непонятном для нас формате. Найдем самый последний блок в конфиге:
После такого действия мы получим время в формате "День Месяц Число чч::мм::сс Год".
Вот и весь краткий обзор настройки Awesome в Linux. Как оказалось, не такое уж это и сложное дело - чтение комментариев и манов. =) Удачи в настройке.
Долгое время я использовал в качестве оконного менеджера и графической рабочей среды на своей убунте - Gnome. В процессе использования гнома пробовал все "рюшечки и цветочки" типа Compiz, Screenlets, GDesklets и прочее, которые очень быстро надоели. Конечно, красивая система - это хорошо. Но для того ли она стоит у меня чтобы играться с интерфейсом? Со временем удалил компиз и проче, описанное выше, из системы за ненадобностью. Хотелось как-то улучшить юзабельность своей системы и уменьшить объем занимаемой оперативной памяти, да и вообще - оптимизации системы для более быстрой работы. Начал пробовать различные оконные менеджеры - BlackBox, IceWM, Openbox. В итоге остановился на Openbox. Удалил гнома. Некоторое время жил на опенбоксе, после чего заметил за собой тенденцию к расположению окон мозайкой - это был следующий шаг в моем пути к тайлинговым(или, как их еще называют, мозаечным) оконным менеджерам. Прелесть таких WM в том, что все управление производится с клавиатуры и окна распологаются "мозайкой", т.е. не перекрывают друг друга. Тайлинговых WM огромное множество: XMonad, Ion, DWM, Awesome. И это только наиболее известные. Испробовал я все из них, и больше всех мне поравился Awesome.
Конфигурация Awesome происходит путем правки одного единственного файла конфига: ~/.config/awesome/rc.lua.
Конфигурационный файл написан на скриптовом языке программирования Lua. Многие считают этот язык крайне не понятным и невменяемым, как и самого автора, который "заставляет" своих пользователей учить этот язык. На мой взгляд, этот язык очень удобне и прост в освоении. Более того, произвести базовую конфигурацию Awesome можно и без знания языка, поскольку в конфигурационном файле все описано.
Устанавливается Awesome в Ubuntu просто:
sudo apt-get install awesome
Итак, приступаем к конфигурации данного WM.
Первым делом создадим папку(если ее не существует):
mkdir -p ~/.config/awesome/
Далее надо скопировать готовый файл конфигурации(делаем это от простого пользователя, что очень важно):
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/
Итак, мы создали файл конфигурации, который будем редактировать дальше.
Стоит отметить следующие понятия в языке Lua и терминологии Awesome в целом:
- Screen -- это не объект, а реальный монитор, подключенный к Вашему компьютеру. Нумерация идет не с 0, а с 1.
- Client -- это окно приложения
- Tag -- Тэги - это что-то подобное рабочим столам, но это понятие менее жесткое. Каждый клиент имеет по крайней мере один тэг, ему соответсвующий. Каждый экран также содержит как минимум один тэг. В любой момент на экране вы можете просматривать любое количество тэгов. Отображение без тэгов скроет все клиенты. Просмотр одного и более тэгов отобразит на экране все приложения с этими тэгами.
- Widget -- объект, выводящий информацию на экран
- Titlebar -- заголовок окна - это полоса вокруг приложения, присоединенная к нему. На нее можно добавлять виджеты
- Statusbar -- строка состояния. Это полоса, закрепленная на границе экрана. На нее можно добавлять виджеты.
Открываем файл конфигурации Awesome используя свой любимый текстовый редактор:
emacs ~/.config/awesome/rc.lua
Описывать всю грамматику языка я не буду. Опишу только основные моменты по ходу дела.
Первое, что мы видим, это то, что комментарии здесь выделяются "--" в начале строки.
Далее идет объявление используемых модулей: require("awful")
Следующим шагом явлется присвоение переменной theme_path пути к папке с установленными темами. Точно так же можно скопировать папку со стандартной темой и модифицировать ее в соответствии со своими вкусами. Не лишним будет сказать, что с Awesome идут 2 темы: dark и sky. Для выбора одной из них просто нужно откомментировать/закомментировать нужную строку.
terminal = "x-terminal-emulator" -- дефолтный терминал, который будет использоваться для открытия из меню.
editor = os.getenv("EDITOR") or "editor" -- дефолтный редактор. Назначается как дефолтный по всей системе, но можно указать и свой, не затрагивая общесистемные настрйоки.
editor_cmd = terminal .. " -e " .. editor -- параметры запуска редактора в терминале.
modkey = "Mod4" -- кнопка-модификатор. По умолчанию это Winkey. Да-да. Это та самая кнопка с флажком Windows. Ее можно изменить на удобную Вам.
layouts =список раскладок. Их всего 12. Описывать каждую не имеет смысла. Как говорится, лучше 1 раз увидеть, чем 100 раз услышать.
{
"tile",
"tileleft",
"tilebottom",
"tiletop",
"fairh",
"fairv",
"magnifier",
"max",
"fullscreen",
"spiral",
"dwindle",
"floating"
}
floatapps =список приложений, которые будут запущены в режиме float, т.е. не будут прикреплены к сетке мозайки
{
["MPlayer"] = true,
["gimp"] = true,
}
apptags =список приложений, которые будут помещены на определенные места при запуске. Так, в данном примере браузер Firefox будем помещен на 2 тэг 1 экрана. Sonata будет помещена на 4 таг 2 монитора. Все просто и понятно. Не так ли? =)
{
["Firefox"] = { screen = 1, tag = 2 },
["sonata"] = { screen = 2, tag = 4 },
}
use_titlebar = false -- отказываемся от использования заголовка окна. Что это такое -- смотрите выше. Для его включения надо, естественн, установить значение в true.
Данный кусок кода создает 9 тэгов для каждого мониторов
tags = {} -- массив тэгов
for s = 1, screen.count() do -- простой цикл от 1 до количества мониторов
-- Каждый монитор имеет свои собственные тэги
tags[s] = {}
-- Создаем 9 тэгов на монитор
for tagnumber = 1, 9 do -- опять таки, цикл от 1 до 9
tags[s][tagnumber] = tag({ name = tagnumber, layout = layouts[1] }) -- создаем тэг с номеров в качестве имени и 1 вариантом расположения
-- Add tags to screen one by one
tags[s][tagnumber].screen = s -- добавляем тэг на монитор
end
-- выбираем первый тэг чтобы видеть его содержимое
tags[s][1].selected = true
end
Конечно, можно создать n своих собственных тэгов со своими именами. Для этого используем код следующего содержания:
tags[1][1] = tag({name = "one", layout = layouts[2]}) -- 1 тэг на 1 мониторе с именем one и 2 вариантом расположения клиентов.
tags[1][2] = tag({name = "two", layout = layouts[1]}) -- 2 тэг на 1 мониторе с именем two и 1 вариантом расположения клиентов.
Следующий за этим код не представляет нам никакого интереса, ибо описывает размещение элементов на верхней панели. Если кому интересно, то опишу этот момент в следующей статье.
Дошли до секции "Mouse bindings":
awesome.buttons({
button({ }, 3, function () mymainmenu:toggle() end), -- 3 кнопка (т.е. правая кнопка) мыши вызывает меню
button({ }, 4, awful.tag.viewnext), -- 4 кнопка (т.е. прокручивание колесика вверх) переключается на следующий тэг
button({ }, 5, awful.tag.viewprev) -- 5 кнопка (т.е. прокручивание колесика вниз) переключается на предыдущий тэг
})
Секция "Key bindings" описывается просто:
Каждая команда назначается функцией языка Lua: keybinding(<сочетание клавиш>, вызываемая_функция).
На этом пункте стоит остановиться подробнее, поскольку можно заметить 2 варианта вызова этой функции:
- keybinding({ modkey }, "m", awful.client.maximize):add()
- keybinding({ modkey, "Control" }, "k", function () awful.screen.focus(-1) end):add()
Функция вызывается с 3 параметрами. Рассмотрим на приведенных выше примерах.
Первый параметр - это те клавиши, которые будут постоянно удерживаться в данной комбинации. В 1 примере это только лишь клавиша Mod4, а во 2 примере это Mod4+Control.
Второй параметр - это клавиша, которая будет финальной в комбинации. В первом примере это клавиша m, а во втором - k.
Третий параметр - функция, которая выполнится в случае нажатия комбинации.
Получается, что первым параметром указывается клавиша-модификатор+дополнительные клавиши(Alt, Control). Вторым параметром - клавиша комбинации - любая клавиша кроме тех, которые задействованы в первом параметре. И третьим параметром - испольняемая функция (их можно найти в справочнике по Lua).
Наверно, Вы заметили, что часы показывают время в каком-то нестандартном и непонятном для нас формате. Найдем самый последний блок в конфиге:
-- Hook called every second
awful.hooks.timer.register(1, function ()
-- For unix time_t lovers
-- mytextbox.text = " " .. os.time() .. " time_t "
-- Otherwise use:
mytextbox.text = " " .. os.date() .. " " -- вот это та строка, которую нужно раскомментировать и закомментировать другую.
--mytextbox.text = "" .. os.date(" %R ") .. .. os.date("%m-%d") .. ""
end)
-- }}}
После такого действия мы получим время в формате "День Месяц Число чч::мм::сс Год".
Вот и весь краткий обзор настройки Awesome в Linux. Как оказалось, не такое уж это и сложное дело - чтение комментариев и манов. =) Удачи в настройке.
Подписаться на:
Сообщения (Atom)