LINUX.ORG.RU

Вышел Qtile 0.9.0

 , ,


0

2

20 января вышла новая версия Qtile - тайлового оконного менеджера, написанного и конфигурируемого на python. Релиз получил номер 0.9.0.

Изменения в релизе:

  • Зависимости
    • xpyb заменен на xcffib (XCB bindings)
    • py2cairo заменен на cairocffi (Cairo bindings)
    • PyGTK заменен asyncio (для цикла событий, а биндинги pangocairo обрабатываются внутренним механизмом)
    • gobject необходим, если какие-либо части оконного менеджера будут работать через dbus (например, если используются виджеты «mpris» или «libnotify»)
  • Улучшения
    • Добавлена поддержка Python3 и pypy (изменены зависимости)
    • Добавлен новый вариант разметки (layout) для вертикальных мониторов
    • Добавлен хук «startup_once hook», вызываемый единожды за сессию (то есть он не вызывается если Qtile был перезапущен через вызов lazy.restart()). Это устраняет необходимость в функции вроде «execute_once()», которая присутствует в большинстве пользовательских конфигураций
    • Добавлена функция для отображения\скрытия панели (lazy.hide_show_bar())
    • Добавлены предупреждения при невозможности импортировать зависимости виджета
    • Больше важных сообщений отображается в логе, что сделало его более полезным
    • Реализован класс виджетов «text-polling», упрощающий реализацию виджетов, получающих информацию в цикле от внешних приложений.
    • Добавлена справка (man)
    • Документация существенно обновлена, а описания виджетов и разметки теперь генерируются автоматически из docstring
    • Добавлен новый виджет «ImapWidget» для проверки почтовых ящиков через imap
  • Исправления
    • Для улучшения работы приложений на java стандартное имя менеджера (wmname) изменено на «LG3D».
    • Весь код прошел стилистическую проверку при помощи flake8
    • Уровень логирования «по умолчанию» - WARNING
    • Все виджеты теперь конфигурирются встроенными средставами
    • Окна с ролью «About» по умолчанию плавающие
    • Удалено лишнее исключение «clauses»

Репозиторий на GitHub

>>> CHANGELOG в репозитории проекта

★★★★★

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 5)

Зря вы так, python в таких задачах даже очень быстрый. А парни молодцы прям няшный asyncio заюзали, хотя он только с python 3.4 есть. Ну и в целом всё выглядит очень прогрессивно.

stalkerg ★★★★★
()
Ответ на: комментарий от stalkerg

pytyle был оче прожорливым и слоу, при том что работал поверх обычных wm. Не думаю что если все целиком свалить на питон то ситуация улучшится. Ты этот qtile сам смотрел, или с дивана прогнозируешь?

entefeed ☆☆☆
()

xpyb, xcffib, py2cairo, cairocffi

Кто-то в треде про Lua кричал, что питон умеет очень легко напрямую работать с сишными динамическими библиотеками. Отчего тогда вышеперечисленные поделия более чем наполовину состоят из Си? И зачем вышеперечисленные поделия вообще нужны, если можно работать с либами напрямую? И зачем тогда нужен какой-то сторонний проект CFFI, основанный, по словам его авторов на LuaJIT’s FFI?

makoven ★★★★★
()
Ответ на: комментарий от anonymous

Случаев гораздо больше двух. Так почему оригинальные авторы не переписали?

buddhist ★★★★★
()

Для улучшения работы приложений на java стандартное имя менеджера (wmname) изменено на «LG3D».

а вот это зря, напишите им кто-нибудь, что IDEA свежайшая уже на работает так, нужно:

wmname Sawfish

redhat
()
Ответ на: комментарий от ktan

Так этому По предлагают боятся бога, только запятую после обращения пропустил:

По бойтесь Бога.

А По, возможно пони.

mandala ★★★★★
()
Ответ на: комментарий от makoven

Отчего тогда вышеперечисленные поделия более чем наполовину состоят из Си?

