是否可以配置 openbox 在某些区域打开特定应用程序的新窗口?例如,应用程序 A 应在屏幕的左上象限打开,应用程序 B 在左下象限打开,应用程序 C 在屏幕的右半部分打开。或者至少设置应该打开窗户的坐标。
我想有些东西要写进去,rc.xml
但我不知道写什么。
如果有帮助的话,我正在使用 lightdm 和 openbox 运行 raspbian。
答案1
只需转到applications
您的rc.xml
.有一个完整的评论部分介绍了您可以做什么,这里有一个副本:
<!--
# 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)"
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
groupclass="the window's _OB_APP_GROUP_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). 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>
<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
-->
对于这个具体示例,结果将是:
<!-- A -->
<application name="A">
<decor>yes</decor>
<shade>no</shade>
<position force="no">
<!-- start pos at (0,0), top-left corner -->
<x>0</x>
<y>0</y>
<monitor>1</monitor>
</position>
<size>
<!-- go in height & width only 50%, one quarter of the screen -->
<width>50%</width>
<height>50%</height>
</size>
<focus>yes</focus>
<desktop>1</desktop>
<layer>normal</layer>
<iconic>no</iconic>
</application>
<!-- B -->
<application name="B">
<decor>yes</decor>
<shade>no</shade>
<position force="no">
<!-- start pos at (0,mid of screen), middle-left of screen -->
<x>0</x>
<y>50%</y>
<monitor>1</monitor>
</position>
<size>
<!-- go in height & width only 50%, one quarter of the screen -->
<width>50%</width>
<height>50%</height>
</size>
<focus>yes</focus>
<desktop>1</desktop>
<layer>normal</layer>
<iconic>no</iconic>
</application>
<!-- C -->
<application name="C">
<decor>yes</decor>
<shade>no</shade>
<position force="no">
<!-- start pos at (mid of screen, 0), top-mid of screen -->
<x>50%</x>
<y>0</y>
<monitor>1</monitor>
</position>
<size>
<!-- take up half the screen width, but all the height -->
<width>50%</width>
<height>100%</height>
</size>
<focus>yes</focus>
<desktop>1</desktop>
<layer>normal</layer>
<iconic>no</iconic>
</application>
查找_OB_APP_*
您可以运行的属性obxprop | grep _OB_APP
,然后单击您想要其属性的窗口。