LINUX.ORG.RU

Рабочий процесс в тайлинге

 , , , ,


0

2

Использую какое-то время i3wm, один 23" монитор. Почти всегда все устраивает, т.к. основную часть времени экран разделен пополам вертикально - либо пара окон с кодом, либо одно окно с кодом, а второе с документацией. Иногда дополнительно разделяю каждую часть пополам или использую буферы/сплит в vim-е.

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

Подумываю попробовать настроить хоткеи для тайлинга в каком-нибудь обычном wm, в openbox например. Кто может поделиться своим опытом в этом?

Попробуй awesome, там можно сочетать тайлинг с плавающими окнами. В i3 может быть тоже можно, но я не пробовал.

filosofia ()

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

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

Кейс следующий: поделили экран пополам, слева - код, справа - мануал, ну или несколько в табах i3wm-их. И тут требуется еще где-нибудь что-нибудь посмотреть, например в браузере. Браузер откроем на другом воркспейсе, но потом, если надо активно сверяться с мануалом, его приходится тащить в первый воркспейс и размещать в табы к мануалам справа. А потом еще что-нибудь аналогичное и по-новой.

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

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

Я хочу попробовать что полегче, openbox например, но спасибо :)

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

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

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

Что ты называешь табами?

# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

То, что получается при использовании layout tabbed.

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

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

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

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

ну тогда сделай его плавающим и sticky чтобы отображался на всех воркспейсах

Неплохо, спасибо.

Осталось только разобраться, как такие окошки ресайзить быстро, чтобы они ту же половину экрана занимали, потому что «стандартный» sticky у меня не получилось с ходу применить к неплавающему окну, а i3wm.org у меня почему-то сейчас не открывается.

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

i3 - деревянный. Насколько мне подсказывает мой нескольколетный опыт работы в нем, то что ты описываешь решается либо через очень хитрую жопу, либо не решается вообще, либо ты начинаешь перерассматривать свои хотелки. В i3 целая куча предусмотренных юз-кейсов, но шаг влево, шаг вправо, вдруг захотел стать толковым месье - и ты в дерьме. Бери менеджер где все настраивается настоящим ЯП, а не полудекларативной шнягой, и хреначъ туда свою логику сам.

anonymous ()

use DWM, Luke! I3 - sucks

anonymous ()

Рекомендую fluxbox. Легкий, шустрый, достаточно гибкий. Не кастрирован в отличии от чистых тайлингов. Как раз под твой кейс подойдет.

anonymous ()

Интересный кейс, он у меня возник три месяца назад. Тайлинг 20" - два окна, редко три окна. 24"-27" - максимум 4 окна, в которых можно работать. Не больше. Это всё, что даёт нам тайлинг. Но и это не мало. Во флоат еще меньше + куча времени уходит на возню с окнами(не знаю, может уже в DE появилась компоновка по хоткеям). Тоже думал над тем, чтобы прикрутить тайлинг в флоат WM. fvwm3 - не получилось. Заюзал какое-то готовое решение для тайлинга. Через 2 минуты открываний-закрываний окон, у fvwm3 что-то внутри происходит и он на бинды некоторые не реагирует. Надо в это вникать, может дело в реализации тайлинга, а может еще fvwm3 не стабилизировалась и где-то что-то работает не так, как должно. Далее попробовал bspwm, но у него layout - это бинарные деревья. Нужно постоянно следить за тем, где у тебя фокус(на мастере или нет), чтобы не открыть в мастере второе окно(а потом его нужно закрыть, перейти на стек и там открыть или перемещать его в стек)

Реально хороший вариант - это сворачивание окон в панель. Не нужно окно? На панели тыркнул и скрыл его. Нужно? Открыл. В awesome и dwm это есть(патчем). Но сам для себя решил, что пока что это не нужно. И что этот вопрос решается покупкой второго монитора. Взял второй монитор, туда перенес броузер, а остальное работаю на первом мониторе

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

Очень частый кейс - 2 окна редактора + нужно читать мануал. Ставишь броузер с мануалом третим окном - неудобно и читать мануал и неудобно читать код во втором окне редактора. Решается вторым монитором:)

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

И сверху на него прикручивается тайлинг каким-то pytile, который можно переписать/дописать, но я бы не стал

bryak ★★★★ ()

Рекомендую окна на весь экран и alt+tab. Просто, кроссплатформенно, глаза ни на что не отвлекаются.

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

Прекратить маяться дурью и установить гном. Там из коробки и удобно экран разделяется на две части, и альт-таб нормально работает.

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

Если решишь продолжать дурью, могу подсказать как настраивать alt-tab в i3wm.

Im_not_a_robot ★★★★★ ()

предлагаю взглянуть на cwm (не тайлинг).

