dap: (Default)

За основу была взята эта статья, которая была переработана для openSUSE. Автору — огромное спасибо, раньше у меня никак не получалось это осилить, наверно, дело было udev, но за давностью я уже всего не упомню.

Установка демона и кдешной морды: sudo zypper in knutclient nut

В первую очередь надо создать правило udev, например, /lib/udev/rules.d/52-nut-usbips.rules такого содержимого для подключения по COM-порту:

# Ippon Back Power Pro 800
KERNEL=="ttyS0", GROUP="nut"

Пнём udevsudo udevadm control --reload-rules && sudo udevadm control trigger

В /etc/ups/nut.conf запиливаем строку MODE = standalone

В /etc/ups/ups.conf делаем (драйвер смотреть здесь):

[ippon-bpp-800]
 driver = blazer_ser
 port = /dev/ttyS0
 desc = "Ippon Back Power Pro 800"
 default.battery.voltage.high = 13.60
 default.battery.voltage.low = 10.60
 offdelay = 6
 ondelay = 7

В /etc/ups/upsd.conf делаем:

ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all

В /etc/ups/upsd.conf делаем:

[da]
        password = password
        allowfrom = localhost
        upsmon master
        actions = SET
        instcmds = ALL

В /etc/ups/upsmon.conf находим похожую строку и приводим к виду: MONITOR ippon-bpp-800@localhost 1 da password master

Перезапускаем сервис и помечаем его на автоматический запуск: sudo systemctl restart upsd.service && sudo systemctl enable upsd.service

Отслеживать состояние можно в терминале: upsc ippon-bpp-800 или запустить knutclient. Добавляем новый UPS:

  • Имя — Ippon Back Power Pro 800
  • UPS адрес — 127.0.0.1
  • UPS имя — ippon-bpp-800
  • Имя пользователя — da
  • Пароль — password

Выбираем необходимые переменные или все (те, что ИБП не поддерживает, просто не будут отображаться) и нажимаем ОК.

Я же просто добавил строчку в конфиг conkyIppon Back Power Pro 800 заряжен на ${exec upsc ippon-bpp-800 | grep charge | awk '{print $2}'}% T=${exec upsc ippon-bpp-800 | grep temperature | awk '{print $2}'}

dap: (Default)

За основу была взята эта статья, которая была переработана для openSUSE. Автору — огромное спасибо, раньше у меня никак не получалось это осилить, наверно, дело было udev, но за давностью я уже всего не упомню.

Установка демона и кдешной морды: sudo zypper in knutclient nut

В первую очередь надо создать правило udev, например, /lib/udev/rules.d/52-nut-usbips.rules такого содержимого для подключения по COM-порту:

# Ippon Back Power Pro 800
KERNEL=="ttyS0", GROUP="nut"

Пнём udevsudo udevadm control --reload-rules && sudo udevadm control trigger

В /etc/ups/nut.conf запиливаем строку MODE = standalone

В /etc/ups/ups.conf делаем (драйвер смотреть здесь):

[ippon-bpp-800]
 driver = blazer_ser
 port = /dev/ttyS0
 desc = "Ippon Back Power Pro 800"
 default.battery.voltage.high = 13.60
 default.battery.voltage.low = 10.60
 offdelay = 6
 ondelay = 7

В /etc/ups/upsd.conf делаем:

ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all

В /etc/ups/upsd.conf делаем:

[da]
        password = password
        allowfrom = localhost
        upsmon master
        actions = SET
        instcmds = ALL

В /etc/ups/upsmon.conf находим похожую строку и приводим к виду: MONITOR ippon-bpp-800@localhost 1 da password master

Перезапускаем сервис и помечаем его на автоматический запуск: sudo systemctl restart upsd.service && sudo systemctl enable upsd.service

Отслеживать состояние можно в терминале: upsc ippon-bpp-800 или запустить knutclient. Добавляем новый UPS:

  • Имя — Ippon Back Power Pro 800
  • UPS адрес — 127.0.0.1
  • UPS имя — ippon-bpp-800
  • Имя пользователя — da
  • Пароль — password

Выбираем необходимые переменные или все (те, что ИБП не поддерживает, просто не будут отображаться) и нажимаем ОК.

Я же просто добавил строчку в конфиг conkyIppon Back Power Pro 800 заряжен на ${exec upsc ippon-bpp-800 | grep charge | awk '{print $2}'}% T=${exec upsc ippon-bpp-800 | grep temperature | awk '{print $2}'}

dap: (Default)

