LINUX.ORG.RU
ФорумTalks

Тайлинг моей мечты

 


31

5

В последнее время занимался немного оптимизацией управления окнами в awesome, и теперь получившейся хренью сил нет охота поделиться. Из интересного есть специальный графически оформленный (да, нужен compton) режим для манипуляции окнами, собственная «полуручная» схема тайлинга, нескучные заголовки с табами.

Видео чтобы не описывать: раз, два.

Конфиги можно потыкать палочкой все там же. Отзывы и мнения приветствуются.

★★★

Буду первым. Круто!

Kilte ★★★★★
()

Градус годноты зашкаливает.

DeadEye ★★★★★
()

Схоронил. Чувак, ты крут.

najlus ★★★★★
()

добавил в избранное. Это5!

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

На видео есть хоткеи

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

Напиши список хоткеев в ридми, может потыкаю.

У тебя оно с lua 5.1 + awesome 3.5.6, или как? (в сорцы пока не ходил)

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

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

а на высоком не грузятся видео

Странно. Вот ссылки на видеофайлы, cast Jefail

https://yadi.sk/i/E7eS_qQDg4tF4

https://yadi.sk/i/tjykMobXg4tDQ

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

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

первый видос прикольный, немного напоминает collision, но вот второй, с табами, это лютая годнота, надо внедрять у себя

кстати, мне показалось или на видео были емаксоаккорды типа C-1g, когда ты клиентов перемещал по лэйауту?

actionless ★★★★★
()

а этот ваш тайлинг умеет только соснули переключать, или нормальные графические окна тоже можно?

для этой штуки есть гуёвый настраивальщик?

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

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

Ну осиль видео хоть до серединки.

для этой штуки есть гуёвый настраивальщик?

Конечно же нет.

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

я спрашивал, идут ли она аккордами (т.е. несколько кнопок после модификатора) или ты просто на видео так быстро нажимал две разных последовательности, но я пересмотрел еще раз и, видимо, второе

actionless ★★★★★
()

Я ничо не понял. Что происходит!?

Но в избранное добавлю)

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

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

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

Так ты не описал, как обстоят дела с lua и версией осома.

Ты будешь отделять эту библиотреку от темы?

r3lgar ★★★★★
()

1) У вас правда не болят глаза от серого текста на сером фоне? Я заметил что это популярное маразматическое (мое личное мнение) решение.

2) Почему панель занимает драгоценное вертикальное пространство вместо горизонтального, которого много?

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

У тебя оно с lua 5.1 + awesome 3.5.6

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

Так как оно зависит от lain

Сам модуль не зависит, только мой конкретный конфиг, использую лейауты оттуда. Реально для работы модуля нужна утилита rsvg-convert, ну и композитинг, естественно.

отделять эту библиотреку от темы?

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

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

серого текста на сером фоне?

Текст таки в основном светлый. Да и мой случай не показательный, довольно часто сижу в темноте.

Почему панель занимает драгоценное вертикальное пространство вместо горизонтального, которого много?

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

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

Гробить глаза или нет - это личный выбор каждого, но для чего текст на панели, если у тебя из читабельного текста только время, а остальное легко отображается иконками? Тут вопрос именно в рациональности использования пространства.

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

В общем по дефолтным хоткеям: запускается особый режим по Mod4 + F2. Не отжимая Mod4 нужными клавишами управляем окнами. По отжатию Mod4 выход из режима. Работает только в режиме тайлинга, не floating.

Общее для всех лейаутов:

Up, Down, Left, Right - переместить окно в фокусе в соответствующем направлении.
N1, N2 (две цифры подряд) - поменять местами окна с заданными номерами
N1, N1 (одна цифра дважды) - передать фокус окну с заданным номером
с - закрыть окно в фокусе.

g, N1, N2, ... , g - сгруппировать окна с заданными номерами.
d - исключить текущее активное окно из группы в фокусе
Shift + d - расформировать группу в фокусе

Только для usermap и tile лейаутов:

h, j, k, l - изменить размеры окна

Только для usermap (каждое новое окно отъедает часть размера от выбранного «родительского» окна):

s - переключение режима раздела пространства с родительским окном: по вертикали или по горизонтали.
f - назначить окно в фокусе родительским для следующего окна, открытого в будущем.
i - назначить окно в фокусе родительским для последнего уже открытого окна.
Shift + i - назначить последнее уже открытое окно родительским для окна в фокусе.
e - выровнять размер окна в фокусе с его предками в одном направлении.

Все это, естественно, можно настроить из конфига.

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

Сам модуль не зависит

Это хорошо.

композитинг

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

использовать содержащие иконки виджеты.

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

rsvg-convert

Возьму на заметку. Почему не на lgi?

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

если у тебя из читабельного текста только время, а остальное легко отображается иконками?

Часов уже достаточно чтобы предъявить повышенные требования к толщине боковой панели. Насчет осатанелого - да, можно иконками, а можно и не иконками. Свобода выбора в отличии от.

вопрос именно в рациональности использования пространства

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

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

Ну, на самом деле у тебя на роликах полезной информацией заполяется не более 10-30% экрана. Остальное пустота. Оптимизировать нужно каждое приложение, тогда и не нужно будет много-много разных схем расположений окон, достаточно будет 1-2. И вот тогда каждая панелька должна быть на своем месте, а лучше всего не быть.

LightDiver ★★★★★
()

Предлагаю 'solid disk, hard disk' сменить хотя бы на 'solid drive, hard drive', а то совсем фигня получается.

