Прежде чем углубиться, возможно ли это с Awesome WM?

Я пробовал разные мозаичные WM, чтобы увидеть, какой из них лучше всего соответствует моим потребностям. Каждый раз, когда я пробую новый, он выглядит хорошо, но я нахожу другие вещи, которые не совсем работают так, как мне нравится. Мои требования менялись по ходу дела. Изначально я не хотел заниматься Awesome, потому что изучение Lua не входило в список моих желаний, но, возможно, мне стоит попробовать, ЕСЛИ он может делать то, что я хочу, лучше, чем другие мозаичные WM.

Я собираюсь как можно конкретнее рассказать о том, чего я хочу. У меня монитор 3440х1440. Я хочу использовать как можно больше вертикального пространства (имеется в виду, что полная ширина, постоянная, но в основном пустая строка состояния не вариант, но мне нравится область уведомлений и дата/время).

Я понимаю, что это не может сделать все именно так, как я хочу, и это нормально. Если он делает более или менее большую часть того, что я хочу, я могу взвесить свои варианты между Awesome и другими мозаичными WM (на самом деле, только i3, который я использую сейчас, но я открыт для лучших предложений). Я был бы очень признателен, если бы люди не просто говорили «нет» тому, чего он не может, а говорили: «Нет, но он может…». Другими словами, не стесняйтесь предлагать альтернативы, которые также могут быть полезны.

  • Разделите экран на 3 столбца, первоначально 30/45/25, с правым столбцом, разделенным по горизонтали; Полностью настраиваемый и изменяемый по мере необходимости во время моей рабочей сессии;
  • Постоянный макет; при закрытии последнего приложения в плитке я не хочу, чтобы эта плитка исчезала, а размер оставшихся плиток изменялся. Просто покажите пустое место и оставьте все плитки как есть.
  • плитки с вкладками, поэтому я вижу, какие приложения работают в плитке (аналогично i3).
  • Изменение размера плитки с помощью клавиатуры в 1 направлении; Делая среднюю колонку/плитку шире, я хочу, чтобы она двигалась в определенном направлении к другой плитке и оставляла другую сторону в покое.
  • Некоторые приложения я хочу всегда запускать в определенной плитке. Например, терминалы всегда располагаются в крайнем правом столбце вверху/внизу, браузер/спотифай всегда в середине, атом/IDE всегда в левом. Некоторые приложения всегда должны быть плавающими. Очевидно, я хочу иметь возможность отправлять их на другую плитку после запуска.
  • Мне не нужна строка состояния шириной 100%. Он будет в основном пустым, что является пустой тратой экранного пространства. Предпочтительно, я бы хотел, чтобы часть панели состояния плитки, например, в самой правой плитке, изменяла размер вместе с ней. В противном случае я бы хотел, чтобы он был зафиксирован на 30% и позволял плиткам, которые не находятся под ним, использовать всю высоту экрана. Моя причина для строки состояния немая; На самом деле я хочу, чтобы область уведомлений и дата были постоянно видны. Мне не нужно «меню «Пуск», идеально подходит dmenu или подобное, которое, я считаю, интегрировано.

Спасибо заранее!


person phd68lnx    schedule 31.07.2017    source источник
comment
попробуйте i3wm вместо i3wm.org   -  person hjpotter92    schedule 31.07.2017
comment
Пожалуйста, можете обосновать свой ответ? Ваш ответ очень минимален и вряд ли отвечает на мой вопрос. Сейчас я использую i3, и он не может выполнять постоянную компоновку, что является моей самой большой проблемой.   -  person phd68lnx    schedule 31.07.2017
comment
У вас есть постоянные макеты в i3: i3wm.org/docs/layout-saving.html   -  person hjpotter92    schedule 31.07.2017
comment
Нет, это не так. Сохраненные макеты, которые можно восстановить, отличаются от постоянных макетов. Это означает, что плитка останется пустой после закрытия последнего приложения. Кажется, у Awesome есть что-то, что делает его полупостоянным с помощью fill_strategy, но я не смог понять, как это работает.   -  person phd68lnx    schedule 04.08.2017


Ответы (2)


Общий ответ: «Отличная конфигурация — это код, и он может делать все, что вы хотите». Но есть одна загвоздка. Можно ли настроить Awesome так, как вы описываете? Да, полностью. Есть по крайней мере 2 дистрибутива, которые достаточно близки (мой [1] и worron [2]) (по крайней мере, для рабочего процесса плитки, а не для внешнего вида).

«Уловка» в том, что рабочий процесс, который вы описываете, на самом деле не является «потрясающим способом». Awesome обычно используется как автоматический тайлер. У вас есть макеты, которые описывают рабочий процесс (код, Интернет, Интернет) и управляют клиентами в соответствии с их программами. Ручное управление плитками редко требуется, если у вас есть правильные макеты. Это не значит, что вы не можете, как я, но, возможно, стоит подумать нестандартно и посмотреть, сможете ли вы немного автоматизировать свой рабочий процесс.

