LINUX.ORG.RU

Очередной tiling-wm выбора пост

 , , , ,


0

2

Доброго времени суток.

В очередной раз пытаюсь перейти с awesome на i3, в очередной раз больно.

Что не нравится в awesome:
1. Окна IntelliJ IDEA порой странно себя ведут. Самый критичный кейс (не знаю, но догадываюсь, кто виноват): при открытии модальных окошек, например поиска класса по имени, после ввода пары символов фокус теряется и попадает на основное окно.
2. Из коробки нет возможности добавлять теги на лету (или это я не осилил?)
3. Lua. Это наименее критичное замечание, но lua перевариваю с трудом.
4. Нет штатных средств сохранения/восстановления лейаутов после релогина. Решается костылями. Костыли - это плохо.

Что не устраивает в i3:
1. Слабо кастомизируется. Использование py3status вместо i3status частично решает проблему, но степень кастомизации конечно не идет ни в какое сравнение с awesome.
2. Нет возможности отображения неиспользуемых в данный момент «тегов». Мелочь, но раздражает.
3. «Благодаря» древовидной структуре фреймов, нет возможности реализовать обход всех фреймов текущего тега по комбинации клавиш (да, да, я именно про alt+tab). И это вовсе не странное желание при использовании тайлинга. Есть тег с 4мя постоянно открытыми терминалами. В i3 для быстрой навигации приходится задействовать тачпэд. Это при живом-то тайлинге. Срам.

Хотелось бы найти какой-то компромисный вариант. На awesome и i3 свет клином не сошелся, но серебрянной пули найти не смог. Сейчас обратил взгляд на Notion. Посмотрим, что получится (ion3 не пробовал).
Можете ли что-нибудь конкретное посоветовать? Прекращать выпендриваться и просто работать?

Спасибо.

Да работай на осоме дальше да и все.
Может для окон IntelliJ IDEA какой дополнительный обработчик написать? Сам я в lua никакой, конфиг кое-как копипастом делал себе.

sehellion ★★★★★
()

Можете ли что-нибудь конкретное посоветовать?

Awesome и i3 - это динамический тайлинг, notion/ion3 - статический тайлинг. Судя по комментариям на лоре, некоторые не могут понять всю прелесть статического тайлинга.

Я посоветую notion, поскольку это лучший wm, которым мне довелось пользоваться. А пользовался в течении длительного времени я многими wm.

andreyu ★★★★★
()

Тут даже DE приходится настраивать под себя, а иногда и допиливать, а некоторые артисты погорелого театра хотят, чтобы WM «искаропки» выполнял любые их хотелки. Вдоль.

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

Можно в паре слов про прелесть статики? Суть ясна, но разве это может быть удобным? Сам не пробовал, но идея кажется сродни одному окну на каждый тег.

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

фокус теряется и попадает на основное окно

А может IDE сам его перекидывает в основное окно? Хотя, в мастере многое подпилили, можешь попробовать потыкать.

Из коробки нет возможности добавлять теги на лету (или это я не осилил?)

Tyrannical не пробовал?

lua перевариваю с трудом

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

Нет штатных средств сохранения/восстановления лейаутов после релогина.

Задефайнь в конфиге каждому тегу свой лайаут, а не меняй на одном лайаут по сто раз в день.

Костыли - это плохо.

На костылях весь мир держится, от них не избавиться.

Слабо кастомизируется.

Нет тьюринг-полных конфигов — нет кастома.

Попробуй xmonad, если осилишь хаскель, или иди на dwm, если совсем спокойно не живётся.

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

Допилки обходятся слишком немалой кровью

что странно

Ты уж выбирай, или простота настройки, или гибкость.

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

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

На самом деле это очень удобно, особенно на ноуте.

По сабжу касаемо awesome - для idea попробуй всяке java-костыли (export _JAVA_AWT_WM_NONREPARENTING=1, wmname разные, вот это все); «Из коробки нет возможности добавлять теги на лету» - из коробки осом вообще не юзабельный имхо, но какие-то шорткаты для добавления тегов у него емнип были. «Нет штатных средств сохранения/восстановления лейаутов после релогина.» - в смысле набора приложений? Это вообще мало кто может нормально. Это все решается набором приложений для автозапуска и нормальной настройкой тегов. А конфг на луа после оттачивания правится очень редко, да и сильных знаний lua для его написания не требуется - за вечер можно сносно разобраться по гуглу и SO

alozovskoy ★★★★★
()

https://github.com/awesomeWM/awesome/issues/889

Твой репорт?

Тут говорят, что проблема в идее. Вообще с жабой проблемы часто и не только в осоме. В i3 относительно ок работает потому что он reparenting и ewmh реализует более-менее корректно, у остальных как повезет. Сильно сомневаюсь, что в рекомендованном выше notion тебе повезет, хотя могу и ошибаться (честно говоря глянул мельком сорцы на гитхабе, даже и не нашел где у него эти вещи)

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