Вот они как раз и отказались от тех которые состоят из C

И зачем вышеперечисленные поделия вообще нужны, если можно работать с либами напрямую?

Можно, но зачем, когда кто-то уже сделал pythonic-обертки.

И зачем тогда нужен какой-то сторонний проект CFFI

На сегодняшний день у него самый маленький оверхед на вызов, плюс обертки на его основе могут без изменений работать на cpython/pypy.

Я например не захотел тянуть зависимости и просто накопипастил из манов сигнатуры для нужных функций.

https://github.com/baverman/orcsome/blob/master/orcsome/ev.py

https://github.com/baverman/orcsome/blob/master/orcsome/xlib.py

bj
()
Ответ на: комментарий от redhat

Этот параметр просто в конфиг стандартный добавили, можно поменять на любое свое имя.

MLP_Fan ★★
()
Ответ на: комментарий от bj

Вот они как раз и отказались от тех которые состоят из C

То-есть раньше они пользовались обертками с сишным кодом. Теперь используют CFFI. А на встроенный ctypes всем плевать. Подтверждается “shitty batteries included” philosophy )

makoven ★★★★★
()

Что последнее время за мода ругать питон... клевый же язык и удобный :) Ну уж про ГТК я и не говорю.

petrosha ★★★★★
()
Ответ на: комментарий от petrosha

Что последнее время за мода ругать питон... клевый же язык и удобный :)

Потому что реализации языка жутко тормозные и сливают большинству других языков

anonymous
()

Qtile

Почти futile

anonymous
()

Похоже на один хер с i3, только в профиль и на Python.

vertexua ★★★★★
()
Ответ на: комментарий от anonymous

Потому что реализации языка жутко тормозные и сливают большинству других языков

Это если не уметь на нём готовить и перекладывать нехарактерные для него задачи.

stalkerg ★★★★★
()
Ответ на: комментарий от DRVTiny

значит, пихтон - это УГ для школоты. Тчк.

[сарказм]Держи нас в курсе. Нам же, естественно, не насрать на твое мнение. Нам очень важно твое мнение.[/сарказм]

xxblx ★★★
()
Ответ на: комментарий от mandala

Винки, Ляля, По. Телепузики должны боятся, да)

gtk и qtile - странный выбор названия...

muhas ★★★
()
Ответ на: комментарий от vertexua

Что-то переписано, но основная часть на пихтоне.

petrosha ★★★★★
()

Кстати, из всех WM что я видел и бегло гуглил только WMFS первой ветки умеет переключаться на предыдущий тег\воркспейс при попытке переключиться на текущий тег. В Qtile костылем я тоже это сделал. Какие-нибудь еще WM это умеют (не по отдельной клавише как Mod+Esc в AwesomeWM, а именно как я написал)? Кастану упоминавших разные WM ITT:

sehellion, maverik, x4DA, andreyu.

alozovskoy ★★★★★
() автор топика
Ответ на: комментарий от alozovskoy

А в чем заключается удобство такой функции? Ну и мне кажется, что такое поведение реально настроить в осоме

sehellion ★★★★★
()
Ответ на: комментарий от sehellion

Работаю на теге 1, тут срочно нужно посмотреть что-то на теге 9 - Mod+9, посмотрел и не переставляя пальцев Mod+9 еще раз - вернулись на тег 1, в котором работали. Это очень удобно.

alozovskoy ★★★★★
() автор топика
Ответ на: комментарий от buddhist

А ничего, что все старые биндинги GTK-стека (GDK, Cairo и компания) стали бесполезными с появлением GObject Introspection? Хотя это, конечно, не отменяет вопроса о причинах появления cairocffi.

thriller ★★
()
Ответ на: комментарий от cvs-255

в чем смысл писать на питоне? ресурсы девать некуда?

На фоне браузера это бесконечно малая величина.

bj
()
Ответ на: комментарий от bj