Кроме того, система компоновки по умолчанию не очень современна и затрудняет реализацию запрошенных вами функций. Моя система компоновки (см. ссылку ниже) может использоваться как модуль или как ответвление и поддерживает все функции, описанные выше. Awesome чрезвычайно настраиваемый, и его компоненты могут быть заменены модулями.

https://github.com/awesomeWM/awesome/pull/644

Документация макета "сериализации" находится здесь:

https://elv13.github.io/libraries/awful.layout.html#awful.layout.suit.dynamic.manual

Он похож на i3, но имеет больше макетов и контейнеров. Что касается части «оставлять пустое место», то она настраивается с помощью fill_strategy:

https://awesomewm.org/doc/api/classes/wibox.layout.ratio.html#wibox.layout.ratio.inner_fill_strategy

В качестве заключения я хотел бы отметить, что вы просите «работать точно так же, как i3». Если вы хотите такую ​​вещь, ну, используйте i3. Awesome — это фреймворк оконного менеджера. Его цель и предназначение - создание кастомизированной оболочки рабочего стола/WM. Если это то, что вы хотите, тогда вперед и изучайте это, ничто другое не может сравниться с возможностью и уровнем контроля, который вы можете получить от этого. Однако требуется время и усилия, чтобы добраться до точки, где у вас есть «собственный идеальный рабочий стол». Наши пользователи совершенствуют рабочие столы:

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

[1] https://gfycat.com/SmallTerribleAdamsstaghornedbeetle

[2] https://www.youtube.com/watch?v=-yNALqST1-Y

person Emmanuel Lepage Vallee    schedule 31.07.2017
comment
Спасибо за развернутый ответ! Может я что-то не так понял, я не говорил и не имел ввиду работу именно как i3. Я здесь потому, что i3 не может делать то, что я хочу. Сохраненный/восстановленный макет работает один раз, но не является постоянным, поэтому, как только я закрываю последнее приложение, он закрывает контейнер и изменяет все размеры. Мне нужно то, на чем я фокусируюсь в средней части, потому что монитор слишком широкий, и изменение размера плитки влево или вправо сдвинет содержимое моей работы слишком далеко влево или вправо. Я посмотрю дальше ссылки, которые вы предоставили. Спасибо еще раз! - person phd68lnx; 01.08.2017
comment
Возможно, лучшей альтернативой, если вам нужны 3 фиксированных столбца, является создание 3 виртуальных экранов (у модуля Awesome screen есть API для него) на вашем физическом экране. Изменение размера будет более сложным, потому что вам придется изменять размеры виртуальных экранов вместо макетов. В зависимости от вашего вкуса, у него может быть несколько преимуществ. Наиболее очевидным из них является то, что у вас есть 3 набора виртуальных рабочих пространств (тегов), что избавляет от необходимости управлять вкладками и пустым пространством. С другой стороны, вы теряете возможность легко смотреть полноэкранный фильм (полноэкранный режим будет ограничен одним виртуальным экраном). - person Emmanuel Lepage Vallee; 01.08.2017
comment
Да, я не хочу, чтобы их так исправили. Должен быть возможен полный экран, а также изменение размера/разделение, но вручную. i3 расстраивает меня этим, потому что мне постоянно нужно открывать поддельные программы, чтобы моя рабочая программа была сосредоточена. Я пытаюсь разобраться в конфиге awesome, но документация слишком академична (если это правильное слово?), описывает, что делает каждый параметр, но недостаточно о том, как его следует реализовать. Я также не могу найти хороших руководств или примеров. - person phd68lnx; 02.08.2017

WM, который вам нужен, это herbstluftwm (hlwm). Это ручной тайловый оконный менеджер. Тайлы, о которых вы говорите, в hlwm называются фреймами. Каждый фрейм может содержать несколько окон. Фрейм также может быть пустым. Только если вы убьете кадр, другие кадры автоматически изменят размер. Вы можете добавлять новые рамки по вертикали и горизонтали и изменять их размер. Каждый кадр также может иметь различный макет для организации окон внутри. Макет, который вы ищете, макс. Это будет складывать окна внутри фрейма друг на друга. Однако он не показывает вам вкладки, такие как i3. hlwm позволяет создавать правила для открытия определенных приложений всегда в определенных фреймах и рабочих пространствах. hlwm не имеет встроенной строки состояния. Лично мне нравится использовать tint2. Его можно использовать в качестве замены для вашего требования видеть запущенные приложения в виде вкладок.

person aleks    schedule 06.01.2021