SEARCH

Enter your search query in the box above ^, or use the forum search tool.

You are not logged in.

#1 2012-07-30 14:13:05

brontosaurusrex
#! Die Hard
Registered: 2012-06-15
Posts: 560

openbox manual tiling

What is:
Keyboard driven positioning of window(s) (without any additional installs)

Inspired by:
http://urukrama.wordpress.com/2011/10/3 … n-openbox/
(basically i converted this into percents)

snaps:
manualtiling.jpg
manualtiling2.jpg
manualtiling3.jpg

add to rc.xml into keybind section:

    <!-- brontosaurusrex start -->
    <keybind key="W-a">
      <!-- Begin the keychains to manage windows -->
      <!-- aeiah's semi-tiling mode -->
      <!-- changes by brontosaurusrex, inspired by 
      http://urukrama.wordpress.com/2011/10/30/manual-tiling-in-openbox/ -->
      
      <!-- super + a & numeric keyboard -->
      <!-- left side -->
      <keybind key="KP_1">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>50%</width>
          <height>90%</height>
        </action>
      </keybind>
      <!-- right side -->
      <keybind key="KP_2">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>50%</x>
          <y>0</y>
          <width>50%</width>
          <height>90%</height>
        </action>
      </keybind>
      <!-- top left -->
      <keybind key="KP_3">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>50%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- top right -->
      <keybind key="KP_4">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>50%</x>
          <y>0</y>
          <width>50%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- bottom left -->
      <keybind key="KP_5">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>45%</y>
          <width>50%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- bottom right -->
      <keybind key="KP_6">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>50%</x>
          <y>45%</y>
          <width>50%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- full width -->
      <keybind key="KP_7">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>100%</width>
          <height>90%</height>
        </action>
      </keybind>
      <!-- golden big left -->
      <keybind key="KP_8">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>62%</width>
          <height>90%</height>
        </action>
      </keybind>
      <!-- golden small right -->
      <keybind key="KP_9">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>62%</x>
          <y>0</y>
          <width>38%</width>
          <height>90%</height>
        </action>
      </keybind>
      <!-- golden small left -->
      <keybind key="KP_0">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>38%</width>
          <height>90%</height>
        </action>
      </keybind>
      <!-- golden big right -->
      <keybind key="KP_Separator">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>38%</x>
          <y>0</y>
          <width>62%</width>
          <height>90%</height>
        </action>
      </keybind>
      <!-- golden center -->
      <keybind key="KP_Enter">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>19%</x>
          <y>0</y>
          <width>62%</width>
          <height>90%</height>
        </action>
      </keybind>
   <!-- 
   unused numeric:
   KP_Subtract
   KP_Add
   KP_Divide 
   -->
      <!-- super + a & normal numerals -->
      <!-- golden big top left -->
      <keybind key="1">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>62%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- golden big bottom left -->
      <keybind key="3">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>45%</y>
          <width>62%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- golden small top right -->
      <keybind key="2">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>62%</x>
          <y>0</y>
          <width>38%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- golden small bottom right -->
      <keybind key="4">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>62%</x>
          <y>45%</y>
          <width>38%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- golden small top left -->
      <keybind key="5">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>38%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- golden big top right -->
      <keybind key="6">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>38%</x>
          <y>0</y>
          <width>62%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- golden small bottom left -->
      <keybind key="7">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>45%</y>
          <width>38%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- golden big bottom right -->
      <keybind key="8">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>38%</x>
          <y>45%</y>
          <width>62%</width>
          <height>45%</height>
        </action>
      </keybind>
      <!-- golden big top -->
      <keybind key="9">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>100%</width>
          <height>62%</height>
        </action>
      </keybind>
      <!-- golden small bottom -->
      <keybind key="0">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>62%</y>
          <width>100%</width>
          <height>38%</height>
        </action>
      </keybind>
      <!-- golden small top -->
      <keybind key="apostrophe">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>0</y>
          <width>100%</width>
          <height>38%</height>
        </action>
      </keybind>
      <!-- golden big bottom -->
      <keybind key="plus">
        <action name="UnmaximizeFull"/>
        <action name="MoveResizeTo">
          <x>0</x>
          <y>38%</y>
          <width>100%</width>
          <height>62%</height>
        </action>
      </keybind>
      <!-- other keychains to manage windows -->
    </keybind>
    <!-- brontosaurusrex end -->

the keys are a combination of alt+a & numeral (either from numeric part of your keyboard or normal numerics, but you can change all that...)

note: Similar would be also interesting as mice actions added to openbox titlebar menu, but i have no idea on how to change that menu (without touching C).

optional, add this to .conkyrc:

T I L I N G
${hr}
super + a 
& numeric$alignr & normal
------------$alignr ------------
1 left$alignr g. big top left 1
2 right$alignr g. small top right 2
3 top left$alignr g. big bottom left 3
4 top right$alignr g. small bottom right 4
5 bottom left$alignr g. small top left 5
6 bottom right$alignr g. big top right 6
7 full width$alignr g. small bottom left 7
8 g. big left$alignr g. big bottom right 8
9 g. small right$alignr g. big top full width 9
0 g. small left$alignr g. small bottom full width 0
, g. big right$alignr g. small top full width ,
enter center
*$alignr g. big bottom full width *

p.s. for waldorf running in virtualbox on OS X: super key = right cmd

Last edited by brontosaurusrex (2012-08-05 13:16:55)

Offline

Be excellent to each other!

#2 2012-07-30 14:32:37

pvsage
Internal Affairs
From: North Carolina
Registered: 2009-10-18
Posts: 9,251

Re: openbox manual tiling

No offense intended to aeiah and urukrama, but we started doing something similar to this as much as a year before them. wink  I love what you've done with it though!


while ( ! ( succeed = try() ) );
We've earned a reputation as a nice, friendly community; please help us keep it that way.

Offline

#3 2012-07-30 14:45:01

Digit
#! Die Hard
From: the internet
Registered: 2009-05-26
Posts: 979
Website

Re: openbox manual tiling

this is awesome!  (this thread, and those linked to)

i wonder, does openbox have snap to nearest edge stuff?   i think i recall seeing some configs of fluxbox that have snap to nearest edge stuff, but, correct me if i'm wrong, openbox only has stuff* to snap to the edges of the screen... no?

it would make a great addition to this.  i think it'd give it a little more flexibility in it's expedient window management.

*lingo fail.   "variables"? "flags"? "tags"? er...

Last edited by Digit (2012-07-30 14:45:48)


think

Offline

#4 2012-07-30 14:51:41

brontosaurusrex
#! Die Hard
Registered: 2012-06-15
Posts: 560

Re: openbox manual tiling

@Digit; it snaps here, but its not really that precise in y direction.

Offline

#5 2012-07-30 15:31:55

pvsage
Internal Affairs
From: North Carolina
Registered: 2009-10-18
Posts: 9,251

Re: openbox manual tiling

@Digit, it doesn't snap, but it does have edge resistance.  Same church, different pew.


while ( ! ( succeed = try() ) );
We've earned a reputation as a nice, friendly community; please help us keep it that way.

Offline

Board footer

Powered by FluxBB

Copyright © 2012 CrunchBang Linux.
Proudly powered by Debian. Hosted by Linode.
Debian is a registered trademark of Software in the Public Interest, Inc.

Debian Logo