LINUX.ORG.RU

Awesome WM 4.0

 


5

6

25 декабря состоялся релиз Awesome 4.0 — тайлового менеджера окон, предоставляющего обширные возможности настройки посредством конфигурационного файла на Lua. Версия API изменена с 3.5 на 4, так что существующие конфигурации придётся переписывать.

Некоторые новые возможности:

Мышь и клавиатура

  • Добавлена возможность изменения размера окон при касании краёв экрана (как в популярных окружениях рабочего стола).
  • Добавлена возможность перетащить окно на соседний тэг мышью.
  • Реализовано прилипание окон.
  • Сочетание Mod4+S теперь вызывает виджет с подсказкой активных горячих клавиш.
  • Для определения и задания раскладки клавиатуры больше не требуется setxkbmap.

Раскладки окон

  • В awful добавлены отступы между окнами.
  • Добавлена возможность отключения поведения, когда «главное» окно занимает всё доступное место, если других окон нет. Например, для того, чтобы при использовании awful.layout.suit.tile.left единственное окно оставалось такого же размера, как и «главное» при наличии других окон.
  • Для тэгов добавлено свойство volatile, позволяющее автоматически удалять их при отсутствии клиентов.
  • Добавлена раскладка corner, позволяющая добавлять «второстепенные» окна как по горизонтали, так и по вертикали.

Взаимодействие с клиентами

  • Добавлена функция awesome.kill(), позволяющая отправлять клиентам сигналы.
  • Значительно доработаны правила: теперь можно менять их в процессе работы и определять очерёдность их применения, добавлены новые возможности управления фокусом.
  • Функция awful.spawn() теперь позволяет определять правила во время запуска клиента, а в awful.prompt стало возможным использование горячих клавиш и преобразование команд.

Виджеты

  • Добавлены виджеты checkbox, piechart, progressbar и slider.
  • Возвращён и исправлен qml-подобный декларативный способ построения виджетов в виде дерева.

API

  • Многие объекты, ранее бывшие неизменяемыми, теперь позволяют менять своё состояние.
  • Упрощён доступ к свойствам awful:
    -- Before
    awful.client.floating.set(c, true)
    
    -- Now
    c.floating = true
    
  • Аналогично переработан доступ к свойствам виджетов.
  • Возвращена поддержка декларативного описания виджетов.

Также официальный сайт Awesome переместился на https://awesomewm.org.

>>> Полный список изменений

★★★★★

Проверено: Klymedy ()
Ответ на: комментарий от r3lgar

мне это объяснять не нужно. но я не понимаю, зачем писать 64% на lua. обычно luа используется только для скриптов. там, где юзер должен что-то сам руками настраивать. и обычно это минимум. если это не изменяемый юзером код, то нет смысла его писать на lua.

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

Я уже писал про кастомизируемость — сабжу в этом плане равных нет.

Такое количество lua-кода позволяет полностью переписать/дописать/изменить интерфейс без каких-либо препятствий.

Так как почти десять лет назад это был форк dwm, то нет смысла обратно забивать код в сишку.

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

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

Iron_Bug ★★ ()

надо было бы еще в новости упомянуть про правильный async_spawn/easy_async (и связанный с ними виджет watch), поддержку HiDPI экранов и цветовой схемы темы терминала вместо захардкоженой темы

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

Может ты сможешь подсказать почему в четвёртой версии перестали выскакивать уведомления об ошибках в rc.lua. Вместо этого просто выбивают иксы

oster2011 ()
Последнее исправление: oster2011 (всего исправлений: 1)
Ответ на: комментарий от oster2011

Может ты сможешь подсказать почему в четвёртой версии перестали выскакивать уведомления об ошибках в rc.lua. Вместо этого просто выбивают иксы

Видимо, происходит что-то настолько критичное, что невозможно инициализировать (naughty/wibox)←gears. Это может быть также из-за корявого дефолтного конфига или его отсутствия, и осому просто некуда сваливаться. Да это может быть вообще что угодно!

