Openbox, simple tiling and other tweaks

If you enjoy Openbox but are looking to implement a few ‘non-standard’ functions, here are some I find useful. The work below has been tested and runs successfully on PeppermintOS (version 11- systemd) as well as MX Linux 21 (non-systemd). I believe the rc.xml scripts will function ‘pretty much’ anywhere you might install OpenBox.

Simple Tiling Functions

Send Active Window to a designated Workspace (Keybind)

I find it easier to use my keyboard to move an active window to new workspace (rather than using my mouse).  I have created/modified the following function within my rc.xml file to perform the task, as I prefer:

 <!-- OpenBox Simple SendToDesktop (Workspace)-->
   <keybind key="W-S-1">
  <action name="SendToDesktop"><to>1</to></action>
    </keybind>
    <keybind key="W-S-2">
  <action name="SendToDesktop"><to>2</to></action>
    </keybind>
    <keybind key="W-S-3">
  <action name="SendToDesktop"><to>3</to></action>
    </keybind>
    <keybind key="W-S-4">
  <action name="SendToDesktop"><to>4</to></action>
    </keybind>
   <keybind key="W-S-5">
  <action name="SendToDesktop"><to>5</to></action>
    </keybind>
    <keybind key="W-S-6">
  <action name="SendToDesktop"><to>6</to></action>
    </keybind>
    <keybind key="W-S-7">
  <action name="SendToDesktop"><to>7</to></action>
    </keybind>
    <keybind key="W-S-8">
  <action name="SendToDesktop"><to>8</to></action>
    </keybind>
    <keybind key="W-S-9">
  <action name="SendToDesktop"><to>9</to></action>
    </keybind>

Resize a Window to 100%

    <!-- OpenBox 100% Window Resize --> 
 <keybind key="W-Escape">
  <action name="Unmaximize" />
  <action name="MoveResizeTo">
    <x>0</x>
    <y>0</y>
    <width>100%</width>
    <height>100%</height>
  </action>
</keybind>

Jump to desired Workspace (Keybind)

I tweaked (simplified?) the standard rc.xml code to my preference (non-function key use). Note: I use 9 Workspaces.

  <!-- OpenBox Simple SendToDesktop (Workspace)-->
 <keybind key="W-S-1">
<action name="SendToDesktop"><to>1</to></action>
  </keybind>
  <keybind key="W-S-2">
<action name="SendToDesktop"><to>2</to></action>
  </keybind>
  <keybind key="W-S-3">
<action name="SendToDesktop"><to>3</to></action>
  </keybind>
  <keybind key="W-S-4">
<action name="SendToDesktop"><to>4</to></action>
  </keybind>
 <keybind key="W-S-5">
<action name="SendToDesktop"><to>5</to></action>
  </keybind>
  <keybind key="W-S-6">
<action name="SendToDesktop"><to>6</to></action>
  </keybind>
  <keybind key="W-S-7">
<action name="SendToDesktop"><to>7</to></action>
  </keybind>
  <keybind key="W-S-8">
<action name="SendToDesktop"><to>8</to></action>
  </keybind>
  <keybind key="W-S-9">
<action name="SendToDesktop"><to>9</to></action>
  </keybind>

Tile Window (Keybinds):

  • Top/Bottom Half (Keybind): split a Window to 50% screen size a place on either top or bottom half.
 <!-- OpenBox Split Window (Top-Bottom Half)-->     
<keybind key="S-A-Up">
  <action name="SendToDesktop">
    <to>up</to>
    <wrap>no</wrap>
  </action>
</keybind>
<keybind key="S-A-Down">
  <action name="SendToDesktop">
    <to>down</to>
    <wrap>no</wrap>
  </action>
</keybind>
  • Left/Right Side (Keybind): split a Window to 50% screen size a place on either left or right half.
 <!-- OpenBox Split Window (L-R Half)-->   
<keybind key="S-A-Left">
  <action name="SendToDesktop">
    <to>left</to>
    <wrap>no</wrap>
  </action>
</keybind>
<keybind key="S-A-Right">
  <action name="SendToDesktop">
    <to>right</to>
    <wrap>no</wrap>
  </action>
</keybind>
Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!