LINUX.ORG.RU

Awesome WM 4.0

 


6

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 ()
Последнее исправление: sudopacman (всего исправлений: 7)
Ответ на: комментарий от Akamanah

Добавлена возможность перетащить окно на соседний тэг мышью

Никогда такого желания не возникало. Это скорее для тех, кто только переходит с каких-нибудь кед.

Medar ★★★★★
()

Mod4+s вызывает виджет с подсказкой активных хоткеев

Джва года ждал. Но видел какую-то реализацию и под текущую ветку. Плюс куча каких-то мышевозных нововведений. И под все это опять перепиливать конфиги. Если это все фичи релиза - не вижу смысла обновляться.

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

Если это все фичи релиза - не вижу смысла обновляться.

Основная фича — это qml-подобный декларативный способ построения виджетов в виде дерева. Было выпилено в 3.4, теперь это дело причесали и вернули.

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

Это скорее для тех, кто только переходит с каких-нибудь кед.

Никогда не поздно начать привлекать новую аудиторию, да и старая не особо-то юзает клавиатуру, как выясняется в багтрекере, лол.

r3lgar ★★★★★
()

Добавлен ресайз окон при подтаскивании их к краю экрана

Я два дня искал, как это дело отключить, пока не прочёл чейнжлог. Было смешно.

Добавлена возможность перетащить окно на соседний тэг мышью

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

Настройки геометрии master окна, когда других окон нет на экране — таким образом можно задать удобочитаемую ширину терминалу или браузеру

Занятно. Теперь костыльные лайауты не понадобятся.

Тэгам добавлено свойство volatile — такие тэги удаляются, когда в них не остаётся клиентов

Разве этого не было раньше (3.5.9)?

Новый лэйаут — corner, позволяющий добавлять slave окна как по горизонтали, так и по вертикали

Чот не понял. Завтра поковыряю.

Значительно доработаны правила: теперь можно менять их в процессе работы, определять очерёдность их применения, добавлены новые возможности управления фокусом

Вначале новая логика кажется немного не логичной.

Добавлены виджеты checkbox, piechart, progressbar, slider, доработана группировка виджетов

Прогрессбар был, но он был перемещён из awful.progressbar в wibox.widget.progressbar; Слайдер можно увидеть в деле на моём последнем скриншоте (багу с ним так и не решили, насколько я помню, и сигнал на левую кнопку мыши не повесить (манкипатч у меня в репе с конфигом), так что он пока не очень-то вкусен).
Про группировку я не понял.

Кроме того, официальный сайт теперь https://awesomewm.org

Они таки договорились с jd. :3 Но теперь задолбает капча.

Кстати, релиз называется «20% Cooler» «Harder, Better, Faster, Stronger»

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

В новости бы написали.

В новости написали:

Вернули поддержку декларативного описания виджетов

Но какой профит от этого я не понял.

Теперь вместо вызова функции widget.add() для каждого виджета, можно сделать

widget = wibox.widget:setup {
  layout = wibox.layout.fixed.horizontal,
  widget1,
  wibox.widget.textbox("separator"),
  widget2,
  {
    layout = wibox.layout.fixed.vertical,
    widget3,
    widget4
  }
}
и радоваться жизни. При этом виджеты можно точно так же и создавать в контексте, так что статичные виджеты, которые будут юзаться только единожды, не надо описывать где-то перед описанием панели, куда он будет добавлен.

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

Да, я плохо сформулировал.

Основная фича — это qml-подобный декларативный способ построения виджетов в виде дерева.

Ну кому что. Мне декорации переработанные нравятся.

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

Мне декорации переработанные нравятся.

Всё это было бы фигня, если бы они API не причесали. Теперь, я думаю, долго ничего ломающего не будет, а это значит, что можно ожидать больших вливаний.

Да, я плохо сформулировал.

Сформулируй хорошо, я ж не просто так спрашиваю. :3

r3lgar ★★★★★
()

так что существующие конфигурации придётся переписывать.

ну черти, с 3.4 -> 3.5 меня лишили бинарных часов, чего лишат сейчас?

Добавлен ресайз окон при подтаскивании их к краю экрана (как в KDE или Gnome)

но кому черт возьми из постоянных пользователей сабжа это вообще когда-либо нужно? Что может быть проще mod4+пкм?

Mod4+s вызывает виджет с подсказкой активных хоткеев

Mod4+s вызывает и будет вызывать SpaceFM, я гарантирую это.

Для определения и задания раскладки клавиатуры больше не нужен setxkbmap

бабушке пусть расскажут.

В общем предстоит борьба, как обычно, но результат, как обычно тоже, выйдет отличным!

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

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

Hoodoo ★★★★★
() автор топика

фреймворка для построения менеджеров окон

Эмм. А давно он из обычного WM стал целым фреймворком?

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

Эмм. А давно он из обычного WM стал целым фреймворком?

Примерно с первых релизов 2 версии.

slon
()

25 января состоялся

То чувство, когда «НГ» прошёл весело, но ничего не помнишь...

API меняется с 3.5 на 4

Беспокоит, как обычно, нужно ли будет снова...

существующие конфигурации придётся переписывать

нужно...

backbone ★★★★★
()

Версия API изменена с 3.5 на 4, так что существующие конфигурации придётся переписывать.

Вечная проблема данного тайлового менеджера окон.

Odalist ★★★★★
()

О, как раз собирался его тыкать.

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

Я думаю вливаниям помог бы менеджер пакетов ещё.

