add an option to resize with 4 corners as it was long ago and make the default 9 "corners" with the middle corner being move. that way you only need one mod+button to move and resize windows
This commit is contained in:
parent
ed4c6995ca
commit
ff39f02c38
5 changed files with 44 additions and 18 deletions
|
@ -44,6 +44,7 @@
|
||||||
|
|
||||||
<resize>
|
<resize>
|
||||||
<drawContents>yes</drawContents>
|
<drawContents>yes</drawContents>
|
||||||
|
<fourCorners>no</fourCorners>
|
||||||
</resize>
|
</resize>
|
||||||
|
|
||||||
<dock>
|
<dock>
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
Sun Oct 31 10:08:34 UTC 2004 - mikachu(a)openbox.org
|
Sun Oct 31 10:08:34 UTC 2004 - mikachu(a)openbox.org
|
||||||
we haven't remembered to update this changelog in a while,
|
we haven't remembered to update this changelog in a while,
|
||||||
adding desktopMenuIcons.
|
adding desktopMenuIcons.
|
||||||
|
Thu Nov 4 12:07:08 UTC 2004 - mikachu(a)openbox.org
|
||||||
|
Add fourCorners to resize context.
|
||||||
-->
|
-->
|
||||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||||
targetNamespace="http://openbox.org/"
|
targetNamespace="http://openbox.org/"
|
||||||
|
@ -114,6 +116,7 @@
|
||||||
<xs:complexType name="resize">
|
<xs:complexType name="resize">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="drawContents" type="ob:yesorno"/>
|
<xs:element name="drawContents" type="ob:yesorno"/>
|
||||||
|
<xs:element name="fourCorners" type="ob:yesorno"/>
|
||||||
<xs:element name="popupShow" type="ob:popupshow"/>
|
<xs:element name="popupShow" type="ob:popupshow"/>
|
||||||
<xs:element name="popupPosition" type="ob:popupposition"/>
|
<xs:element name="popupPosition" type="ob:popupposition"/>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
|
|
|
@ -1344,25 +1344,40 @@ void action_toggle_decorations(union ActionData *data)
|
||||||
|
|
||||||
static guint32 pick_corner(gint x, gint y, gint cx, gint cy, gint cw, gint ch)
|
static guint32 pick_corner(gint x, gint y, gint cx, gint cy, gint cw, gint ch)
|
||||||
{
|
{
|
||||||
if ((cw / 3 < 1) || (x - cx > cw / 3 * 2)) {
|
if (config_resize_four_corners) {
|
||||||
if ((ch / 3 < 1) || (y - cy > ch / 3 * 2))
|
if (x - cx > cw / 2) {
|
||||||
return prop_atoms.net_wm_moveresize_size_bottomright;
|
if (y - cy > ch / 2)
|
||||||
else if (y - cy < ch / 3)
|
return prop_atoms.net_wm_moveresize_size_bottomright;
|
||||||
return prop_atoms.net_wm_moveresize_size_topright;
|
else
|
||||||
else
|
return prop_atoms.net_wm_moveresize_size_topright;
|
||||||
return prop_atoms.net_wm_moveresize_size_right;
|
} else {
|
||||||
} else if (x - cx < cw / 3) {
|
if (y - cy > ch / 2)
|
||||||
if (y - cy > ch / 3 * 2)
|
return prop_atoms.net_wm_moveresize_size_bottomleft;
|
||||||
return prop_atoms.net_wm_moveresize_size_bottomleft;
|
else
|
||||||
else if (y - cy < ch / 3)
|
return prop_atoms.net_wm_moveresize_size_topleft;
|
||||||
return prop_atoms.net_wm_moveresize_size_topleft;
|
}
|
||||||
else
|
|
||||||
return prop_atoms.net_wm_moveresize_size_left;
|
|
||||||
} else {
|
} else {
|
||||||
if (y - cy > ch / 2)
|
if (x - cx > cw * 2 / 3) {
|
||||||
return prop_atoms.net_wm_moveresize_size_bottom;
|
if (y - cy > ch * 2 / 3)
|
||||||
else
|
return prop_atoms.net_wm_moveresize_size_bottomright;
|
||||||
return prop_atoms.net_wm_moveresize_size_top;
|
else if (y - cy < ch / 3)
|
||||||
|
return prop_atoms.net_wm_moveresize_size_topright;
|
||||||
|
else
|
||||||
|
return prop_atoms.net_wm_moveresize_size_right;
|
||||||
|
} else if (x - cx < cw / 3) {
|
||||||
|
if (y - cy > ch * 2 / 3)
|
||||||
|
return prop_atoms.net_wm_moveresize_size_bottomleft;
|
||||||
|
else if (y - cy < ch / 3)
|
||||||
|
return prop_atoms.net_wm_moveresize_size_topleft;
|
||||||
|
else
|
||||||
|
return prop_atoms.net_wm_moveresize_size_left;
|
||||||
|
} else
|
||||||
|
if (y - cy > ch * 2 / 3)
|
||||||
|
return prop_atoms.net_wm_moveresize_size_bottom;
|
||||||
|
else if (y - cy < ch / 3)
|
||||||
|
return prop_atoms.net_wm_moveresize_size_top;
|
||||||
|
else
|
||||||
|
return prop_atoms.net_wm_moveresize_move;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@ GSList *config_desktops_names;
|
||||||
gint config_screen_firstdesk;
|
gint config_screen_firstdesk;
|
||||||
|
|
||||||
gboolean config_resize_redraw;
|
gboolean config_resize_redraw;
|
||||||
|
gboolean config_resize_four_corners;
|
||||||
gint config_resize_popup_show;
|
gint config_resize_popup_show;
|
||||||
gint config_resize_popup_pos;
|
gint config_resize_popup_pos;
|
||||||
|
|
||||||
|
@ -300,6 +301,8 @@ static void parse_resize(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
|
||||||
|
|
||||||
if ((n = parse_find_node("drawContents", node)))
|
if ((n = parse_find_node("drawContents", node)))
|
||||||
config_resize_redraw = parse_bool(doc, n);
|
config_resize_redraw = parse_bool(doc, n);
|
||||||
|
if ((n = parse_find_node("fourCorner", node)))
|
||||||
|
config_resize_four_corners = parse_bool(doc, n);
|
||||||
if ((n = parse_find_node("popupShow", node))) {
|
if ((n = parse_find_node("popupShow", node))) {
|
||||||
config_resize_popup_show = parse_int(doc, n);
|
config_resize_popup_show = parse_int(doc, n);
|
||||||
if (parse_contains("Always", doc, n))
|
if (parse_contains("Always", doc, n))
|
||||||
|
@ -559,6 +562,7 @@ void config_startup(ObParseInst *i)
|
||||||
parse_register(i, "desktops", parse_desktops, NULL);
|
parse_register(i, "desktops", parse_desktops, NULL);
|
||||||
|
|
||||||
config_resize_redraw = TRUE;
|
config_resize_redraw = TRUE;
|
||||||
|
config_resize_four_corners = FALSE;
|
||||||
config_resize_popup_show = 1; /* nonpixel increments */
|
config_resize_popup_show = 1; /* nonpixel increments */
|
||||||
config_resize_popup_pos = 0; /* center of client */
|
config_resize_popup_pos = 0; /* center of client */
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,9 @@ extern ObPlacePolicy config_place_policy;
|
||||||
/*! When true windows' contents are refreshed while they are resized; otherwise
|
/*! When true windows' contents are refreshed while they are resized; otherwise
|
||||||
they are not updated until the resize is complete */
|
they are not updated until the resize is complete */
|
||||||
extern gboolean config_resize_redraw;
|
extern gboolean config_resize_redraw;
|
||||||
|
/*! Divide windows in 4 or 9 areas when doing a resize. The middle will be move
|
||||||
|
when selecting 9 corners */
|
||||||
|
extern gboolean config_resize_four_corners;
|
||||||
/*! show move/resize popups? 0 = no, 1 = always, 2 = only
|
/*! show move/resize popups? 0 = no, 1 = always, 2 = only
|
||||||
resizing !1 increments */
|
resizing !1 increments */
|
||||||
extern gint config_resize_popup_show;
|
extern gint config_resize_popup_show;
|
||||||
|
|
Loading…
Reference in a new issue