Commit graph

108 commits

Author SHA1 Message Date
Dana Jansens
10a833b2cb Allow application rules to control window size (Fix bug 4661)
Use the following in your per-app rules:

<size>
  <width>A</width>
  <height>B</height>
</size>

A and B can be integer values to specify a size in pixels. They can also be
percentages or fractions to be relative to the size of the monitor the window
is placed on.
2012-10-06 23:04:57 -04:00
Dana Jansens
5e282dae08 Remove now-unused config_place_center option.
The new LeastOverlap placement doesn't use this option, and it kind of defeats
the purpose of the algorithm.
2012-10-06 22:52:31 -04:00
Denis Kaganovich
1974c69fb3 Fix some namings and xml formatting in rc.xml and rc.xsd 2012-10-06 22:30:02 -04:00
Dana Jansens
6eb740cf11 Allow window matching based on the group leader's name and class (Fix bug 5721)
In Openbox 3.4 we used the group leader's WM_CLASS value when it was available.
This prevents windows in the group from overriding with a specific value,
however which is bad. More rationale can be found in
http://icculus.org/pipermail/openbox/2010-September/006790.html

Some applications (eg. Firefox) use command line flags to set the WM_CLASS
property on the group leader but do not change the property on the mapped
windows themselves. This makes matching these windows not possible in Openbox
3.5.

We resolve this by exposing the group's WM_CLASS values alongside the individual
window's values. We add _OB_APP_GROUP_NAME and _OB_APP_GROUP_CLASS properties
along with "groupname" and "classname" attributes for the rc.xml application
tag.
2012-10-06 21:56:56 -04:00
Mikael Magnusson
c885c9a676 Change default doubleclick timeout to 500ms and keep track of where last click was
Bug #5152 - "mouse double-click time is too low by default - 200ms"

We only use the doubleclick in one place in the default configuration,
for doubleclicking titlebars to maximize windows, so any negative impact
of increasing the timeout should be minimal, especially with the
addition of requiring the two clicks to be in the same place.

Doubleclicks are hardcoded to occur within 8 pixels for now, it doesn't
seem worth it to add a config until someone complains. A possibility is
using the drag threshold, but some people have that set very low so it
could be hard to doubleclick then.
2011-10-16 22:50:26 +02:00
Dana Jansens
7c33f45e09 make the default drag threshold 1. it is smooth and feels and looks nice.
(also macos has it and i liked it.)
2011-01-24 14:19:23 -05:00
Dana Jansens
95535e8623 Big changes to placement across multiple monitors.
Add a Primary option for which monitor to place new windows on.  Make "Active" the default instead of "Any", which is just totally crazy.

When a window is being placed in the FOREGROUND, use a monitor chosen in
  the following order:
  1. same monitor as parent
  2. primary monitor if placement=PRIMARY
     active monitor if placement=ACTIVE
     pointer monitor if placement=MOUSE
  3. primary monitor
  4. other monitors where the window has group members on the same desktop
  5. other monitors where the window has group members on other desktops
  6. other monitors

When a window is being placed in the BACKGROUND, use a monitor chosen in the
  following order:
  1. same monitor as parent
  2. other monitors where the window has group members on the same desktop
   2a. primary monitor in this set
   2b. other monitors in this set
  3. other monitors where the window has group members on other desktops
   3a. primary monitor in this set
   3b. other monitors in this set
  4. other monitors
   4a. primary monitor in this set
   4b. other monitors in this set

Decide to focus the new window before placing it, so we know if it will be
  placed in the foreground or background.

Always choose a single monitor, then place on it, rather than possibly moving
  to a "backup" monitor.  Unpredictable monitor placement is horrible.
2011-01-24 14:19:22 -05:00
Dana Jansens
4f8503c2c5 Allow XIncludes in xml documents we read.
Add the XInclude namespace in the default config file (named "xi")
2011-01-24 14:19:22 -05:00
Dana Jansens
4463bb6e2f merge some contexts together in the default rc.xml mouse bindings 2010-05-17 19:31:57 -04:00
Dana Jansens
77ee361f5c allow warping the mouse pointer when switching desktops by bumping into the edge of the monitor with a window
based on a patch by Nathaniel Gephart <computinchuck@gmail.com>
2010-04-16 21:32:38 -04:00
Dana Jansens
6976f4198b Show client menu on right click anywhere on a window frame (left and right were excluded) 2010-02-21 13:40:22 -05:00
Dana Jansens
a8554def0e lower the default submenu show delay 2010-02-16 22:00:48 -05:00
Dana Jansens
6cf3357036 allow app rules to match windows by their title when mapping
and save the title in the _OB_APP_TITLE property
2010-01-14 18:41:21 -05:00
Dana Jansens
567fd15eeb Merge branch 'backport' into work
Conflicts:

	configure.ac
	data/rc.xml
	openbox/client.c
	openbox/event.c
	openbox/focus_cycle.c
	openbox/focus_cycle_popup.c
	openbox/openbox.c
	openbox/prop.c
	openbox/prop.h
	openbox/screen.c
	parser/parse.c
	version.h.in
2010-01-11 16:20:53 -05:00
Dana Jansens
91af4d5bc9 Add _OB_VERSION and _OB_APP_ROLE/CLASS/NAME/TYPE
Add _OB_VERSION property on the root window.
Change _OB_ROLE/CLASS/NAME to _OB_APP_*.
Add _OB_APP_TYPE which has a string for the type chosen for the window on
  mapping by Openbox.
Adjust the rc.xml to match these changes.
2010-01-11 13:42:50 -05:00
Dana Jansens
b3cc8f4876 allow application rules to place transient/dialog/splash windows, and allow application rules to match only on the role or type if you wish. 2010-01-10 22:15:27 +01:00
Dana Jansens
73575c10ce Merge branch 'backport' into work
Conflicts:

	Makefile.am
	openbox/actions/focus.c
	openbox/config.c
	openbox/event.c
	openbox/menuframe.c
2010-01-08 10:22:30 -05:00
Dana Jansens
e8588737c9 Allow infinite delay for submenu show/hide by using a negative value. 2010-01-06 17:13:03 -05:00
Dana Jansens
b88cf22bc0 Some fixes for the submenu hide delay code
When nothing in a menu is selected, go back to selecting the open submenu.
Adjust the LeaveNotify event handling to only respond when there is not a
  EnterNotify coming for the same menu frame.