В новостях проскочил интересный сайт: https://www.pythonanywhere.com, основной целью которого является предоставление удобной платформы для разработки на питоне, доступной через браузер. Я же нашёл его консоль полезной для ковыряния окололинуксовых ништяков, когда под рукой нет компа с линуксом. Из минусов: нет пинга и прочих сетевых утилит (ага, раскатал губу!), бесплатная версия заметно подтормаживает (от интернетов не зависит).

Хозяйке на заметку: чтобы получить список исполняемых файлов, известных шеллу, вбейте ls `echo $PATH | tr ":" " "`| less

Я не осилил установку утилит для работы с OBS в pythonanywhere, поэтому стал писать парсер веб-интерфейса, и по завершении меня озарило найти api.  Парсить его оказалось веселее =) В итоге мой сумрачный гений разродился таким скриптом.

Отдельные комрады обнаружили, что мой любимый баг с залипанием пропал в релизной бунте. Я решил качнуть xubuntu, потому что кеды у меня и так есть, я больше ни за что не полезу в unity, и я давно не тыкал крыску. Рвшку я посеял, запуститься с флешки не удалось, как я ни старался, поэтому я решил загрузиться прямо из образа. Нашёлся этот пост на хабре, который и был применён. Сначала я закинул образ на свой хомяк с btrfs, что было плохой идеей, если учесть степень любви груба и этой файловой системы. И я перекинул образ на корень. Epic win! Мне баг воспроизвести не удалось.

menuentry "Xubuntu 12.04 amd64" {
 set root='(hd1,msdos4)'
 loopback loop /xubuntu-12.04-desktop-amd64.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/xubuntu-12.04-desktop-amd64.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
}

PS Собрал у себя в хомяке тулзу для подсчёта хешев типа md5.

dap: (Default)

В новостях проскочил интересный сайт: https://www.pythonanywhere.com, основной целью которого является предоставление удобной платформы для разработки на питоне, доступной через браузер. Я же нашёл его консоль полезной для ковыряния окололинуксовых ништяков, когда под рукой нет компа с линуксом. Из минусов: нет пинга и прочих сетевых утилит (ага, раскатал губу!), бесплатная версия заметно подтормаживает (от интернетов не зависит).

Хозяйке на заметку: чтобы получить список исполняемых файлов, известных шеллу, вбейте ls `echo $PATH | tr ":" " "`| less

Я не осилил установку утилит для работы с OBS в pythonanywhere, поэтому стал писать парсер веб-интерфейса, и по завершении меня озарило найти api.  Парсить его оказалось веселее =) В итоге мой сумрачный гений разродился таким скриптом.

Отдельные комрады обнаружили, что мой любимый баг с залипанием пропал в релизной бунте. Я решил качнуть xubuntu, потому что кеды у меня и так есть, я больше ни за что не полезу в unity, и я давно не тыкал крыску. Рвшку я посеял, запуститься с флешки не удалось, как я ни старался, поэтому я решил загрузиться прямо из образа. Нашёлся этот пост на хабре, который и был применён. Сначала я закинул образ на свой хомяк с btrfs, что было плохой идеей, если учесть степень любви груба и этой файловой системы. И я перекинул образ на корень. Epic win! Мне баг воспроизвести не удалось.

menuentry "Xubuntu 12.04 amd64" {
 set root='(hd1,msdos4)'
 loopback loop /xubuntu-12.04-desktop-amd64.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/xubuntu-12.04-desktop-amd64.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
}

PS Собрал у себя в хомяке тулзу для подсчёта хешев типа md5.

dap: (Default)

Недавно хабролюди поделились любимыми плагинами, и я удосужился обновить парк своих плагинов:

  • ExtendTube удаляет рекламу на Youtube, позволяет скачивать видео, отключает автоматический старт воспроизведения.
  • Gcache при клике открывает страницу из текущей вкладки в гуглокэше.
  • Persistent Text восстанавливает текст, введённый ранее в текстовые поля, например, если вкладка случайно была закрыта.
  • NoAds Advanced — ещё один аддон для борьбы с рекламой.
  • Open With Long-Click — улучшенный конкурент open-in-background-with-long-press (автор которой, похоже, выпилился из сообщества).
dap: (Default)

Недавно хабролюди поделились любимыми плагинами, и я удосужился обновить парк своих плагинов:

  • ExtendTube удаляет рекламу на Youtube, позволяет скачивать видео, отключает автоматический старт воспроизведения.
  • Gcache при клике открывает страницу из текущей вкладки в гуглокэше.
  • Persistent Text восстанавливает текст, введённый ранее в текстовые поля, например, если вкладка случайно была закрыта.
  • NoAds Advanced — ещё один аддон для борьбы с рекламой.
  • Open With Long-Click — улучшенный конкурент open-in-background-with-long-press (автор которой, похоже, выпилился из сообщества).
