Openbox - rc.xml - applications

Openbox - свободный менеджер окон для X Window System.
Ответить
Аватара пользователя
nk
Модератор
Сообщения: 413
Зарегистрирован: 14 сен 2014, 00:35
Темы: 78
Статус: Не в сети

Openbox - rc.xml - applications

Сообщение nk » 25 сен 2016, 08:08

Задаем правило/а для конкретных окон

1. Получаем параметры конкретного окна, их можно узнать командой obxprop|grep ^_OB и выбрав интересуемое окно:

Код: Выделить всё

$ obxprop|grep ^_OB
_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_TITLE(UTF8_STRING) = "manjaro - File Manager"
_OB_APP_GROUP_CLASS(UTF8_STRING) = "Thunar"
_OB_APP_GROUP_NAME(UTF8_STRING) = "thunar"
_OB_APP_CLASS(UTF8_STRING) = "Thunar"
_OB_APP_NAME(UTF8_STRING) = "thunar"
_OB_APP_ROLE(UTF8_STRING) = "Thunar-1442508258-3269332119"
обратите внимание на class - он здесь с большой буквы, а name с маленькой;

2. Прописываем в rc.xml, в разделе <applications>:

Код: Выделить всё

<application class="Thunar" name="thunar">
      <desktop>2</desktop>
      <decor>no</decor>
      <maximized>true</maximized>
</application>
3. Делаем Reconfigure Ob (openbox --reconfigure) и теперь Thunar в соответствии с правилом выше будет запускаться на 2 столе, без декорации и во весь экран.


---
Еще один пример-правило для браузера Palemoon:

Код: Выделить всё

<application class="Pale moon" name="Navigator" type="normal" role="browser">
      <desktop>2</desktop>
      <decor>no</decor>
      <maximized>true</maximized>
    </application>
    <application class="Pale moon" name="Places" type="normal" role="Organizer">
      <position force="yes">
        <x>center</x>
        <y>center</y>
      </position>
      <size>
        <width>900</width>
        <height>600</height>
      </size>
      <focus>yes</focus>
      <layer>above</layer>
    </application>

Делаем все окна эмулятора Nestopia на всех рабочих столах и его окно Cheat Manager поверх всех окон:

Код: Выделить всё

    <!-- Nestopia -->
    <application class="Nestopia" name="nestopia">
      <desktop>all</desktop>
    </application>
    <!---->
    <application class="Nestopia" name="nestopia" title="Cheat Manager">
      <layer>above</layer>
    </application>
    <!---->
Еще возможные значения для слоя:

Код: Выделить всё

    <layer>normal</layer>
    # 'above', 'normal', or 'below'
в принципе, в default'ом файле rc.xml это прописано
• Web: Firefox • Jabber: Gajim • WM: Openbox
Изображение

Аватара пользователя
nk
Модератор
Сообщения: 413
Зарегистрирован: 14 сен 2014, 00:35
Темы: 78
Статус: Не в сети

Re: Openbox - rc.xml - applications

Сообщение nk » 10 ноя 2016, 17:19

?риложение == {Приложение,..}
Если сложилось так что надо ввести 2 правила для одного и того же окна, но преграда из-за того 2 раза надо вводить - это большая или маленькая буква, или одно пишется слитно, другое раздельно, или на конце просто добавилось "-versionXy" ,- я вас обрадую: не обязательно 2 раза прописывать, достаточно воспользоваться старой-доброй маской (как у файлов, к примеру).
? - один произвольный символ.
* - последовательность символов произвольной длины
Примеры и рабочие решения:

Код: Выделить всё

    <!-- PaleMoon -->
    <application class="Pale *" name="Navigator" role="browser" type="normal">
      <decor>no</decor>
      <maximized>true</maximized>
    </application>

Код: Выделить всё

    <!-- Chromium -->
    <application class="?hromium" name="chromium" role="browser" type="normal">
      <desktop>3</desktop>
      <decor>no</decor>
      <maximized>true</maximized>
    </application>
• Web: Firefox • Jabber: Gajim • WM: Openbox
Изображение

Аватара пользователя
nk
Модератор
Сообщения: 413
Зарегистрирован: 14 сен 2014, 00:35
Темы: 78
Статус: Не в сети

Re: Openbox - rc.xml - applications

Сообщение nk » 09 июл 2017, 04:15

пара замечаний про <fullscreen>yes</fullscreen>

Начнем с того что приложение "Распахнутое без декораций" != "Полноэкранно"
здесь я про <maximized>true</maximized> в сравнение с <fullscreen>yes</fullscreen>

т.е. как было, прописал для Opera

Код: Выделить всё

    <application class="Opera" name="Opera" type="normal">
      <fullscreen>yes</fullscreen>
    </application>
да, у меня окно opera стало во весь экран, но при этом я потерял возможность для него по настроенным хоткеям в Ob,
а именно:

Код: Выделить всё

    <keybind key="W-2">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <x>center</x>
        <y>center</y>
        <width>75%</width>
        <height>90%</height>
      </action>
    </keybind>
    <keybind key="W-4">
      <action name="ToggleMaximizeFull"/>
    </keybind>

      <mousebind action="Drag" button="A-Right">
        <action name="Resize"/>
      </mousebind>
      <mousebind action="Drag" button="A-Left">
        <action name="Move"/>
      </mousebind>
вот как-то так, так что будьте аккуратны
• Web: Firefox • Jabber: Gajim • WM: Openbox
Изображение

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей