LINUX.ORG.RU

Окна [OpenBox]

 ,


0

2

Привет форумчане , как бы в OpenBox сделать чтоб вот например как в i3 видел тот же браузер когда открыт , и юзер открывает новую вкладку то она открывается в таком положении как на скрине (см.скрин). И после ее закрытия браузер возвращается обратно на весь экран.

http://piccy.info/view3/10869301/241e83675e79b0b7254b6568877b12b5/



Последнее исправление: aliveDebian (всего исправлений: 2)

С описанием у тебя просто беда. Я правильно понимаю, что новым окном на половину экрана должна открываться пустая вкладка? Или при переходе по ссылке не из браузера? Под браузером на весь экран имеется ввиду состояние maximized, а не fullscreen? И чем не устраивает i3, раз уж ты его упомянул?

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

Да вы верно все поняли , у меня уже очень долгое время стоит OpenBox и полностью оптимизирован под меня , так что изо данной фичи ставить i3 вместо OpenBox вряд-ли буду , да и при том почему-то уверен на 90% что это и на коробке можно реализовать.

aliveDebian
() автор топика

Раньше был проект PyTile для внедрения тайлинга(там где его нет), поищи может еще жив и тебе подойдет.

Deleted
()
Последнее исправление: log4tmp (всего исправлений: 1)
Ответ на: комментарий от aliveDebian

может в расширениях браузера глянуть, если это средствами самого браузера реализуемо то наверняка есть и расширение

dima1981
()
Последнее исправление: dima1981 (всего исправлений: 1)
Ответ на: комментарий от aliveDebian

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

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

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

А автоматизировать ? Ну вот к примеру открываю я новое окно , чтоб оно само смещалось вправо на половину экрана , и то что уже было открыто сместилось тоже на половину экрана , но при закрытие окна которое я открывал , чтоб то что осталось развернулось на полный экран заново.

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

автоматизировать не знаю каким образом, да и надо ли. ты ведь наверное не постоянно так окна открываешь. А кгда потребовалось, просто открываешь в новом окне ссылку, нажимаешь хоткей и оно перемещается вправо например, переключаешься на браузер жмеш хоткей 0н влево, становясь при этом вполовину экрана. Когда закрываешь одно окно, в фокусе второе остается, жмешь хоткей оно на весь экран расползается. Других способов я и не знаю. а этот средствами самого ob делается, сам когда то так делал, когда сайты какие то дела, инфу копипастил и т.д. было вроде удобно.

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

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

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

Что-то изо этого не хочется менять OpenBox на i3 , ну глупо как-то.

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

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

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

Я вот нет — на половину экрана должна открываться пустая вкладка или ссылки не из браузера? Или оба?

Вот мои хоткеи на разворот на полэкрана:

<keybind key="W-Left">
  <action name="MaximizeVert"/>
  <action name="MoveResizeTo">
    <width>50%</width>
  </action>
  <action name="MoveToEdgeWest"/>
</keybind>
<keybind key="W-Right">
  <action name="MaximizeVert"/>
  <action name="MoveResizeTo">
    <width>50%</width>
  </action>
  <action name="MoveToEdgeEast"/>
</keybind>

Как вариант: крутить через настройки с помощью obxprop в разделе applications в rc.xml, что то вроде этого:

<application name="dolphin">
  <maximized>vertical</maximized>
  <position>
    <x>50%</x>
    <y>center</y>
  </position>
  <size>
    <width>50%</width>
  </size>
</application>

В <application name="dolphin"> нужно указать свои данные через obxprop.

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

Тут надо отметить, что нужно как-то отличать основное окно от вспомогательного, посмотри, какие строчки из выводов obxprop будут различаться из вот этих:

_OB_APP_NAME
_OB_APP_CLASS
_OB_APP_GROUP_NAME
_OB_APP_GROUP_CLASS
_OB_APP_ROLE
_OB_APP_TITLE
_OB_APP_TYPE