Можно в паре слов про прелесть статики? Суть ясна, но разве это может быть удобным?

Для меня удобно, когда лэйаут не перестраивается в угоду новому окну.

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

А у меня так и есть:
- браузер (или несколько в табах)
- два фрейма под эмуляторы терминалов (вместе с поддержкой табов на уровне фрейма это удобно).
- два фрейма для скайпа - под контакт лист и окно сообщений (но обычно на этом теге пусто, поскольку скайп использую крайне редко).
- vim в эмуляторе терминала (когда-то gvim)
- gimp (сейчас однооконный, раньше многооконный с разделением по фреймам)
- виртуальная машина.

Плюс в notion/ion3 есть именованные скретчпады. Там у меня менджер паролей, калькулятор, goldendict.

По умолчанию скрыты заголовки окон, поскольку их ценность невысока.

Естественно, весь юзкейс описать нельзя, нужно самому попробовать. Я только со второго захода оценил ion3. В первый заход я не осилил и вернулся то ли в wmii, то ли в dwm. Но в следующий раз я твердо решил не просто посмотреть на ion3, а продолжить выполнение повседневных задач. И оно как-то сразу пошло.

andreyu ★★★★★
()

наверное, осиливать notion/ion3 будет лучше, но пояснять буду за xmonad

Окна IntelliJ IDEA

не знаю, чо там в осоме, но в xmonad умвр, хотя допиленность у него так себе. _JAVA_AWT_WM_NONREPARENTING=1 поставил?

добавлять теги на лету

или это я не осилил?

скорее всего this. в xmonad точно есть

Нет штатных средств сохранения/восстановления лейаутов после релогина. Решается костылями. Костыли - это плохо

да ты посмотри на все эти тайловые wm, там костыль на костыле едет и костылём погоняет

в xmonad решается парой строк(вывод состояния в файл в logHook, считывание из файла в самом начале; костылём это не щитаю), однако же есть подводные камни(некоторые лайауты хранят в состоянии ID окон, что, естеснвенно, бесполезно хранить между сессиями)

Слабо кастомизируется

как ни странно, но это вполне себе про xmonad. нет, там есть тьюринг-полный конфиг и прочая параша, но некоторые моменты конфигаются крайне убого

Нет возможности отображения неиспользуемых в данный момент «тегов»

этим не страдает

(да, да, я именно про alt+tab)

xmonad так умеет, ибо структура окон у него линейная, что также имеет минусы

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

На самом деле похоже на мои юзкейсы, хоть я и сижу на динамическом тайловом wm. Итого, осталось устааканить лейауты и отвыкнуть от привычки открывать не-пойми-что не-пойми-где. Закрадывается ощущуение, что я пытаюсь есть кактус.

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

костыли

почему _JAVA_AWT_WM_NONREPARENTING=1 — костыль? это как раз правильное решение: явно указать жаве, что используется nonreparenting wm

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

Итого, осталось устааканить лейауты и отвыкнуть от привычки открывать не-пойми-что не-пойми-где

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

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

Потому что оно все само (java, wm и прочие участники) должны знать как друг с другом работать, а когда для запуска javaподелки приходится писать sh'шники с предварительной настройкой окружения - это костыли.

alozovskoy ★★★★★
()

xmonad

lua перевариваю с трудом

а как тебе на вкус haskell?

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

А может IDE сам его перекидывает в основное окно?

Точно нет. И, внезапно, пробема решилась после перевода тэга из fullscreen в magnifier.

Tyrannical не пробовал?

Нет. Спасибо, посмотрю.

Его осилит даже пьяный гаишник.

Так оно понятно, что любой человек, тем более разработчик со стажем, сумеет в любой язык. А при наличии времени и прямых рук сумеет в него красиво. Просто дело вкуса. На мой, lua - не самый изящный пример ЯП.

Задефайнь в конфиге каждому тегу свой лайаут

Да вот то-то и оно, сейчас именно так и работает. Есть стремные кейсы. Так, например: у меня есть тег, в котором я постоянно держу 4 открытых urxvt. Мне приходится создавать правило на захардкоженный класс окна, с которым я пускаю 4 инстанса urxvt при каждом старте awesome (из конфига, естественно). В том же i3 есть CLI утилитки для сохранения воркспейса в json и восстановление спейса на его основе.
Кстати, придумал занятие. Если будет время, было бы неплохо запилить нечто подобное для awesome.

На костылях весь мир держится, от них не избавиться.

Не весь, к счастью не весь. Но эта его часть - точно.

Попробуй xmonad, если осилишь хаскель

Думал, но лень его курить. Хотелось свободное время провести с бОльним удовольствием.

