Мозаичное размещение окон горизонтально и вертикально под Lubuntu (LXDE/Openbox)?

Есть ли какой-либо способ, которым я могу разместить два окна рядом горизонтально (⬒) или вертикально (◧) под Lubuntu/LXDE/Openbox? Возможно, через сочетание клавиш или кнопку панели?

10
задан 26 August 2014 в 18:08

2 ответа

Конфигурация:

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

Открывают Ваш rc.xml вариант (например, ~/.config/openbox/lxde-rc.xml, ../lubuntu-rc.xml или ../rc.xml) и вставляют следующий отрывок в эти <keyboard>..</keyboard> раздел:

<!-- Vertical tiling -->
<keybind key="C-W-v">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>50%</width>
  </action>
  <action name="MaximizeVert"/>
  <action name="MoveResizeTo">
    <x>0</x>
    <y>0</y>
  </action>
  <action name="NextWindow">
    <interactive>no</interactive>
    <dialog>none</dialog>
    <finalactions>
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo">
        <width>50%</width>
      </action>
      <action name="MaximizeVert"/>
      <action name="MoveResizeTo">
        <x>-0</x>
        <y>0</y>
      </action>
    </finalactions>
  </action>
</keybind>

<!-- Horizontal tiling -->
<keybind key="C-W-h">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <height>50%</height>
  </action>
  <action name="MaximizeHorz"/>
  <action name="MoveResizeTo">
    <x>0</x>
    <y>0</y>
  </action>
  <action name="NextWindow">
    <interactive>no</interactive>
    <dialog>none</dialog>
    <finalactions>
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo">
        <height>50%</height>
      </action>
      <action name="MaximizeHorz"/>
      <action name="MoveResizeTo">
        <x>0</x>
        <y>-0</y>
      </action>
    </finalactions>
  </action>
</keybind>

<!-- Restore window dimensions -->
<keybind key="C-W-r">
  <action name="UnmaximizeFull"/>
  <action name="NextWindow">
    <interactive>no</interactive>
    <dialog>none</dialog>
    <finalactions>
      <action name="UnmaximizeFull"/>
    </finalactions>
  </action> 
</keybind>

Ярлыки в действии:

enter image description here

Использование :

  • , Супер + Ctrl + V : Мозаика последние активные окна вертикально
  • , Супер + Ctrl + H : Мозаика последние активные окна горизонтально
  • , Супер + Ctrl + R : Восстановите исходные размеры окна

Для изменения этих присвоений, просто редактируют эти <keybind key="..."> строки в отрывке выше.

Примечания :

  • Этот метод только разместит два последних активных окна рядом
  • , можно подкачать положения окна путем фокусирования неактивного окна и нажатия горячей клавиши снова
16
ответ дан 16 November 2019 в 15:33

Ответ Glutanimate (на этой странице) превосходен, но при применении его к Raspbian может быть полезна небольшая дополнительная информация:

Конфигурационный файл openbox на Raspbian .config/openbox/lxde-pi-rc.xml. Он «минимизирован», поэтому представляет собой одну строку текста и по умолчанию не содержит раздела клавиатуры.

Чистым решением было бы открыть этот файл в чем-то вроде VScode и изменить форматирование, затем добавить нужный раздел, повторно минифицировать, если хотите, а затем скопировать его обратно на Pi.

Я выбрал быстрый и грязный, но функциональный:

  1. Откройте .config/openbox/lxde-pi-rc.xml в любом текстовом редакторе
  2. Найдите строку , которая находится в конце очень длинной «уменьшенной» строки
  3. Поместите курсор перед этой строкой и нажмите Enter пару раз, чтобы она оказалась на следующей строке с пробелом между ними , например:

    
    PibotoLt16Нормальный
    
  4. Добавьте следующие строки в пробел:

    
    
    
    
  5. Скопируйте строки из ответа Glutanimate между теги.

  6. Перезагрузите openbox, чтобы немедленно активировать привязки: openbox --reconfigure
1
ответ дан 22 May 2020 в 22:19

Другие вопросы по тегам:

Похожие вопросы: