Перейти к содержанию

OpenBox rc.xml

Материал из Викиучебника — открытых книг для открытого мира

Очень, очень корявый перевод комментариев стандартного rc.xml файла OpenBox.

<?xml version="1.0" encoding="UTF-8"?>
<!-- Не изменяйте этот файл, он будет перезаписан во время установки.
	Скопируйте файл в $HOME/.config/openbox/. -->
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">

<resistance> 
  <strength>10</strength>
  <screen_edge_strength>20</screen_edge_strength>
</resistance>

<!-- насколько я могу судить, это значение сопротивления - ->

<focus>
  <focusNew>yes</focusNew>
  <!--  //фокус на новом// всегда стараться сфокусироваться на новых окнах, при их появлении.
Другие правила не применять [игнорировать всё остальные] -->
  <followMouse>no</followMouse>
  <!-- //следовать за мышью// перемещать фокус на окна, вслед за перемещением мыши
[фокус будет находится на том окне, на которое указывает курсор мыши] -->
  <focusLast>yes</focusLast>
  <!-- //фокус на последнем// фокусироваться на последнем используемом окне при смене рабочих
столов, вместо того, что находится под мышью. Этот параметр работает,
при включённом параметре <followMouse> 
[при переходе с одного рабочего стола на другой, фокусировка будет не
на окне под указателем, а на последнем используемом, на этом рабочем
столе, окне.] -->
  <underMouse>no</underMouse>
  <!--  //под мышью// переместить фокус под мышь, даже если мышь не двигается -->
  <focusDelay>200</focusDelay>
  <!-- //задержка фокусировки// при включенном параметре followMouse мышь должна быть внутри
окна в течении стольких мили секунд(1000 = 1 sec), прежде чем фокус будет
передан на это окно  -->
  <raiseOnFocus>no</raiseOnFocus>
  <!--  //фокусировка на поднятом окне// при включённом параметре followMouse, и фокус передаётся
окну — перемещением мыши в него, а также поднятием (повышением, raise) окна -->
</focus>

<placement>
  <policy>Smart</policy>
  <!-- 'Smart' or 'UnderMouse' 
       //политика// 'Тут ясно, либо «интерактивная», либо «ПодМышью»'-->
  <center>yes</center>
  <!-- //центрирование// поместить в окно в центр свободного (найденного) пространства, либо
в левом верхнем углу -->
  <monitor>Active</monitor>
  <!-- //монитор// При «интерактивной» политике, с несколькими мониторами, стараться размещать новые окна на:
'Any' — любом мониторе, 'Mouse' — на том, где находиться мышь, 'Active' — на том, где активное окно -->
  <primaryMonitor>1</primaryMonitor>
  <!-- //основной монитор// Монитор, на котором Openbox должен размещать всплывающие диалоги,
 такие как focus cycling popup, или сообщение о переключении рабочих столов Это может быть индекс (число),
 с указанием конкретного монитора. Или одно из следующих значений:
 'Mouse' — там, где находится мышь, или 'Active' — там, где находиться активное окно -->
</placement>

<theme>
  <name>Clearlooks</name>
  <titleLayout>NLIMC</titleLayout>
  <!--
      символы NDSLIMC, могут встречаться сколько угодно раз и в любой последовательности.
      N: иконка окна
      L: название окна (AKA title).
      I: свернуть
      M: максимализировать
      C: закрыть
      S: скрыть (свернуть/развернуть, roll up/down)
      D: вездесущ (на всех рабочих столах).
  -->
  <keepBorder>yes</keepBorder>
  <animateIconify>yes</animateIconify>
  <font place="ActiveWindow">
<!-- параметры шрифтов для активного окна -->
    <name>sans</name>
    <size>8</size>
    <!-- размер шрифта в пунктах  -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' /\ «жирный» или «нормальный» -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' /\ «курсив» или «нормальный» -->
  </font>
  <font place="InactiveWindow">