если в дополнении к браузеру будет WM еще с задержками будет... это грустно

cvs-255 ★★★★★
()
Ответ на: комментарий от alozovskoy

http://i3wm.org/docs/userguide.html#_automatic_back_and_forth_when_switching_to_the_current_workspace

This configuration directive enables automatic workspace back_and_forth (see [back_and_forth]) when switching to the workspace that is currently focused. For instance: Assume you are on workspace «1: www» and switch to «2: IM» using mod+2 because somebody sent you a message. You don’t need to remember where you came from now, you can just press $mod+2 again to switch back to «1: www». Syntax: workspace_auto_back_and_forth <yes|no> Example: workspace_auto_back_and_forth yes

anonymous
()

Сабж не юзал, но всё равно не понимаю занудства в треде по теме тормозов из-за питона. Ну и что что на питоне? Это же тайловый менеджер, а не кеды с свистоперделками. Не представляю каким должен быть код, чтобы тайловый менеджер мог тормозить на современном железе. Даже на говнояве не думаю что оно будет тормозить, хотя ява памяти жрёт с процессором куда больше пистона.

Ну а если у вас совсем древний корч, то даже хромиум на плюсах вас не спасёт от тормозов.

Поэтому имхо - не аргумент.

Update: хотя судя по jpg в скриншотах на сайте, при условии что программеры сего проекта админят и сайт - сложно поверить в то что они понимают что делают.

Ну и по BAT_DIR = '/sys/class/power_supply' (если это конечно часть основного кода) оно ещё и платформозависимое, или я ошибаюсь?

soko1 ★★★★★
()
Последнее исправление: soko1 (всего исправлений: 2)

Что выбрать - сабж или i3?

dvrts ★★★
()
Ответ на: комментарий от anonymous

А вообще, биндинги к питону (lua, perl, go, ruby, js, C — хотя на Си можно и без всяких айписишек — сырцы вм-а вполне читабельны) в i3wm тоже есть:
http://i3wm.org/docs/ipc.html
и запилить костыль как бы не быстрее, чем разбираться с сабжем ;)

anonymous
()
Ответ на: комментарий от anonymous

Хм, круто, посмотрю еще раз на этот WM, огромное спасибо!

alozovskoy ★★★★★
() автор топика
Ответ на: комментарий от soko1

В смысле «платформозависимое»? Вообще этот виджет может конфигурироваться, просто при использовании его пишешь widget.battery(BAT_DIR=/path/foobar). Вообще это - не основной код, можно не использовать.

alozovskoy ★★★★★
() автор топика
Ответ на: комментарий от alozovskoy

Понял, надо будет как-то покопать в эту сторону

sehellion ★★★★★
()
Ответ на: комментарий от alozovskoy

Нахожусь в активном теге 1 (в notion активный не просто тег, а фрейм), переключился на другой фрейм (который может быть в другом теге) с помощью meta+9. Потом могу переключиться обратно на тег 1 с помощью meta+1 или на предыдущий с помощью meta+esc.
При этом meta+esc будет переключать меня с 1 на 9, с 9 на 1 тег.
Если мне память не изменяет, то в осоме было точно так же.

Может я не понял, что именно вы хотите?

andreyu ★★★★★
()
Ответ на: комментарий от DRVTiny

разработчик которой не удосужился сделать нормальный обработчик

По опыту сопровождения кучи разнородных программ, большинство попыток «сделать обработчик» заканчиваются тем, что выводится диагностика типа «Ой!», либо «Ой! ошибка в обработчике ошибки!» либо ошибка игнорируется, и всё валится совсем непонятно где по наведённой причине. Всё это гораздо хуже traceback-а, если он не явовский(по непонятной причине, они склонны быть не информативнее первых 2х, только в экран не влазят).

DonkeyHot ★★★★★
()
Ответ на: комментарий от anonymous

Сначала залогинься, потом перди в лужу.

DeadEye ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.