в нем нет рабочих столов, зато есть группы. например помещаешь нужное тебе приложение в группу №1, вешаешь хоткей на эту группу, скажем Alt+1. в группу можно добавлять сколько угодно приложений, таким образом все N приложений будут сворачиваться-разворачиваться по хоткею, если состоят в одной группе. с помощью утилиты xprop можно задать автоматически группу приложению. по умолчанию Alt+Return сворачивает приложения в фон, есть навигация по открытым/свернутым окнам, есть запускалка по типу dmenu, легко свое меню сделать. удобно пользоваться как с мышкой, так и без. перемещение/ресайз окон с вим подобными хоткеями hjkl (ну или мышкой). пользуюсь на ноутбуке, качественный вм, прост в настройке (конфиг буквально на 20 строчек). единственное чего мне не хватает, указать окну работу поверх остальных и раскидку по углам, как в 2bwm.

вот пример части конфига:

# xprop | grep WM_CLASS
autogroup 9 XClock
autogroup 1 Tym
autogroup 2 Google-chrome
autogroup 5 mpv

# Игнорирует окно приложения. Полезно при Alt+Tab, например для conky
ignore XClock

# Super+N Переключение групп
bind-key 4-1 group-toggle-1
bind-key 4-2 group-toggle-2

# Super+Shift+N Отправить приложение в группу
bind-key 4S-1 window-movetogroup-1
bind-key 4S-2 window-movetogroup-2
anonymous ()
Ответ на: комментарий от chem1cal

Кейс следующий: поделили экран пополам, слева - код, справа - мануал, ну или несколько в табах i3wm-их. И тут требуется еще где-нибудь что-нибудь посмотреть, например в браузере. Браузер откроем на другом воркспейсе, но потом, если надо активно сверяться с мануалом, его приходится тащить в первый воркспейс и размещать в табы к мануалам справа. А потом еще что-нибудь аналогичное и по-новой.

Мне кажется с твоими сценариями использования современного Gnome хватит. Вот нарпимер у меня Ubuntu Gnome:

  • [super + left/right] - развернуть окно в левой/правой части экрана
  • [super + up] - развернуть на весь экран (F11 полноэкранный режим)
  • [ctrl + alt + shift + up/down] переместить окно между воркспейсами
  • [ctrl + alt + up/down] переключится между воркспейсами

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

Для работы с терминалами на F1 повесил выпадающий терминал guake (есть еще tilda) и там пользуюсь как мультиплексером gnu screen (а кто-то любит tmux).

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

да, бара нет. можно поставить например lemonbar, polybar. в конфиг добавить:

gap 15 0 0 0

ignore lemonbar

сам я панелью не пользуюсь, для статуса батареи использую xbattbar-se (это просто полоска на ширину дисплея)

anonymous ()

Вот мои хоткеи для тайлинга в опенбоксе:

<keyboard>
  ...
  <keybind key="W-KP_Left">
    <xi:include href="rc.d/split50x50.xml"/>
  </keybind>
  <keybind key="W-S-KP_Left">
    <xi:include href="rc.d/split60x40.xml"/>
  </keybind>
  <keybind key="W-KP_Right">
    <xi:include href="rc.d/splitright50x50.xml"/>
  </keybind>
  <keybind key="W-S-KP_Right">
    <xi:include href="rc.d/splitright60x40.xml"/>
  </keybind>
</keyboard>

А вот содержимое split50x50 для примера:

<action name="ForEach">
  <desktop>current</desktop> <iconified>no</iconified>
  <then>
    <action name="Unmaximize"/>
    <action name="Undecorate"/>
    <action name="If">
      <focused>yes</focused>
      <then>
        <action name="MoveResizeTo">
          <x>0</x> <y>0</y> <width>50%</width> <height>100%</height>
        </action>
      </then>
      <else>
        <action name="MoveResizeTo">
          <x>50%</x> <y>0</y> <width>50%</width> <height>100%</height>
        </action>
      </else>
    </action>
  </then>
</action>

bread ()

Ну если монитор 23", то какие проблемы? Я вот на ноуте 720р использую i3, только забыл, когда делил экран между двумя приложениями, даже терминал занимает весь workspace – мне для него не хватает 75 знаков в ширину, а меньший, чем 12, шрифт, тоже не устраивает.

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

Вот мои хоткеи для тайлинга в опенбоксе

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

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

раскидку по углам

прошу пардону за дезинформацию

window-snap-left
window-snap-down
window-snap-up
window-snap-right
window-snap-up-left
window-snap-up-right
window-snap-down-left
window-snap-down-right
anonymous ()
Ответ на: комментарий от anonymous

Пример Regolith Linux с i3

Это тот, который за собой тащит три четверти гнома и на старте отъедает 600мб, не жирно для WM? В котором не работает setxkbmap и нужно по всей видимости ставить Gnome-Tweaks… Иначе язык будешь переключать Ctrl+Alt+Space.

Отличный выбор, но пример отрицательный.

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

Здесь очень может поможет scratchpad из i3, который встроен в него из коробки. Можешь кидать окно браузера в scratchpad, а потом вызывать по необходимости и держать его столько, сколько нужно. После чего можно опять скрыть и продолжать работать с основными окнами.

anonymous ()

+1 за овёс:

  • может в плавающие окна
  • может в карточную раскладку

Но для случаев когда тайлинг это просто «экран пополам» нонче вроде любое ДЕ так умеет

rukez ★★★★ ()

Бери awesome, настраивай как хочешь. i3 кастрированный.

shpinog ★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.