4

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"
2
  • What doesn't work exactly? The positioning or the resizing or both? Oct 3, 2015 at 18:19
  • Could you please add the output of running obxprop | grep "^_OB_APP" and then clicking on an open emacs window, to your original question? Oct 5, 2015 at 18:58

1 Answer 1

2

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>
6
  • No, the position and size don't work unless I set application name="*". I have tried lxterminal too. Maybe this is a bug. I am using openbox 3.5.2.
    – godblessfq
    Oct 4, 2015 at 20:00
  • No, it doesn't work for me. If it works for you, I will accept this as an answer. Thank you!
    – godblessfq
    Oct 6, 2015 at 23:56
  • @godblessfq Could you please add the output of running obxprop | grep "^_OB_APP" and then clicking on an open emacs window, to your original question? Oct 7, 2015 at 6:45
  • I have read the tutorial, maybe the encoding of the window name string is causing the problem.
    – godblessfq
    Oct 8, 2015 at 11:28
  • @godblessfq I don't think that this is an encoding problem. But if name="*" is working then maybe name="emacs*" class="Emacs*" could work. I edited the answer. The behaviour you describe is very unusual. (btw I'm also using 3.5.2) Oct 8, 2015 at 11:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.