Создавай тред, прикладывай xsession-errors. Можешь дебажить в Xephyr.

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

правильный async_spawn/easy_async

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

и связанный с ними виджет watch

Полезная вещь, кстати. Немногие могут похвастаться подобным функционалом.

поддержку HiDPI

Полтора пользователя ретины и полпользователя 4K наверняка рады. (=

цветовой схемы темы терминала вместо захардкоженой темы

Я не понял, как это работает → не смог запилить и потестить. ЧЯДНТ?

Но главное — в новости изначально не было ни слова про declarative layout!

r3lgar ★★★★ ()
Последнее исправление: r3lgar (всего исправлений: 1)
Ответ на: комментарий от anonymous

А чё не dwm сразу? Хаскель-то конпелять надо.

r3lgar ★★★★ ()

Обновился в арче.

Я же говорил у меня простой конфиг. Заработало как было. Одна вещь только случилась - это когда переключаешь максимизацию клиента, то не работало добавление толщины рамки при выходе из максимизации выставленной в теме. Ну буквально за минуту разобрался в чем дело и пофиксил. Ну в дальнейшем конечно переработаю конфиг, когда желание появится, чтобы больше соответствовал четвертой версии. Может удалю свой костыль раскладки на setxkbmap и воспользуюсь добавленным в 4 виджетом.

StillSteal ()

Обновился и оно ожидаемо поломалось. Каждый релиз они ворочают конфиги, каждый релиз я скитаюсь по багтрекерам и каким-то мутным форумам и занимаюсь брутфорс-погромированием в попытках понять, что в очередной раз на что менять нужно чтоб оно опять работало. Да елы палы, сколько можно то!! Пошел искать вменяемые альтернативы, нафиг это все.

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

up-to-date говоришь..

Из него реально выкинуть луа и еще кое-что(что конкретно - пока не понял)? Хочется посмотреть как оно будет вести себя.

PS: с учетом выхода релиза осома нужны свежие исходники для экспериментов. за время «творческого отдыха» мое творение пока не падало, но некоторые косяки изрядно поднадоели.

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

Из него реально выкинуть луа и еще кое-что(что конкретно - пока не понял)?

Зависимостей лишних там нет. По большей части список зависимостей основан не по документации (которую я, впрочем, открывал довольно давно, ещё до релиза), а по логам сборки, так что нет, выпилить не удастся. Плюс lua тянется к lgi (который его тянет даже для [luajit] (причём, для luajit нужен lua-5.1, ибо иначе запуск awesome просто сфейлится, высрав в лог, что не может найти lgi), так как надо ковырять ебилд lgi, на который у меня сил не хватает).

PS: с учетом выхода релиза осома нужны свежие исходники для экспериментов. за время «творческого отдыха» мое творение пока не падало, но некоторые косяки изрядно поднадоели.

Вот тут не понял, что ты от меня хочешь.

r3lgar ★★★★ ()

Смотрю даже в дебиан подвезли 4.0. Неужто настолько стабильно? Конфиг от 3.4 проще выкинуть как я понимаю?

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

Смотря что конкрентно не понял.

Первый и довольно неприятный - Xcalc предстает в таком виде и «создает» 4 окна, которые, судя по xprop, принадлежат xcalc, а у меня на них даже WM_CLASS отсутствует.

В дефолтном осоме xcalc ведет себя более адекватно, даже дает изменить размер.

Я конечно пропишу правило в конфиге, что возможно, решит проблему, но прописывать для всего подряд дело неблагодарное.

Если «выпилить не удастся», то придется исправлять все найденные косяки.

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

придется исправлять все найденные косяки.

Грубо говоря, 4.0 — совершенно новый осом, соответственно, помимо новых фич, имеются и новые баги. В мастере потихоньку их правят, так что попробуй запостить иссую в трекер, может, уже идут исправления в ту сторону, а нет — запилишь сам и сделаешь PR.

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