dap: (Default)

Комрад xandry рассказал об встроенных инструментах systemd для анализа скорости загрузки (для других систем инициализации тоже есть варианты). Кратко о главном:

  • Посмотреть общую информацию о времени загрузки — systemd-analyze
  • В разбивке по сервисам — systemd-analyze blame
  • Построить график в png — systemd-analyze plot > plot.svg && rsvg-convert plot.svg -o plot.png (понадобилось пара новых пакетов: sudo zypper in --no-recommends python-cairo rsvg-view).

Как и у автора у меня тоже тормозит процесс сеть. DHCP рулит, что тут скажешь... Раньше кстати у меня тоже больше всего тормозил фаервол, но недавно он исправился. Очевидно, systemd не справляется со своей основной задачей, потому что с теми же ресурсами upstart делает его на ура.

В ожидании новых плагинов личкрафтов и просто так решил пересобрать всё, до чего дотянусь, с актуальными кутями и кедами. Меняем репы:

sudo zypper rr home_DarkSS home_Reki_leechcraft_masterbranch

Поскольку антикэшью всё равно неадекватно работает с последними кедами, отключим реп и избавимся от назойливого ядра 3.3, которое всё равно не работает с дровами из репозитория: sudo zypper mr -d 'home_Herbster0815'

И почистим ядра: sudo zypper rm -u kernel-desktop-3.1.9-1.4.1.x86_64 kernel-desktop-3.1.10-1.1.x86_64

dap: (Default)

Комрад xandry рассказал об встроенных инструментах systemd для анализа скорости загрузки (для других систем инициализации тоже есть варианты). Кратко о главном:

  • Посмотреть общую информацию о времени загрузки — systemd-analyze
  • В разбивке по сервисам — systemd-analyze blame
  • Построить график в png — systemd-analyze plot > plot.svg && rsvg-convert plot.svg -o plot.png (понадобилось пара новых пакетов: sudo zypper in --no-recommends python-cairo rsvg-view).

Как и у автора у меня тоже тормозит процесс сеть. DHCP рулит, что тут скажешь... Раньше кстати у меня тоже больше всего тормозил фаервол, но недавно он исправился. Очевидно, systemd не справляется со своей основной задачей, потому что с теми же ресурсами upstart делает его на ура.

В ожидании новых плагинов личкрафтов и просто так решил пересобрать всё, до чего дотянусь, с актуальными кутями и кедами. Меняем репы:

sudo zypper rr home_DarkSS home_Reki_leechcraft_masterbranch

Поскольку антикэшью всё равно неадекватно работает с последними кедами, отключим реп и избавимся от назойливого ядра 3.3, которое всё равно не работает с дровами из репозитория: sudo zypper mr -d 'home_Herbster0815'

И почистим ядра: sudo zypper rm -u kernel-desktop-3.1.9-1.4.1.x86_64 kernel-desktop-3.1.10-1.1.x86_64

dap: (Default)

Комрад 0xd34df00d поведал, что на ext4 бывает фрагментация, и даже существуют утилиты для борьбы с ней. Что ж, установим и проверимся:

sudo zypper ar -k http://download.opensuse.org/repositories/filesystems/openSUSE_12.1/filesystems.repo
sudo zypper ref
sudo zypper in -f e2fsprogs
sudo e4defrag -c /

