Pull to refresh

О блоге PyGTK

Python *
С удивлением обнаружил, что на хабре вообще ничего нет о таком замечательном кросплатформенном GUI фреймворке, как PyGTK, хотя статьи по Питону бывают регулярно. Ну что ж, исправим это недоразумение :-)

Чем же так хорош PyGTK и о чём я собираюсь писать в этом блоге ?
Total votes 66: ↑55 and ↓11 +44
Views 4.6K
Comments 46

Компоновка — начало начал

Python *
В этой статье я расскажу о компоновке элементов интерфейса в PyGTK. Мы будем использовать дизайнер интерфейсов Glade и сделаем первое кросплатформенное приложение на PyGTK.
Читать дальше →
Total votes 53: ↑53 and ↓0 +53
Views 13K
Comments 25

Ещё немного о компоновке и виджетах

Python *
Это продолжение серии статей о PyGTK.

В предыдущей статье мы подготовили Windows и Ubuntu для разработки PyGTK приложений, работали с редактором интерфейсов Glade, рассмотрели горизонтальный и вертикальный типы компоновки, использовали область прокрутки и текстовый редактор, вертикальную группу кнопок, кнопки, и, немного, сигналы. В результате у нас получилось первое настоящее кросплатформенное приложение, которое успешно работало в Ubuntu и Windows. Если вы не читали предыдущую статью, я рекомендую вам начать именно с неё.

В этой статье мы создадим простую игру, а по ходу дела ещё немного узнаем о компоновке, продолжим знакомство с виджетами PyGTK, и поработаем с диалогами.
Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Views 4.5K
Comments 13

Прогресбар и нити в PyGTK

Python *
Недавно появилась необходимость и желание ознакомится с PyGTK. Литературы на русском по данному вопросу практически нет, а то, что находит гугл в разных блогах — бывает немного устаревшим. Также с удивлением обнаружил, что и на хабре тема PyGTK не особо популярна.

Итак, не буду рассказывать про компоновку элементов интерфейса, ибо такие статьи уже есть. Расскажу про следующий шаг: создание приложения, которое выполняет некую работу, в процессе отображая свой прогресс.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Views 2.2K
Comments 12

Totem Gnome Applet

Python *
В предыдущем посте , я описывал создание простейшего апплета панели Gnome. В этом посте хотелось бы продемонстрировать апплет взаимодействующий с видеопроигрывателем Totem. Данный апплет будет представлять из себя небольшое приложение с 4 кнопками и надписью, у кнопок будет следующая функцианальность: воспроизведение, паузу, воспроизведение предыдущего и следующего.
Продолжение
Total votes 6: ↑6 and ↓0 +6
Views 844
Comments 3

Введение в pygtk/gtkbuilder: пишем калькулятор

Python *
Разберем создание интерфейса на pygtk на примере самого примитивного калькулятора. Много картинок, немного кода.
gtkbuilder наиболее прогрессивный формат описания gtk интерфейса в xml,
если вы ранее использовали libglade, вы можете сконфертировать .glade файл в новый формат командой libglade-convert
Читать дальше →
Total votes 52: ↑46 and ↓6 +40
Views 6K
Comments 19

Meld в Windows

Python *Version control systems *
Tutorial
Краткая справка: Meld — утилита для визуального сравнения файлов/папок.

Наверняка не каждый согласится, что этот иструмент стоит тех танцев с бубном, которые необходимо совершить вокруг него для более менее комфортной работы (Meld слегка не расчитан на работу в Windows, но так как написан на python с использованием GTK, может функционировать и в ней). Я же, потыкав палочкой в бесплатные альтернативы, решил для себя, что если оно заведется, то усилия не будут напрасными.

Предлагаю заинтересовавщимся перейти к делу.
Total votes 16: ↑14 and ↓2 +12
Views 11K
Comments 17

Gnome Forismatic Notify Applet

Python *
Добрый день!
Начав использовать python в своих адмниских целях, а-ля написание несложных скриптов, не мог нарадоваться простоте этого языка. Почти сразу же возникло желание попробовать написать полноценное приложение на python. Но никак не мог придумать, что б такого создать чтобы это было интересно и полезно не только для меня. Идея пришла после прочтения этого топика на хабре, к сожалению он сейчас не доступен, но, если кратко, речь идет о отображении цитат с сайта forismatic.com при открытии консоли.
Я решил, что было б неплохо написать апплет для gnome, который будет показывать эти же цитаты, но с помощью уведомлений. Тогда б не пришлось открывать новую консоль, чтоб прочесть очередную цитату. Результат мне понравился, и захотелось поделится им с сообществом.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Views 1.2K
Comments 14