Склоняюсь к тому, что нужно будет крутить через name или title.

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

Довёл до ума:

<application title="New Tab - Google Chrome">
  <position>
    <x>50%</x>
    <y>center</y>
  </position>
  <maximized>vertical</maximized>
  <size>
    <width>50%</width>
  </size>
</application>

Стартовая страница при запуске не должна быть пустой.

Класть в ~/.config/openbox/rc.xml внутрь тега <applications>

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

Спасибо сейчас на работе , немного под разгребусь и попробую , отпишу результат.

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

У меня нет опенбокса сейчас под рукой проверить. Но там был виджет для тайлинга. Я выбирал окна и положение, сохранял в нём. Потом переключался по хоткею - либо браузер на весь экран, либо нужные мне окна сгруппированы как надо.

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

Работает только в том случае, если приложение не распахнуто на весь экран, придётся один раз руками растянуть основное окно.

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

Вон пример , как я добавил , и что выше.

<application class=«Gimp» name=«gimp-2.8» role=«gimp-toolbox» type=«utility»> <maximized>vertical</maximized> </application> <application class=«Gimp» name=«gimp-2.8» role=«gimp-dock» type=«utility»> <maximized>vertical</maximized> </application> <application class=«Gimp» name=«gimp-2.8» role=«gimp-image-window» type=«normal»> <position force=«no»> <x>center</x> <y>center</y> </position> </application> <application title=«google-chrome»> <position> <x>50%</x> <y>center</y> </position> <maximized>vertical</maximized> <size> <width>50%</width> </size> </application> -->

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

Код лучше оборачивать в окружение code (см. LORCODE при добавлении сообщения).

У тебя должно стоять <application title="New Tab - Google Chrome">

Karthago ★★
()
Ответ на: комментарий от aliveDebian
  • Перезагрузи конфиг. Можно через хоткей в самом openbox
    <keybind key="W-F12">
      <action name="Restart"/>
    </keybind>
    
  • Основное окно браузера должно быть не распахнуто. В противном случае дочернее новое окно тоже будет распахнуто.
  • Всё же жду конфиг + вывод obxprop на основное и вспомогательное окна (где только пустая вкладка) на pastebin или его аналогах.
Karthago ★★
()
Ответ на: комментарий от Karthago
<applications>
    <!--
  # this is an example with comments through out. use these to make your
  # own rules, but without the comments of course.
  # you may use one or more of the name/class/role/title/type rules to specify
  # windows to match

  <application name="the window's _OB_APP_NAME property (see obxprop)"
              class="the window's _OB_APP_CLASS property (see obxprop)"
               role="the window's _OB_APP_ROLE property (see obxprop)"
              title="the window's _OB_APP_TITLE property (see obxprop)"
               type="the window's _OB_APP_TYPE property (see obxprob)..
                      (if unspecified, then it is 'dialog' for child windows)">
  # you may set only one of name/class/role/title/type, or you may use more
  # than one together to restrict your matches.

  # the name, class, role, and title use simple wildcard matching such as those
  # used by a shell. you can use * to match any characters and ? to match
  # any single character.

  # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
  #    or desktop

  # when multiple rules match a window, they will all be applied, in the
  # order that they appear in this list


    # each rule element can be left out or set to 'default' to specify to not
    # change that attribute of the window

    <decor>yes</decor>
    # enable or disable window decorations

    <shade>no</shade>
    # make the window shaded when it appears, or not

    <position force="no">
      # the position is only used if both an x and y coordinate are provided
      # (and not set to 'default')
      # when force is "yes", then the window will be placed here even if it
      # says you want it placed elsewhere.  this is to override buggy
      # applications who refuse to behave
      <x>center</x>
      # a number like 50, or 'center' to center on screen. use a negative number
      # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
      # right edge (or bottom).
      <y>200</y>
      <monitor>1</monitor>
      # specifies the monitor in a xinerama setup.
      # 1 is the first head, or 'mouse' for wherever the mouse is
    </position>

    <focus>yes</focus>
    # if the window should try be given focus when it appears. if this is set
    # to yes it doesn't guarantee the window will be given focus. some
    # restrictions may apply, but Openbox will try to

    <desktop>1</desktop>
    # 1 is the first desktop, 'all' for all desktops

    <layer>normal</layer>
    # 'above', 'normal', or 'below'

    <iconic>no</iconic>
    # make the window iconified when it appears, or not

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

    <skip_taskbar>no</skip_taskbar>
    # asks to not be shown in taskbars. window cycling actions will also
    # skip past such windows

    <fullscreen>yes</fullscreen>
    # make the window in fullscreen mode when it appears

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

  # end of the example