Мда, негусто: 5 файлов, и те временные, к следующей проверке исчезли сами. Но если очень хочется, есть режим дефрагментации sudo e4defrag / На втором разделе аналогичная ситуация. Дожились, уже не помечтать, созерцая бегающие цветные полоски =(

Комрад yaloki поделился занятным способом проверки версии куть при сборке. Определяем переменную с версией как %define qtversion %(rpm -q libqt4 --qf='%{VERSION} '|awk -F. '{print $1 * 10000 + $2 * 100 + $3}') При этом 4.8.1 преобразуется в 40801, поскольку if не может сравнивать версии в их первоначальном виде. Используем в обычном условии:

%if %qtversion >= 40800
%else
...
%endif

Чтобы немного ускорить локальную сборку, запихнул корень сборки (цель make install) в оперативную память. Строка в fstabtmpfs /var/tmp/build-root/home/abuild/rpmbuild/BUILDROOT       tmpfs      defaults                 0 2

Тем временем я обнаружил, что xneur наложил лапу на кнопку Tab (а я то думал, чего автодополнение так тупит) и принёс кучу горячих клавиш для запуска всяких наутилусов. Соответствующие горячи клавиши были аннулированы.

Ну и на закуску поиск установленных пакетов, принадлежащих репозиторию: zypper se -i -r 'reponame'

Мусор: sudo zypper rm -u libenet1 libqxt1 screen

dap: (Default)

Комрад 0xd34df00d поведал, что на ext4 бывает фрагментация, и даже существуют утилиты для борьбы с ней. Что ж, установим и проверимся:

sudo zypper ar -k http://download.opensuse.org/repositories/filesystems/openSUSE_12.1/filesystems.repo
sudo zypper ref
sudo zypper in -f e2fsprogs
sudo e4defrag -c /

Мда, негусто: 5 файлов, и те временные, к следующей проверке исчезли сами. Но если очень хочется, есть режим дефрагментации sudo e4defrag / На втором разделе аналогичная ситуация. Дожились, уже не помечтать, созерцая бегающие цветные полоски =(

Комрад yaloki поделился занятным способом проверки версии куть при сборке. Определяем переменную с версией как %define qtversion %(rpm -q libqt4 --qf='%{VERSION} '|awk -F. '{print $1 * 10000 + $2 * 100 + $3}') При этом 4.8.1 преобразуется в 40801, поскольку if не может сравнивать версии в их первоначальном виде. Используем в обычном условии:

%if %qtversion >= 40800
%else
...
%endif

Чтобы немного ускорить локальную сборку, запихнул корень сборки (цель make install) в оперативную память. Строка в fstabtmpfs /var/tmp/build-root/home/abuild/rpmbuild/BUILDROOT       tmpfs      defaults                 0 2

Тем временем я обнаружил, что xneur наложил лапу на кнопку Tab (а я то думал, чего автодополнение так тупит) и принёс кучу горячих клавиш для запуска всяких наутилусов. Соответствующие горячи клавиши были аннулированы.

Ну и на закуску поиск установленных пакетов, принадлежащих репозиторию: zypper se -i -r 'reponame'

Мусор: sudo zypper rm -u libenet1 libqxt1 screen

dap: (Default)

Недавно вышло мажорное обновление гоночного симулятора Spead Dreems. Управление осталось таким же невнятным. Пакет отправился в games. Также зарелизился менее амбициозный проект, но более симпатичный мне: Trigger Rally. Товарищ xandry намекнул мне, что последняя уныла из-за отсутствия соперников и порекомендовал SuperTuxKart. И мне понравилось =) Цитата в тему: Full Circle Magazine назвал игру SuperTuxKart одной из лучших гонок, существующей в версии для Linux, отзываясь о ней как об игре, которую нужно попробовать тем, кому надоели реалистичные гонки. Как раз про меня. Обе игры были собраны в games, посему:

sudo zypper ar -k http://download.opensuse.org/repositories/games/openSUSE_12.1/games.repo
sudo zypper ref
sudo zypper in supertuxkart trigger-rally

Недавно проигрывая сражение с кракозяблами в mp3-тегах в qmmp, я набрёл на тикет в их трекере, утверждающий, что проблема решается патчем от команды RusXMMS на библиотеку tag. Забегая вперёд, скажу, что патч всё решает, не забываем вернуть utf8 как кодировку тегов в настройках плеера. Не успел я поковырять пересборку, как xandry поделился новостью, что этот патч уже включён в дистрибутив. Но соответствующий пакет будет только в следующем релизе, поэтому подключим профильный реп и обновимся:

sudo zypper ar -k http://download.opensuse.org/repositories/multimedia:libs/openSUSE_12.1/multimedia:libs.repo
sudo zypper ref
sudo zypper in -f --no-recommends libtag1 libtag_c0

Радости небольшой абзац. Случилось так, что пропали интернеты. Поскольку сейчас у меня не установлено никаких программ для модемов, в голову закралась крамольная мысль перезагрузиться в бунту, но я всё же решил попробовать натыкать что-нибудь в Ясте. Не повезло с pptp, так, может, осилю это? Осилил, всё вполне интуитивно, понадобилось пошуршать локейтом с грепом, чтобы найти номер дозвона. Потом уменьшил скорость соединения из-за разрывов, помогло. Выбрал вариант автоматического подключения при присоединении устройства. Рулить этой красотой можно утилитами *internet: консольный cinternet есть искаропки и обладает отличной справкой и юзабилити. Позже в репах нашёлся и няшный qinternet.

Мейнтейнеры calligra решили, что офисный пакет должен зависеть от KDE PIM, а, значит, и от mysql. Доказал им обратное. Теперь стоит рекомендация =) Было дело, собирал у себя в хомяке, но к текущему моменту уже удалил. Так что sudo zypper in --no-recommends calligra-tools