P.S.: в связи с внезапным решением основной проблемы, мешающей работать, пока повременю с миграцией. Awesome не так уж плох.

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

lua - не самый изящный пример ЯП

Я уже много раз говорил, и ещё раз скажу: Для конфигов лучше не придумаешь. Ну не на питоне же конфиги писать?

В том же i3 есть CLI утилитки для сохранения воркспейса в json и восстановление спейса на его основе.

Хотел подобное реализовать, мотивации не хватило.

На костылях весь мир держится, от них не избавиться.

Не весь, к счастью не весь. Но эта его часть - точно.

Если не на костыльных продуктах, то на костыльных услугах, если не на них, то на костыльных помыслах.

Awesome не так уж плох.

Ни разу не возникало желания свалить. А в мастере так вообще много вкусного.

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

Я посоветую notion, поскольку это лучший wm, которым мне довелось пользоваться. А пользовался в течении длительного времени я многими wm.

лучше bspwm ? чем если да. Я доволен, но открыт для нового.

Dred ★★★★★
()

А мне вот нравятся keychain'ы как в имаксе, в некоторых случаях очень удобно (для организации меню logout/suspend/etc или для раскидывания окон по разным мониторам например). Нормально с индикацией состояния реализуется только в осоме и в i3. sxhkd умеет в цепочки, но отображения состояния нет и сделать невозможно

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

лучше bspwm ? чем если да.

Не знаю, не использовал. Вот список того, что помню - wmii, dwm, awesome, xmoand, i3. Это то, что на слуху (потому и запомнилось) и что я использовал достаточно длительное время.

Я доволен, но открыт для нового.

Тогда скорее всего нет смысла менять.

andreyu ★★★★★
()

у всех тилинг вм трабла с java окошками. Вроде в новом осоме что-то предприняли. В новостях посмотри

bryak ★★★★
()
Ответ на: комментарий от border-radius

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

Именно поэтому сейчас есть awesome, который когда-то форкнулся от того самого dwm. Он прожил девять лет, развился в отдельный проект.

А что касается питона, пусть он гибкий, на него есть тонны обвеса, но он не годится для того, чтобы на нём писали конфиги. Компилировать конфиги — это вообще дело последнее.

А ты свою позицию не подкрепил.

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

у всех тилинг вм трабла с java окошками.

Нет, это у жавы траблы с тайлингом. (=

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

Ты считаешь, что перекомпиляция на каждый чих в конфиг — это нормально?

Я считаю, что это допустимо вследствие очень маленькой кодобазы…

Но тогда почему бы не написать свой тайловый wm, вместо того, чтобы юзать dwm? Суть останется та же.

…от которой конфиг, тем не менее, изолирован. Мне не нужно разбирать исходник dwm.c, чтобы поменять шрифты, цвета и комбинации клавиш.

Я не фанат конфигов в заголовочных файлах, а больше сторонник подхода dmenu, когда всё задаётся командными ключами. Но, повторюсь, для настолько компактного WM этот подход допустим.

но он не годится для того, чтобы на нём писали конфиги.

А что, по-твоему, годится?

Компилировать конфиги — это вообще дело последнее.

Встраивать парсеры или даже интерпретаторы туда, где можно обойтись более простыми механизмами - тем более.

Я юзал awesome, все свистоперделки не оценил.

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

Касательно питона - вопрос наверное ко всем. Кто пробовал qtile? Насколько оно живое/юзабельное(/тормозящее?)?

bytecode ★★
() автор топика
Ответ на: комментарий от border-radius

настолько компактного WM

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

А что, по-твоему, годится?

Lua как раз подходит. Не нужно ничего изобретать.

Встраивать парсеры или даже интерпретаторы туда, где можно обойтись более простыми механизмами - тем более.

Lua хорошо плюётся в сишку, какие проблемы?

awesome

свистоперделки

Их там и нет, а будут ли — зависит исключительно от тебя. Главное в осоме, что можно сделать удобство работы, а красиво это, или нет, это уже зависит от искушённости юзера.

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

Кто пробовал qtile?

doraneko пользовался, но я не в курсе, сложилась ли у них любовь.

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

перекомпиляция на каждый чих в конфиг — это нормально?

да, если она проходит быстро и удобно

python не годится для того, чтобы на нём писали конфиги

почему?

f1u77y ★★★★
()

для java какие-то фиксы были в мастере, да и вообще текущая стабильная версия awesome слишком сильно отстает от мастера

actionless ★★★★★
()

Дичайше извиняюсь за оффтоп, но в тему по ссылке нет возможности постить.
$ sudo cast sudopacman
Иконки в правом лейауте на панели - откуда они? Ничего приличного найти не удалось. И спасибо за конфиг, наконец узнал, откуда берутся эти ваши треугольные делимитеры.

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

Отлично, спасбо большое, то что нужно.

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