-->
    <!--
    <application class="Gimp" name="gimp" role="gimp-toolbox" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-dock" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-image-window" type="normal">
      <position force="no">
        <x>center</x>
        <y>center</y>
      </position>
    </application>

    <application class="Gimp" name="gimp-2.8" role="gimp-toolbox" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-dock" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-image-window" type="normal">
      <position force="no">
        <x>center</x>
        <y>center</y>
      </position>
    </application>
    
    <application title="New Tab - Google Chrome">
  <position>
    <x>50%</x>
    <y>center</y>
  </position>
  <maximized>vertical</maximized>
  <size>
    <width>50%</width>
  </size>
</application>
-->
  </applications>
</openbox_config>
aliveDebian
() автор топика
Ответ на: комментарий от Karthago

Блин точно , простите , что-то голова не варит ))) сейчас попробую

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

если основное окно рядом надо то, переключаешься на него, жмешь другой хоткей и оно занимает позицию на другой половине стола

Можно одним хоткеем делать сплит через неинтерактивный NextWindow. Но это все равно не то, что хочет ТС. Он хочет динамический тайлинг, в опенбоксе это не накостылишь без внешних примочек.

bread
()

Короче, ставишь pytyle и включаешь его ровно для одного стола с браузером. Вот единственное решение.

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

Расскаментил , ну не работает хоть убейте.

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

  # end of the example
-->
    
    <application class="Gimp" name="gimp" role="gimp-toolbox" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-dock" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-image-window" type="normal">
      <position force="no">
        <x>center</x>
        <y>center</y>
      </position>
    </application>

    <application class="Gimp" name="gimp-2.8" role="gimp-toolbox" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-dock" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-image-window" type="normal">
      <position force="no">
        <x>center</x>
        <y>center</y>
      </position>
    </application>
    
  <application title="New Tab - Google Chrome">
  <position>
    <x>50%</x>
    <y>center</y>
  </position>
  <maximized>vertical</maximized>
  <size>
    <width>50%</width>
  </size>
</application>
-->
  </applications>
</openbox_config>
aliveDebian
() автор топика
Ответ на: комментарий от Karthago

Так ? Вот кстати такое нашел еще , что думаете ?

openbox с включенным tiling

  # end of the example
-->
    
    <application class="Gimp" name="gimp" role="gimp-toolbox" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-dock" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-image-window" type="normal">
      <position force="no">
        <x>center</x>
        <y>center</y>
      </position>
    </application>

    <application class="Gimp" name="gimp-2.8" role="gimp-toolbox" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-dock" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-image-window" type="normal">
      <position force="no">
        <x>center</x>
        <y>center</y>
      </position>
    </application>
    
  <application title="New Tab - Google Chrome">
  <position>
    <x>50%</x>
    <y>center</y>
  </position>
  <maximized>vertical</maximized>
  <size>
    <width>50%</width>
  </size>
</application>

  </applications>
</openbox_config>
aliveDebian
() автор топика
Ответ на: комментарий от aliveDebian

Секция applications должна быть такой:

http://pastebin.com/KqTbRXDf

Если ты всерьёз заинтересован в возможностях тайлинга, то openbox не годится для чего-то сложного или динамического.

Karthago ★★
()
Последнее исправление: Karthago (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.