xneur меня решил огорчить: интеллектуальный режим решил, что в русском языке нет слов из одной буквы. В настройках переключения я не смог найти соответствующую маску, поэтому приговорил конфиги программы и вырубил ей интеллект. Узнал, что по дефолту программа забирает под себя Super+D и вставляет по нажатию дату, вырубил.

Внезапно оказалось, что кедопрограммы не умеют сохранять в gif, воспользуемся утилитой из пакета ImageMagickconvert ~/Pictures/123/rr.png ~/Pictures/123/rr.gif

make %{?_smp_mflags} в спеке сборки подставит оптимальное количество потоков сборки для данной машины.

wc -l посчитает количество строк.

Удалим случайный мусор: sudo zypper rm qsmmp

dap: (Default)

Недавно вышло мажорное обновление гоночного симулятора Spead Dreems. Управление осталось таким же невнятным. Пакет отправился в games. Также зарелизился менее амбициозный проект, но более симпатичный мне: Trigger Rally. Товарищ xandry намекнул мне, что последняя уныла из-за отсутствия соперников и порекомендовал SuperTuxKart. И мне понравилось =) Цитата в тему: Full Circle Magazine назвал игру SuperTuxKart одной из лучших гонок, существующей в версии для Linux, отзываясь о ней как об игре, которую нужно попробовать тем, кому надоели реалистичные гонки. Как раз про меня. Обе игры были собраны в games, посему:

sudo zypper ar -k http://download.opensuse.org/repositories/games/openSUSE_12.1/games.repo
sudo zypper ref
sudo zypper in supertuxkart trigger-rally

Недавно проигрывая сражение с кракозяблами в mp3-тегах в qmmp, я набрёл на тикет в их трекере, утверждающий, что проблема решается патчем от команды RusXMMS на библиотеку tag. Забегая вперёд, скажу, что патч всё решает, не забываем вернуть utf8 как кодировку тегов в настройках плеера. Не успел я поковырять пересборку, как xandry поделился новостью, что этот патч уже включён в дистрибутив. Но соответствующий пакет будет только в следующем релизе, поэтому подключим профильный реп и обновимся:

sudo zypper ar -k http://download.opensuse.org/repositories/multimedia:libs/openSUSE_12.1/multimedia:libs.repo
sudo zypper ref
sudo zypper in -f --no-recommends libtag1 libtag_c0

Радости небольшой абзац. Случилось так, что пропали интернеты. Поскольку сейчас у меня не установлено никаких программ для модемов, в голову закралась крамольная мысль перезагрузиться в бунту, но я всё же решил попробовать натыкать что-нибудь в Ясте. Не повезло с pptp, так, может, осилю это? Осилил, всё вполне интуитивно, понадобилось пошуршать локейтом с грепом, чтобы найти номер дозвона. Потом уменьшил скорость соединения из-за разрывов, помогло. Выбрал вариант автоматического подключения при присоединении устройства. Рулить этой красотой можно утилитами *internet: консольный cinternet есть искаропки и обладает отличной справкой и юзабилити. Позже в репах нашёлся и няшный qinternet.

Мейнтейнеры calligra решили, что офисный пакет должен зависеть от KDE PIM, а, значит, и от mysql. Доказал им обратное. Теперь стоит рекомендация =) Было дело, собирал у себя в хомяке, но к текущему моменту уже удалил. Так что sudo zypper in --no-recommends calligra-tools

xneur меня решил огорчить: интеллектуальный режим решил, что в русском языке нет слов из одной буквы. В настройках переключения я не смог найти соответствующую маску, поэтому приговорил конфиги программы и вырубил ей интеллект. Узнал, что по дефолту программа забирает под себя Super+D и вставляет по нажатию дату, вырубил.

Внезапно оказалось, что кедопрограммы не умеют сохранять в gif, воспользуемся утилитой из пакета ImageMagickconvert ~/Pictures/123/rr.png ~/Pictures/123/rr.gif

make %{?_smp_mflags} в спеке сборки подставит оптимальное количество потоков сборки для данной машины.

wc -l посчитает количество строк.

Удалим случайный мусор: sudo zypper rm qsmmp

dap: (Default)

Недавно организовалось немного свободного времени и я решил немного поковырять питон. Для начала я затагал версию 0.1 рандоратора, после чего приступил к реализации графической морды на wxWidgets (неквадратные элементы окна и иконка [а в Tk только под вин работает =( ] прилагаются), заодно исправил кучу ошибок, облагородил исходники (в том числе лицензионно), добавил в ядро возможность прямого использования из терминала. Собственно, вот они плюшки свежей версии 0.2 =)

Установка IDLE и wx: sudo zypper in --no-recommends python-wxWidgets-lang python-wxWidgets python-idle

Хозяйке на заметку: git show v0.1 позволяет просмотреть информацию о теге.

Что же можно почитать по теме?

  • Fullcircle. HOW-TO: Программа на Python, Часть 5 — для ознакомления.
  • Руководство по wxPython: первые шаги — уже интереснее и без навязывания ООП.
  • WxPython in Action в переводе сообщества python.su — настольная книга =)
  • The wxPython Linux Tutorial от сообщества  wxpython.org — другая настольная книга на английском.
  • wxWidgets 2.8.12 — официальная документация для C, к сожалению, документация по питонобиндингу уныла.
  • Сайзеры в wxWidgets / wxPython — об упаковке элементов.
  • Перевод главы 11: Буфер обмена — работа с буфером обмена на кошках снова на C.

Костыли, которые живы в памяти:

  • Единственным кроссплатформенным вариантом иконки окна wx является (Что бы вы думали? Нет, не волшебный кролик.) ICO — родной формат винды хранения значков файлов.
  • А Tk в принципе понимает только его и только под этой самой виндой.
  • Не забываем, что в винде вывод кириллицы не работает корректно при использовании raw_input().
  • У разных морд разные понятия об интеграции в систему.
  • Например, Tk настолько хорошо прирастает к цветовой схеме и шрифтам, что даже запуск из текущей сессии от другого пользователя не помогает.
  • А wx вообще не интересны системные шрифты, оно берёт их из не известных мне глубин gtk.
  • У wx есть два класса для работы с буфером обмена: TheClipboard удалось пинками завести, а способ использования Clipboard науке выяснить не удалось.
  • Этот самый буфер обмена используется точно так же как и в C.Open() .SetData() .Close() Вот такие вот извращения встречаются и в модулях питона. 

Заодно решил ещё повыбирать редактор себе, начну с того, что не понравилось:

  • Medit не впечатлил совсем, в наличии только подсветка синтаксиса.
  • Sublime Text оказался очень красивым редактором, но таким же малополезным.
  • Bluefish обладает кое-каким автодополнением из документации.
  • Komodo Edit показался очень неплохим вариантом, автодополнение порадовало.

И вот когда я уже бросил попытки собрать пакет с комодо и сделал десктоп-файл (ложить сюда: ~/.local/share/applications) для запуска из хомяка, в ленту совсем другой тематики прилетела радостная весть: питоноплагин Kdevelop уже готов к применению. Искомый пакет обнаружился только в репозитории нестабильных кедопакетов, поэтому был безжалостно форкнут и пересобран, для него понадобилось стянуть одну стабильную библиотеку (просто более новую, чем в релизе дистра) и нестабильный Kdevelop, который тоже был пересобран. Так что выйти должно было всё же получше, чем если брать из исходного репозитория. Установка: sudo zypper in kdevelop4-plugin-python

Kdevelop прекрасен: идеальная подсветка, автодополнение со справкой из документации, подсветка объектов класса, элементов, функций, переменных... Помимо прочего предложило интегрировать с гитом, сделало какой-то странный коммит, поэтому от этого я решил отказаться.

dap: (Default)

Недавно организовалось немного свободного времени и я решил немного поковырять питон. Для начала я затагал версию 0.1 рандоратора, после чего приступил к реализации графической морды на wxWidgets (неквадратные элементы окна и иконка [а в Tk только под вин работает =( ] прилагаются), заодно исправил кучу ошибок, облагородил исходники (в том числе лицензионно), добавил в ядро возможность прямого использования из терминала. Собственно, вот они плюшки свежей версии 0.2 =)

Установка IDLE и wx: sudo zypper in --no-recommends python-wxWidgets-lang python-wxWidgets python-idle

Хозяйке на заметку: git show v0.1 позволяет просмотреть информацию о теге.

Что же можно почитать по теме?

  • Fullcircle. HOW-TO: Программа на Python, Часть 5 — для ознакомления.
  • Руководство по wxPython: первые шаги — уже интереснее и без навязывания ООП.
  • WxPython in Action в переводе сообщества python.su — настольная книга =)
  • The wxPython Linux Tutorial от сообщества  wxpython.org — другая настольная книга на английском.
  • wxWidgets 2.8.12 — официальная документация для C, к сожалению, документация по питонобиндингу уныла.
  • Сайзеры в wxWidgets / wxPython — об упаковке элементов.
  • Перевод главы 11: Буфер обмена — работа с буфером обмена на кошках снова на C.

Костыли, которые живы в памяти:

  • Единственным кроссплатформенным вариантом иконки окна wx является (Что бы вы думали? Нет, не волшебный кролик.) ICO — родной формат винды хранения значков файлов.
  • А Tk в принципе понимает только его и только под этой самой виндой.
  • Не забываем, что в винде вывод кириллицы не работает корректно при использовании raw_input().
  • У разных морд разные понятия об интеграции в систему.
  • Например, Tk настолько хорошо прирастает к цветовой схеме и шрифтам, что даже запуск из текущей сессии от другого пользователя не помогает.
  • А wx вообще не интересны системные шрифты, оно берёт их из не известных мне глубин gtk.
  • У wx есть два класса для работы с буфером обмена: TheClipboard удалось пинками завести, а способ использования Clipboard науке выяснить не удалось.
  • Этот самый буфер обмена используется точно так же как и в C.Open() .SetData() .Close() Вот такие вот извращения встречаются и в модулях питона. 

Заодно решил ещё повыбирать редактор себе, начну с того, что не понравилось:

  • Medit не впечатлил совсем, в наличии только подсветка синтаксиса.
  • Sublime Text оказался очень красивым редактором, но таким же малополезным.
  • Bluefish обладает кое-каким автодополнением из документации.
  • Komodo Edit показался очень неплохим вариантом, автодополнение порадовало.

И вот когда я уже бросил попытки собрать пакет с комодо и сделал десктоп-файл (ложить сюда: ~/.local/share/applications) для запуска из хомяка, в ленту совсем другой тематики прилетела радостная весть: питоноплагин Kdevelop уже готов к применению. Искомый пакет обнаружился только в репозитории нестабильных кедопакетов, поэтому был безжалостно форкнут и пересобран, для него понадобилось стянуть одну стабильную библиотеку (просто более новую, чем в релизе дистра) и нестабильный Kdevelop, который тоже был пересобран. Так что выйти должно было всё же получше, чем если брать из исходного репозитория. Установка: sudo zypper in kdevelop4-plugin-python

Kdevelop прекрасен: идеальная подсветка, автодополнение со справкой из документации, подсветка объектов класса, элементов, функций, переменных... Помимо прочего предложило интегрировать с гитом, сделало какой-то странный коммит, поэтому от этого я решил отказаться.

dap: (Default)
Originally posted by [livejournal.com profile] mend0za at Апрелькая линуксовка в SaM Solutions

Официальный анонс. Репост приветствуется

30 Апреля, понедельник, с 15 до 19(20,21)
Филимонова 15 комн 316 (3 этаж, прямо и направо).

Уже заявленные доклады

* Антоно Васильев. Shelr.tv месяц спустя
* Макс Мельников  (max_posedon). systemd tools
* (ждёт вас)

Плюшки от SaM Solutions уже готовы.
dap: (Default)
Originally posted by [livejournal.com profile] mend0za at Апрелькая линуксовка в SaM Solutions

Официальный анонс. Репост приветствуется

30 Апреля, понедельник, с 15 до 19(20,21)
Филимонова 15 комн 316 (3 этаж, прямо и направо).

Уже заявленные доклады

* Антоно Васильев. Shelr.tv месяц спустя
* Макс Мельников  (max_posedon). systemd tools
* (ждёт вас)

Плюшки от SaM Solutions уже готовы.
dap: (Default)

starwolf сделал ещё одну красивую тему ksplash. Запакетировал =)

Про git:

  • git gc --aggressive оптимизирует локальную копию репозитория;
  • git revert HEAD добавит коммит, обратный предыдущему;
  • git reset HEAD~1 удалит пометку о последнем коммите, файлы изменены не будут;
  • git reset --hard очистит локальную копию для обновления без конфликтов;
  • git tag -a v0.1 -m 'Cool!' создаст тэг;
  • git push origin v0.1 загрузит тэг в репозиторий;
  • git checkout master переключит текущий тэг обратно на master.

Спасибо камрадам ZogGsettler и 0xd34df00d.

phonon-backend-gstreamer не дружит с mp3, поставим другой движок: sudo zypper in phonon-backend-vlc и повысим его приоритет.

Намедни узнал, что с декабря у меня было установлено разрешение 1024x768. Когда-то драйвер в бунте закомментировал мне строку Option         "metamodes" "1152x864 +0+0" заменив её другой, а в зузе снова оказалась нужна именно эта строчка...

dap: (Default)