Change the default submenu show/hide delays.
Have the default values for submenu show/hide match the default rc.xml
2010-01-06 17:13:03 -05:00
Alexey Korop
8968b38338 improve submenu hide delay 2010-01-06 17:13:03 -05:00
Dana Jansens
a03b817aeb Merge branch 'backport' into work 2009-12-21 10:43:38 -05:00
Dana Jansens
b7393636e0 make a config option for the inactive osd font 2009-12-21 10:43:30 -05:00
Dana Jansens
6d8b7bd5f7 Rename obprop to obxprop (Fixes bug #4419)
Avoids collision with openbabel.
2009-12-21 09:59:28 -05:00
Dana Jansens
82ac248145 Add some directional focus bindings to the default config file. 2009-12-17 10:24:06 -05:00
Dana Jansens
a93b00a5e9 Merge branch 'backport' into work 2009-12-14 15:25:57 -05:00
Dana Jansens
5fc18091be In the applications section tell the user to use _OB_* properties for the name/class/role, and refer to the still-non-existant obprop tool. 2009-12-14 11:27:50 -05:00
Dana Jansens
acafa38c8e Merge branch 'backport' into work
Conflicts:
	openbox/config.c
	openbox/event.c
	openbox/prop.c
	openbox/prop.h
	openbox/screen.c
	openbox/screen.h
2009-12-11 19:02:11 -05:00
Dana Jansens
aa329719b9 Add a primaryMonitor config option, where the focus-cycle and keychain popups will appear 2009-12-09 16:41:52 -05:00
Dana Jansens
e0015160f0 Make the default placement on the active monitor (Any is madness) 2009-12-09 15:41:28 -05:00
Mikael Magnusson
6d0c4d7fad Merge branch 'backport' into work
Conflicts:
	openbox/config.c
2009-02-20 17:44:16 +01:00
Mikael Magnusson
271e0fd9c8 Fix per-app monitor setting
A couple of things were wrong, the parser added 1 to the value despite
expecting the user to give values in the range of 1 to
screen_num_monitors, rc.xml documented the values to start from 0 and
finally the monitor value wasn't copied over at all when matching the
client.
2009-02-20 17:41:34 +01:00
Mikael Magnusson
e6fea24575 Merge branch 'backport' into work
Conflicts:
	openbox/client.c
	openbox/prop.c
	openbox/prop.h
2008-10-27 00:58:56 +01:00
Mikael Magnusson
1f194d6d1f 0 is the first monitor here, not 1. 2008-09-14 13:56:13 +02:00
Mikael Magnusson
1124d10369 Merge branch 'backport' into work
Diffing against the old work branch where most of the changes
in backport were cherry-picked from indicates this should be
alright. (0de9097017d4d1991388a35e380a57dc1135b431)
2008-02-14 19:43:02 +01:00
Dana Jansens
27177e498b let you match per-app settings based on the window type 2008-02-14 19:40:03 +01:00
Dana Jansens
5f04ca85ef Merge branch 'backport' into work
Conflicts:

	openbox/config.c
2008-02-07 02:06:42 -05:00
Dana Jansens
307befd333 add the position's force attribute to the default rc.xml and xsd 2008-02-06 09:22:04 -05:00
Mikael Magnusson
12ca673de5 Add the manageDesktops option. 2008-02-04 02:26:00 +01:00
Dana Jansens
20b8fcfa33 Merge branch 'backport' into work
Conflicts:

	openbox/client.c
	openbox/config.c
	openbox/event.c
	openbox/extensions.c
	openbox/focus_cycle_indicator.c
	openbox/focus_cycle_popup.c
	openbox/menuframe.c
	openbox/moveresize.c
	openbox/openbox.c
	openbox/screen.c
	openbox/stacking.c
	openbox/startupnotify.c
2008-01-31 12:51:38 -05:00
Mikael Magnusson
d783705141 Change <placeOn> to <monitor>. 2008-01-27 21:03:55 +01:00
Dana Jansens
dd740b5562 replace the <active> placement option with <placeOn>active/mouse/any</placeOn> 2008-01-27 11:31:23 -05:00
Mikael Magnusson
beb2895f5a Fix two typos in comments in rc.xml 2008-01-21 16:55:33 +01:00
Dana Jansens
3ae58f457b Merge branch 'backport' 2008-01-19 23:59:40 -05:00
Dana Jansens
17bc51aab8 let you specify the resize popup to be in a fixed place 2008-01-11 20:24:16 -05:00
Dana Jansens
22333336d3 add an <active> option for window placement, to try force new windows on the active monitor (for xinerama) 2008-01-11 19:32:45 -05:00
Dana Jansens
1cb287e130 focus the desktop window when you right click it, same as you focus other windows 2008-01-11 15:01:03 -05:00
Dana Jansens
f55ae9e569 Merge branch 'backport' 2007-08-04 23:35:36 -04:00
Dana Jansens
29e94a9e59 make the default time for the desktop notificatin 875ms 2007-08-04 12:11:08 -04:00
Dana Jansens
3b4b52921a show a popup notification when switching desktops (also make all the config options export time in milliseconds not half milli half micro) 2007-08-03 20:40:13 -04:00
Dana Jansens
98b9ed97eb use clicks for mouse wheel, not press. 2007-07-31 13:17:45 -04:00