И да, в очередной раз убедился в том, что у тебя есть вкус и в том, что жизнь слишком коротка, чтобы тайлить. Один монитор — одно окно.

t184256 ★★★★★
()

дэрмо свистопэрдящее дэрмо

Bad_ptr ★★★★★
()

Круто, да. Все телки наверн теперь твои xD

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

Что значит полезное место? То что меж тайлами пустота? Ну мне вот именно это понравилось, что они не приклеены к др-другу визуально, но остаются тайлами.

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

Почему бы не вынести (со временем) иконки, относящиеся к модулю отдельно?

Они и есть отдельно (находятся в директории с темой, прописаны в файле темы), и это главная проблема переносимости. Сам модуль не содержит изображений, но в то же время ожидает, что иконки виджетам обязательно будут прописаны либо в файле темы, либо в момент их инициализации в rc.lua. То есть сейчас пользователь может забрать чисто скрипты redflat без моей темы, беря на себя ответственность за обеспечение модуля графической частью.

Почему не на lgi?

А что, так можно было)? В общем векторные одна из первых вещей которые хотел в awesome, прикрутил как сумел.

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

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

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

А что, так можно было)? В общем векторные одна из первых вещей которые хотел в awesome, прикрутил как сумел.

В том-то и дело, что можно. Тогда и иконки не понадобятся — их можно генерировать прямо на лету, а их цвета для lgi брать из конфига, например. Документированность lgi позволяет; судя по твоим работам, я думаю, ты справишься — там тот же cairo, только на Lua.

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

там тот же cairo

Не, cairo lgi я активно использую для графический примитивов, речь шла конкретно об svg иконках.

Тогда и иконки не понадобятся — их можно генерировать прямо на лету

Рисовать иконки полностью скриптами? Вполне реализуемо, но большая морока, потеря универсальности.

а их цвета для lgi брать из конфига

Это уже сделано и работает.

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

Не, cairo lgi я активно использую для графический примитивов, речь шла конкретно об svg иконках.

Так что тебе мешает? На lgi можно достаточно сложные вещи рисовать, если сильно заморочиться.

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

Так что тебе мешает?
если сильно заморочиться

Вот оно самое. И если кто захочет использовать мои скрипты со своей графикой, ему тоже придется морочиться. Сейчас svg иконки прикручены дико костыльно, но легко в использовании.

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

Я так и не понял, где у тебя там табы и прочее добро, что на видео?

Не хочу своё оформление менять, хочу только самое вкусное у тебя утащить.

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

Сами табы в redflat.titlebar. Список окон которые нужно сгруппировать формируется с помощью redflat.navigator. Прочее это конкретно что?

Рекомендую забекапить свои конфиги, накатить все полностью из репы и запустить с rc-base. Поворошив скрипты в живую и поняв что откуда растет вернуть свое и переносить нужные куски.

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

Сами табы в redflat.titlebar. Список окон которые нужно сгруппировать формируется с помощью redflat.navigator.

Этого достаточно, благодарю.

Рекомендую забекапить свои конфиги, накатить все полностью из репы и запустить с rc-base. Поворошив скрипты в живую и поняв что откуда растет вернуть свое и переносить нужные куски.

«Комбайновость» (то есть всё в одном, и зависимость одного от другого (в частности — плюшек от темы) затрудняет написание ебилда. Ты планируешь отделить модуль табов? Если да, пни меня, пожалуйста, как закончишь.

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

«Комбайновость» (то есть всё в одном, и зависимость одного от другого (в частности — плюшек от темы)

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

затрудняет написание ебилда

Поясни, что ты хочешь включить в ебилд. Чисто модуль (скрипты в redflat, которые не активны пока не используешь их в конфиге)? Пользовательский конфиг (rc.lua)? Пользовательскую тему (theme.lua)?

Ты планируешь отделить модуль табов?

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

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

Поясни, что ты хочешь включить в ебилд.

Посмотри как устроен vicious. Но у него есть один большой плюс — он документирован. Я пока не сильно смотрел в твой код, но форкнуть и поддерживать ООП я не смогу, да и не хочу — у тебя хороший вкус и ты пилишь, а у меня оно сдохнет моментально.

модуль

Самое интересное.

theme.lua

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

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

Посмотри как устроен vicious

Все серьезные модули (vicious, Lain, radical & tyrannical) распространяются по схеме: вот инструкция по установке чисто модуля, вот вам отдельно документация как его использовать. В моем случае нет проблем выделить чисто модуль. Но нужно ли оно без документации?

Было бы неплохо иметь хоть одну тему

Тему практически не имеет смысла делать без пользовательского конфига. Для примера темы сopycats все идут в виде связки тема + конфиг. Итак, собираешься ли включать в ебилд какой-нибудь конфиг?

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

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

Это добавляет переносимости и гибкости. Я бы, например, табы крепил не к окну, а в панель, и дёргал их, подменяя, по сигналу смены фокуса.

Для примера темы сopycats все идут в виде связки тема + конфиг.

Я видел, но никогда не пробовал их — они слишком перегружены. Но, в любом случае, это единственный вменяемый вариант распространения тем для осома.

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

Awesome с i3 скрестил?

Да, отдельные идеи откровенно потырил. Имхо, дела, к примеру у современных DE, были бы лучше, если б без стыда и совести копировали реально удачные фишки конкурентов.

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

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

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

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

Не совсем понимаю как это

У меня титл окна живёт на панели, таскбар на его месте только по наведению.

сейчас табы жестко зашиты в заголовок

Тем лучше.

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

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