<!-- параметры шрифтов для не активного окна -->
    <name>sans</name>
    <size>8</size>
    <!-- размер шрифта в пунктах -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' /\ «жирный» или «нормальный» -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' /\ «курсив» или «нормальный» -->
  </font>
  <font place="MenuHeader">
<!-- параметры шрифтов для заголовков меню -->
    <name>sans</name>
    <size>9</size>
    <!-- размер шрифтов в пунктах -->
    <weight>normal</weight>
    <!-- 'bold' or 'normal' /\ «жирный» или «нормальный» -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' /\ «курсив» или «нормальный» -->
  </font>
  <font place="MenuItem">
<!-- параметры шрифтов для содержимого меню -->
    <name>sans</name>
    <size>9</size>
    <!-- размер шрифтов в пунктах -->
    <weight>normal</weight>
    <!-- 'bold' or 'normal' /\ «жирный» или «нормальный» -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' /\ «курсив» или «нормальный» -->
  </font>
  <font place="OnScreenDisplay">
<!-- параметры шрифтов для содержимого меню -->
    <name>sans</name>
    <size>9</size>
    <!-- размер шрифтов в пунктах -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' /\ «жирный» или «нормальный» -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' /\ «курсив» или «нормальный» -->
  </font>
</theme>





<desktops>
  <!-- этот параметр используется при запуске, и позволяется менять их во время сессии

это значения, по умолчанию, не изменённые каким-либо приложением, либо сохранённой сессией.
Используйте obconf, если Вы хотите изменить эти значения, без выхода (или без сохранности)  -->
  <number>4</number>
  <firstdesk>1</firstdesk>
  <names>
    <!-- если хотите укажите здесь имена для рабочих столов, например:
    <name>desktop 1</name>
    <name>desktop 2</name>
    -->
  </names>
  <popupTime>875</popupTime>
  <!-- Время задержки всплывающего окна, при переключении рабочих столов, в миллисекундах.
Установите значение 0, для отключения окна -->
</desktops>

<resize>
  <drawContents>yes</drawContents>
  <popupShow>Nonpixel</popupShow>
  <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) →
 <!-- Ясно дело — каогда показывать всплывающие окна: всегда, никогда или 'Nonpixel' (xterms и тому подобное) -->
  <popupPosition>Center</popupPosition>
  <!-- 'Center', 'Top', or 'Fixed' →
<!-- Ясно дело — в какой области рабочего стола выводить всплывающие окна: центрирование, поверх или неподвижно -->
  <popupFixedPosition>
    <!-- these are used if popupPosition is set to 'Fixed' -->
<!-- эти параметры используются, лишь если popupPosition установлено в 'Fixed' -->
    <x>10</x>
    <!-- positive number for distance from left edge, negative number for
         distance from right edge, or 'Center' →
<!-- положительное число означает расстояние от левого края, отрицательное число означает расстояние от правого края, либо значение 'Center' -->
    <y>10</y>
    <!-- позитивное число означает расстояние от верхнего края, отрицательное число означает расстояние от нижнего края, либо значение 'Center' -->
  </popupFixedPosition>
</resize>

<!-- Вы можете зарезервировать часть Вашего монитора (для всех рабочих столов),
 которую не пудут покрывать окна в режиме «максимилизировать», или при запуске
 [т. е. вновь открытое окно не будет перекрывать эту область].
     Множество программ автоматически определяют пространство, но Вы можете использовать и этот способ. -->
<margins>
  <top>0</top> <!-- сверху -->
  <bottom>0</bottom> <!-- снизу -->
  <left>0</left> <!-- слева -->
  <right>0</right> <!-- справо -->
</margins>

<dock>
  <position>TopLeft</position>
  <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating →
<!-- (Сверху|Снизу)(Слева|Справа|)|Сверху|Снизу|Слева|Справа|Плавучий -->
  <floatingX>0</floatingX>
  <floatingY>0</floatingY>
  <noStrut>no</noStrut>
  <stacking>Above</stacking>
  <!-- 'Above', 'Normal', or 'Below' →