PyGTK: потоки и магия обёрток

Python *
Tutorial
Всем хорош GTK+, но наблюдается большая проблема при работе с ним в многопоточных приложениях. Сам по себе GTK является thread-safe, но требуя принудительной блокировки со стороны пользователя. Вторая проблема заключается в том, что блокировка реализована через мутексы, и вы должны вызывать блокировку строго один раз, иначе ваш код «зависнет» на linux, прекрасно при этом работая на windows.
Как бороться?
Total votes 29: ↑27 and ↓2 +25
Views 4.3K
Comments 9

Цветовые схемы в Vim

VIM *
Sandbox
Про vim написано столько, что трудно себе представить, что какие-то темы остались неосвещёнными.Ан нет… Есть кое-что о чём написано совсем немного.Восполняем пробел. Я надеюсь что эта заметка понравится вимоводам и вимоманам.
Читать дальше →
Total votes 76: ↑71 and ↓5 +66
Views 37K
Comments 24

Играем в Крестики-Нолики с Python и GTK

GTK+ *
Sandbox

Предисловие


Новый блог GTK+ порадовал статьёй для начинающих и я решил попробовать что-то более простое, чем C++/C. Python оказался как нельзя кстати. Объём кода на Python для работы с GTK значительно меньше чем на C++, что не может не радовать.

PyGTK


PyGTK — биндинг библиотеки GTK для языка Python, PyGTK используется во многих открытых программах (например IM Gajim). Библиотека может быть очень интересна для Python программистов, поскольку проста в обращении и полностью скрывает реализацию GTK.

Под катом пример приложения.
Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Views 23K
Comments 13

Windows 7 и Music Player Daemon

Software
Небольшая заметка о том, как я запускал Music Player Daemon на Windows7 и что из этого получилось…
MPD — это совсем крошечный аудио-проигрыватель-демон, который управляется через сетевой интерфейс и умеет транслировать аудио поток самыми разнообразными и легко конфигурируемыми способами.
Установка оказалась довольно проста.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 8.9K
Comments 14

Локализация простой pygtk программы c glade формой в Linux

Python *GTK+ *
Сразу оговорюсь, что python и gtk у меня 2й версии.

Неожиданное желание сделать надписи на главной форме разрабатываемой мной программы не только русскими, но и на других языках (а вдруг она нужна будет не только мне), вынудило начать поиск методов реализации. С наскока найти рабочую документацию по локализации glade форм не удалось, потому было решено написать в будущем эту статью, чтобы другим повезло больше.

Чего нет в этой статье:
— как делать перевод формы в процессе работы. Этого я не смог найти, а хотелось бы знать…
— как делать перевод текста в .py коде в процессе работы.
— пива, блэкджека и остального тут тоже конечно нет.

Перевод будет осуществляться с помощью указания локали при старте (или локали по умолчанию).

Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views 5.4K
Comments 3

Python на Хабре

Python *Programming *
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →
Total votes 182: ↑162 and ↓20 +142
Views 440K
Comments 65

Dropclock для xscreensaver или как верстальщик писал заставку под Linux

Website development *Programming *
Sandbox
Не помню, где первый раз увидел, но был очарован заставкой DropClock, о которой уже упоминалось на Хабре.

=>

Но вот беда: авторы собрали её только для Win и Mac. Несмотря на это, желание было сильнее ограничений, и я решил во что бы то ни стало собрать собственную реализацию.
Читать дальше →
Total votes 39: ↑35 and ↓4 +31
Views 26K
Comments 19

angelspie — управление окнами в X11, глобальные и не только горячие клавиши

Python *GTK+ *Development for Linux *

Название - отсылка к devilspie, похожей утилитой. Она примечательна тем, что конфиг пишется на диалекте лисп, несмотря на это у неё весьма ограниченные возможности. Тем более у утилит типа wmctl и т.п.

С помощью библиотеки wnck можно делать куда больше, а ещё больше если задействовать gdk.

Для глобальный горячих клавиш я использовал libkeybinder, раньше я делал такое на "голой" xlib, но так удобней(и переносимей). Впрочем xlib/xtest тоже используется - чтобы эмулировать нажатие кнопок. Но эти функции опциональны.

В качестве формата конфига я выбрал yaml. Более старые версии использовали конфиг на питоне, но я решил что yaml удобней конечным пользователям. Тем более в него можно встраивать код на python и sh.

В детали реализации я вдаваться не буду. Там много магии и метапрограммирования, часть кода сгенерирована.

Лучше покажу пример конфига, который использует часть возможностей. Кстати, новые правила можно генерировать из командной строки, оно возьмет name и class_group активного окна.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 1.2K
Comments 1