Увы, но осом архитектурно для этого не пригоден. И вообще, я высказал своё мнение в той иссуе уже очень давно.

Текст поправил.

Благодарю.

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

ну черти, с 3.4 -> 3.5 меня лишили бинарных часов, чего лишат сейчас?

Юзай i3. Нефиг сидеть на этой Lua помойке...

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

с 3.4 -> 3.5 меня лишили бинарных часов

Тогда это был тупняк, но сейчас это мажорный релиз, к тому же, было обещано, что с этого момента API стабилизируют.

чего лишат сейчас?

Не столько лишат, сколько добавят. В том числе плясок.

но кому черт возьми из постоянных пользователей сабжа это вообще когда-либо нужно? Что может быть проще mod4+пкм?

Да не, вендотайлинг — это забавно. Для новичков сгодится. Хотя и не нужно.

Mod4+s вызывает и будет вызывать SpaceFM, я гарантирую это.

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

Для определения и задания раскладки клавиатуры больше не нужен setxkbmap

бабушке пусть расскажут.

У меня он уже хрен знает сколько не установлен, настройка раскладки через конфиг иксов. Переключалка работает как задумано и без setxkbmap, так что ты упрлс.

В общем предстоит борьба, как обычно, но результат, как обычно тоже, выйдет отличным!

Борьба с устоями, да.

Ты видел фичу от actionless: прототип виджета хоткеев для awesome wm

Ты не поверишь, но реализация от него же, только в упрощённом варианте.

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

Все равно не понял какая выгода от этого.

Теперь вместо портянки в столбик вида

widget.add(widget1)
widget.add(widget2)
widget.add(widget3)
widget.add(widget4)
widget.add(widget5)
widget.add(widget6)
Будет человекопонятное древовидное qml-подобное, пример я привёл выше. Стало читабельнее, как минимум. Да и писать так гораздо удобнее.

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

А конвертора для конфигов нет?

Надо — напиши. За хелпом смотри в deprecated.

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

Версия API изменена с 3.5 на 4, так что существующие конфигурации придётся переписывать.

Вечная проблема данного тайлового менеджера окон.

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

r3lgar ★★★★★
()

Пользовался им какое-то время, потом перестал из-за проблем с отображением джавы, но 8 рабочих столов и многие хоткеи перетащил в своё KDE.
Может, пора попробовать снова.

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

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

Хотя именно осом как скриптуемый комбайн со всем своим под концепцию вяленого композитора (de+display server) подошел бы весьма.

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

Уже прочитал. В issue на гитхабе про осом и вейланд упоминается некий way cooler. Вроде активно пилится и имеет конфиг на lua. Изначально для wayland. Да еще и на расте. Радость хипстера)

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

`emerge wmname && wmname LG3D` и проблем с джавой как не было.

а вообще собрал четверку, работает, вот конфиги подпиливаю.

ебилды будут нескоро правда, потому что в портаж не положили пакеты для сборки документации.

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

layouts там до сих пор жестко заданы? Произвольно экран не поделить?

да, так и есть.

был такой форк с возможностью включать лейауты внутри лейаутов, но кажется его забросили: https://github.com/Elv13/awesome-1/tree/dynamic_layouts2

last_man_standing ★★
()

Несколько лет сижу на openbox и уже давно хотел попробовать тайтловый wm, в особенности awesome. На неделе уже собирался ставить и тут такая новость, после которой уже не хочется. Сложилось впечатление, что awesome этот как младший брат kde, но только из мира wm. А я терпеть немогу эту ссаную kde с его тормозами, виджетами и кучей всякого ненужного говна в виде никому не нужных фитч, и чуть ли не отдельным ядром, и виндовым треем. Сабж сейчас напомтнает этакого миньона. Разочаровался я, буду смотреть другие тайтловые wm.

anonymous
()

С одной стороны, вроде бы как всё классно: расширяемо и шоколадно. Но на практике от релиза к релизу меняется api и весь конфиг надо фиксить. Что напрягает юзеров rolling release дистрибьютивов или тех, кто сидит в testing или unstable ветках, с другой стороны вся эта поделка позиционирует себя как расширяемая, а на практике начинаешь прикручивать виджеты(аля Vicious) и всё дико начинает тормОзить. При этом этот Vicious привязан к определенной версии api awesome, что подразумевает под собой фикс после апдейта и всех виджетов. Вся эта тормозящая вакханалия через определенное время начинает раздражать и начинаешь откручивать все эти виджеты и свистелки и думаешь «омг, хотя бы оно просто работало», потом приезжает новый апдейт и оно чуть ли не дефолтное падает.

Еще один интереснейший момент, - это то, что вся эта поделка не всегда в месседжы показывает сбойный кусок и можно весь вечер убить в поисках того, из-за чего же это все перестало работать.

bryak ★★★★
()

состоялся релиз Awesome 4.0
существующие конфигурации придётся переписывать

Круто, а по поводу конфигов очередной повод прочитать доки и вики и сделать все ещё круче.

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

ебилды будут нескоро правда, потому что в портаж не положили пакеты для сборки документации.

В дереве нет ldoc, потому документации не будет, пока не запилят ебилд для ldoc, который никому не упёрся.

Могу запилить без доков ебилд в свой оверлей, если время будет.

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

Произвольно экран не поделить?

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

Впрочем, есть средства для увеличения/уменьшения количества master/slave, так что частично это реализовано уже сейчас, хоть и не так гибко.

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