<!-- «Спереди», «Нормально» или «Сзади» →
  <direction>Vertical</direction>
  <!-- 'Vertical' or 'Horizontal' -->
<!-- 'Вертикально' or 'Горизонтально' -->  
<autoHide>no</autoHide>
  <hideDelay>300</hideDelay>
  <!-- в миллисекундах (1000 = 1 second) -->
  <showDelay>300</showDelay>
  <!-- в миллисекундах (1000 = 1 second) -->
  <moveButton>Middle</moveButton>
  <!-- 'Left', 'Middle', 'Right' -->
<!-- 'Слева', 'Посередине', 'Справо' -->
</dock>


<keyboard>
  <chainQuitKey>C-g</chainQuitKey>

  <!-- Keybindings for desktop switching →
<! - Сочетания клавиш для переключения рабочем столе -> 
  <keybind key="C-A-Left">
    <action name="DesktopLeft"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>
  <keybind key="C-A-Right">
    <action name="DesktopRight"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>
  <keybind key="C-A-Up">
    <action name="DesktopUp"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>
  <keybind key="C-A-Down">
    <action name="DesktopDown"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>
  <keybind key="S-A-Left">
    <action name="SendToDesktopLeft"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>
  <keybind key="S-A-Right">
    <action name="SendToDesktopRight"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>
  <keybind key="S-A-Up">
    <action name="SendToDesktopUp"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>
  <keybind key="S-A-Down">
    <action name="SendToDesktopDown"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>
  <keybind key="W-F1">
    <action name="Desktop"><desktop>1</desktop></action>
  </keybind>
  <keybind key="W-F2">
    <action name="Desktop"><desktop>2</desktop></action>
  </keybind>
  <keybind key="W-F3">
    <action name="Desktop"><desktop>3</desktop></action>
  </keybind>
  <keybind key="W-F4">
    <action name="Desktop"><desktop>4</desktop></action>
  </keybind>
  <keybind key="W-d">
    <action name="ToggleShowDesktop"/>
  </keybind>

  <!-- Keybindings for window switching -->
<! - Сочетания клавиш для переключения окон -> 
 <keybind key="A-Tab">
    <action name="NextWindow"/>
  </keybind>
  <keybind key="A-S-Tab">
    <action name="PreviousWindow"/>
  </keybind>
  <keybind key="C-A-Tab">
    <action name="NextWindow">
      <panels>yes</panels><desktop>yes</desktop>
    </action>
  </keybind>

  <!-- Keybindings for running applications -->
 <! - Сочетания клавиш для запуска приложений ->  
<keybind key="W-e">
    <action name="Execute">
      <startupnotify>
        <enabled>true</enabled>
        <name>Konqueror</name>
      </startupnotify>
      <command>kfmclient openProfile filemanagement</command>
    </action>
  </keybind>
</keyboard>

<mouse>
  <dragThreshold>8</dragThreshold>
  <!-- число пикселей, которое должна «пройти» мышь, прежде чем начнётся перемещение (окна)  -->
  <doubleClickTime>200</doubleClickTime>
  <!-- в миллисекундах (1000 = 1 second) -->
  <screenEdgeWarpTime>400</screenEdgeWarpTime>
  <!-- Время паузы до смены рабочего стола, когда указатель касается края экрана, при перемещении окна,
 в миллисекундах (1000 = 1 second). Установите значение на 0 отключения warping