starwolf сделал ещё одну красивую тему ksplash. Запакетировал =)

Про git:

  • git gc --aggressive оптимизирует локальную копию репозитория;
  • git revert HEAD добавит коммит, обратный предыдущему;
  • git reset HEAD~1 удалит пометку о последнем коммите, файлы изменены не будут;
  • git reset --hard очистит локальную копию для обновления без конфликтов;
  • git tag -a v0.1 -m 'Cool!' создаст тэг;
  • git push origin v0.1 загрузит тэг в репозиторий;
  • git checkout master переключит текущий тэг обратно на master.

Спасибо камрадам ZogGsettler и 0xd34df00d.

phonon-backend-gstreamer не дружит с mp3, поставим другой движок: sudo zypper in phonon-backend-vlc и повысим его приоритет.

Намедни узнал, что с декабря у меня было установлено разрешение 1024x768. Когда-то драйвер в бунте закомментировал мне строку Option         "metamodes" "1152x864 +0+0" заменив её другой, а в зузе снова оказалась нужна именно эта строчка...

dap: (Default)

При обновлении KDE до 4.8 всплыл странный баг: падения различных приложений в разное время... Хуже всего, конечно, когда падает kdm =) Но и регулярное падение хоть чего-нибудь при логауте тоже напрягает. Кстати в 4.7.2 был точно такой же баг, что символично. Итак, я поплакался в трекер и мне было явлено несколько советов: вырубить эффект прозрачности (нет, спасибо) и/или шейдеры OpenGL2, что делается на последней вкладке настроек эффектов. Вроде бы стало получше, хотя стоит подождать ещё пару недель перед тем, как делать выводы.

Помимо прочего, исчезла галка отключения внутренней проверки (HIG, ночной кошмар, ты добрался и до KDE?!). SmartByte нашёл строку DisableChecks= в ~/.kde4/share/config/kwinrc Может, она даже работает =)

openSUSE "порадовала" меня способом настройки переключения языков в терминале: для этого нужен файл keymap. По иронии судьбы ни один файл из набора искаропки (ls /usr/share/kbd/keymaps/i386/qwerty) не реализовывал переключение по Alt+Shift. Благо, арчеводы занимаются точно такой же ерундой, и я созрел на патч к одному из ванильных кеймапов. Собственно готовый файл и установка в openSUSE. После установки открыть Редактор sysconfig в Ясте и вбить ruwin_alt_sh-UTF-8.map.gz в Hardware => Keyboard => KEYTABLE

Ну и на закуску установим локализацию. xneur, которую вынесли в отдельный пакет, и личкравтоплагин, с которым можно рулить всей фоновой активностью: sudo zypper in leechcraft-summary xneur-lang gxneur-lang

dap: (Default)

При обновлении KDE до 4.8 всплыл странный баг: падения различных приложений в разное время... Хуже всего, конечно, когда падает kdm =) Но и регулярное падение хоть чего-нибудь при логауте тоже напрягает. Кстати в 4.7.2 был точно такой же баг, что символично. Итак, я поплакался в трекер и мне было явлено несколько советов: вырубить эффект прозрачности (нет, спасибо) и/или шейдеры OpenGL2, что делается на последней вкладке настроек эффектов. Вроде бы стало получше, хотя стоит подождать ещё пару недель перед тем, как делать выводы.

Помимо прочего, исчезла галка отключения внутренней проверки (HIG, ночной кошмар, ты добрался и до KDE?!). SmartByte нашёл строку DisableChecks= в ~/.kde4/share/config/kwinrc Может, она даже работает =)

openSUSE "порадовала" меня способом настройки переключения языков в терминале: для этого нужен файл keymap. По иронии судьбы ни один файл из набора искаропки (ls /usr/share/kbd/keymaps/i386/qwerty) не реализовывал переключение по Alt+Shift. Благо, арчеводы занимаются точно такой же ерундой, и я созрел на патч к одному из ванильных кеймапов. Собственно готовый файл и установка в openSUSE. После установки открыть Редактор sysconfig в Ясте и вбить ruwin_alt_sh-UTF-8.map.gz в Hardware => Keyboard => KEYTABLE

Ну и на закуску установим локализацию. xneur, которую вынесли в отдельный пакет, и личкравтоплагин, с которым можно рулить всей фоновой активностью: sudo zypper in leechcraft-summary xneur-lang gxneur-lang

January 2016

S M T W T F S
     12
34567 89
10111213141516
17181920212223
24252627282930
31      

Syndicate

RSS Atom

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 12th, 2026 10:29 am
Powered by Dreamwidth Studios