Linux – How to make openbox display window in certain area only

linuxopenboxwindow-managerx11xorg

I have a display with a native resolution of 1024X600. I set it to 1024X724, because some window can't be display in the native resolution. I have to use the mouse to do the panning. But for the majority of windows, the native resolution is enough.

1 Is there a way to set all windows be displayed in the upper 1024X600 region of the display?

2 For some applications, I want to specify the exact position and size.
I tried this for emacs, both position and size don't work. Any ideas?

<application name="emacs24" class="Emacs" type="normal">
<position force="yes">
    <x>0</x>
    <y>0</y>
</position>
    <height>600</height>
    <width>1024</width>
<decor>no</decor>
<maximized>no</maximized>
</application>

The output of obxprop is:

_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_CLASS(UTF8_STRING) = "Emacs"
_OB_APP_NAME(UTF8_STRING) = "emacs24"

Best Answer

Try

<application name="emacs*" class="Emacs*" type="normal">
    <position force="yes">
        <x>0</x>
        <y>0</y>
    </position>
    <size>
        <height>600</height>
        <width>1024</width>
    </size>
    <decor>no</decor>
    <maximized>no</maximized>
</application>

The <height> and <width> need to be in the <size> tag.

From the example configuration of Openbox

<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). use 'default' to specify using value
  # provided by the application, or chosen by openbox, instead.
  <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>

<size>
  # the size to make the window.
  <width>20</width>
  # a number like 20, or 'default' to use the size given by the application.
  # you can use fractions such as 1/2 or percentages such as 75% in which
  # case the value is relative to the size of the monitor that the window
  # appears on.
  <height>30%</height>
</size>
Related Question