[т. е. окна не льзя будет перетаскивать по рабочим столам] -->

  <context name="Frame">
    <mousebind button="A-Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="A-Left" action="Click">
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="A-Left" action="Drag">
      <action name="Move"/>
    </mousebind>


    <mousebind button="A-Right" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="A-Right" action="Drag">
      <action name="Resize"/>
    </mousebind> 



    <mousebind button="A-Middle" action="Press">
      <action name="Lower"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
    </mousebind>

    <mousebind button="A-Up" action="Click">
      <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
      <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="C-A-Up" action="Click">
      <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="C-A-Down" action="Click">
      <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="A-S-Up" action="Click">
      <action name="SendToDesktopPrevious"/>
    </mousebind>
    <mousebind button="A-S-Down" action="Click">
      <action name="SendToDesktopNext"/>
    </mousebind>
  </context>


  <context name="Titlebar">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
      <action name="Move"/>
    </mousebind>
    <mousebind button="Left" action="DoubleClick">
      <action name="ToggleMaximizeFull"/>
    </mousebind>

    <mousebind button="Middle" action="Press">
      <action name="Lower"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
    </mousebind>

    <mousebind button="Up" action="Click">
      <action name="Shade"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
      <action name="Lower"/>
    </mousebind>
    <mousebind button="Down" action="Click">
      <action name="Unshade"/>
      <action name="Raise"/>
    </mousebind>

    <mousebind button="Right" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="ShowMenu"><menu>client-menu</menu></action>
    </mousebind>
  </context>


  <context name="BLCorner">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
      <action name="Resize"/>
    </mousebind>
  </context>

  <context name="BRCorner">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
      <action name="Resize"/>
    </mousebind>
  </context>

  <context name="TLCorner">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
      <action name="Resize"/>
    </mousebind>
  </context>

  <context name="TRCorner">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
      <action name="Resize"/>
    </mousebind>
  </context>

  <context name="Client">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="Middle" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="Right" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
  </context>

  <context name="Icon">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
      <action name="ShowMenu"><menu>client-menu</menu></action>
    </mousebind>
    <mousebind button="Right" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="ShowMenu"><menu>client-menu</menu></action>
    </mousebind>
  </context>

  <context name="AllDesktops">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
      <action name="ToggleOmnipresent"/>
    </mousebind>
  </context>

  <context name="Shade">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Click">
      <action name="ToggleShade"/>
    </mousebind>
  </context>

  <context name="Iconify">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Click">
      <action name="Iconify"/>
    </mousebind>
  </context>

  <context name="Maximize">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="Middle" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="Right" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
      <action name="ToggleMaximizeFull"/>
    </mousebind>
    <mousebind button="Middle" action="Click">
      <action name="ToggleMaximizeVert"/>
    </mousebind>
    <mousebind button="Right" action="Click">
      <action name="ToggleMaximizeHorz"/>
    </mousebind>
  </context>

  <context name="Close">
    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
      <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
      <action name="Close"/>
    </mousebind>
  </context>

  <context name="Desktop">
    <mousebind button="Up" action="Click">
      <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="Down" action="Click">
      <action name="DesktopNext"/>
    </mousebind>

    <mousebind button="A-Up" action="Click">
      <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
      <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="C-A-Up" action="Click">
      <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="C-A-Down" action="Click">
      <action name="DesktopNext"/>
    </mousebind>

    <mousebind button="Left" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
    <mousebind button="Right" action="Press">
      <action name="Focus"/>
      <action name="Raise"/>
    </mousebind>
  </context>

  <context name="Root">
    <!-- Menus -->
    <mousebind button="Middle" action="Press">
      <action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
    </mousebind> 
    <mousebind button="Right" action="Press">
      <action name="ShowMenu"><menu>root-menu</menu></action>
    </mousebind>
  </context>

  <context name="MoveResize">
    <mousebind button="Up" action="Click">
      <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="Down" action="Click">
      <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="A-Up" action="Click">
      <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
      <action name="DesktopNext"/>
    </mousebind>
  </context>
</mouse>





<menu>
  <!-- Вы можете здесь указать более одного файла меню, и все они будут загружены,
только не создавайте меню ids clash or, well, это будет бессмысленно (будет некорректно отображаться) -->
  <!-- по умолчанию, меню файлы (или любые другие пользовательские файлы OpenBox хранятся в $HOME/.config/openbox/) -->
  <file>menu.xml</file>
  <hideDelay>200</hideDelay>
  <!-- если press-release длится дольше этих настроек (в миллисекундах), меню вновь скроется -->
  <middle>no</middle>
  <!-- централизовать подменю вертикально, относительно родительского меню
center submenus vertically about the parent entry -->
  <submenuShowDelay>100</submenuShowDelay>
  <!-- это просто, время задержки перед показом подменю, после выбора его из родительского меню -->
  <applicationIcons>yes</applicationIcons>
  <!-- controls, если иконки появятся в client-list-combined-menu -->
  <manageDesktops>yes</manageDesktops>
  <!-- показывать раздел управления рабочими столами в client-list-combined-menu -->
</menu>





<applications>
<!--
  #  это пример с комментариями, Вы можете использовать его как
  #  собственное правило, но разумеется без комментариев.

  <application name="the window's _OB_NAME property (see obprop)"
              class="the window's _OB_CLASS property (see obprop)"
               role="the window's _OB_ROLE property (see obprop)"
               type="the window's _NET_WM_WINDOW_TYPE (see obprob)..
                      (if unspecified, then it is 'dialog' for child windows)">
  # можно указать имя или класс, либо и то и другое. Это используется для установки
  #  свойств окнам, при их появлении. Role устанавливается по желанию, для соотношения с
  # определёнными параметрами.

  # name, class, и role, используются для простой подстановки соответствующих значений, также,
  # как например, в командной строке,  используют символ «*»,  для подстановки любых символов и   
  # символ «?», для подстановки любого единственного символа.

  # type соответствует одному из: normal, dialog, splash, utility, menu, toolbar, dock,
  #    or desktop # тут ясно, нормальный, диалог, заставка, утилита, меню, панель инструментов.

  # если несколько правил соответствуют окну, они будут показаны в списке свойств,
  #  they will all be applied, in the order that they appear in this list

    #  каждый элемент можно «опустить» или присвоить значение  'default' 
    #  для запрета на изменение этого элемента в окне

    <decor>yes</decor>
    #  включить или отключить декорации окна

    <shade>no</shade>
    #  сделать окно затенённым (скрутить), при его появлении.

    <position force="no">
      # position (позиция) используется лишь когда обе координаты x и y указаны
      # (при этом не  'default')
      # когда указано "yes", то окно будет помещено здесь (в этих координатах), даже если
      # Вы захотите поместить его в другое место.  Он переопределит buggy
      # тех приложений, что откажутся так себя «ввести».
      <x>center</x>
      # например число 50, или 'center' для центрирования на экране. Используйте отрицательные
      # числа для отсчёта с правой стороны (для отсчёта снизу <y>), т.е. -50 это 50 pixels с правой 
      # стороны (или снизу).
      <y>200</y>
      <monitor>1</monitor>
      # выбрать монитор в xinerama setup.
      # 1 начальный (основной), или 'mouse' — там где мышь
    </position>

    <focus>yes</focus>
    # должна ли производится фокусировка на новом (появившимся) окне. Если указано
    # да, то это не означает что окну передаться фокус
    # могут быть ограничения, но Openbox постарается

    <desktop>1</desktop>
    # 1 это первый рабочий стол, 'all' все рабочие столы

    <layer>normal</layer>
    # 'above', 'normal', or 'below' # поверх, нормально, снизу

    <iconic>no</iconic>
    # сворачивать окна при их появлении, или нет

    <skip_pager>no</skip_pager>
    # asks to not be shown in pagers

    <skip_taskbar>no</skip_taskbar>
    # asks не будет показан в taskbars. window cycling actions также
    # пропустит прошлые такие окна

    <fullscreen>yes</fullscreen>
    # запустить окно в полно экранном режиме, при его появлении

    <maximized>true</maximized>
    # 'Horizontal', 'Vertical' or boolean (yes/no)
  </application>

  # конец примера
-->
</applications>

</openbox_config>


http://ru.wikibooks.org/wiki/OpenBox_Bindings
http://ru.wikibooks.org/wiki/OpenBox_Action