summaryrefslogtreecommitdiff
path: root/openbox/frame.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-01-19 23:59:40 -0500
committerDana Jansens <danakj@orodu.net>2008-01-19 23:59:40 -0500
commit3ae58f457bcdfa90b26dad4c9d192f045874ddae (patch)
tree23d603a47cfedc8e51cf36bf3480f83118b94710 /openbox/frame.c
parent2b8b5da04b14af1639143cc332874c7e1a03a8bb (diff)
parent4b41ac8343efa21a959d81a4db8aea32e5960f10 (diff)
Merge branch 'backport'
Diffstat (limited to 'openbox/frame.c')
-rw-r--r--openbox/frame.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index b10f793b..a47c2f06 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -377,10 +377,12 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
STRUT_SET(self->size,
self->cbwidth_l + (!self->max_horz ? self->bwidth : 0),
- self->cbwidth_t + self->bwidth,
+ self->cbwidth_t +
+ (!self->max_horz || !self->max_vert ||
+ !self->client->undecorated ? self->bwidth : 0),
self->cbwidth_r + (!self->max_horz ? self->bwidth : 0),
self->cbwidth_b +
- (!self->max_horz || !self->max_vert ? self->bwidth : 0));
+ (!self->max_horz || !self->max_vert ? self->bwidth : 0));
if (self->decorations & OB_FRAME_DECOR_TITLEBAR)
self->size.top += ob_rr_theme->title_height + self->bwidth;
@@ -1005,6 +1007,10 @@ void frame_grab_client(ObFrame *self)
g_hash_table_insert(window_map, &self->innertop, self->client);
g_hash_table_insert(window_map, &self->innerright, self->client);
g_hash_table_insert(window_map, &self->innerbottom, self->client);
+ g_hash_table_insert(window_map, &self->innerblb, self->client);
+ g_hash_table_insert(window_map, &self->innerbll, self->client);
+ g_hash_table_insert(window_map, &self->innerbrb, self->client);
+ g_hash_table_insert(window_map, &self->innerbrr, self->client);
g_hash_table_insert(window_map, &self->title, self->client);
g_hash_table_insert(window_map, &self->label, self->client);
g_hash_table_insert(window_map, &self->max, self->client);
@@ -1085,6 +1091,10 @@ void frame_release_client(ObFrame *self)
g_hash_table_remove(window_map, &self->innertop);
g_hash_table_remove(window_map, &self->innerright);
g_hash_table_remove(window_map, &self->innerbottom);
+ g_hash_table_remove(window_map, &self->innerblb);
+ g_hash_table_remove(window_map, &self->innerbll);
+ g_hash_table_remove(window_map, &self->innerbrb);
+ g_hash_table_remove(window_map, &self->innerbrr);
g_hash_table_remove(window_map, &self->title);
g_hash_table_remove(window_map, &self->label);
g_hash_table_remove(window_map, &self->max);
@@ -1436,9 +1446,9 @@ ObFrameContext frame_context(ObClient *client, Window win, gint x, gint y)
if (win == self->lgripbottom) return OB_FRAME_CONTEXT_BLCORNER;
if (win == self->handleright) return OB_FRAME_CONTEXT_BRCORNER;
if (win == self->rgrip) return OB_FRAME_CONTEXT_BRCORNER;
- if (win == self->rgripright) return OB_FRAME_CONTEXT_BLCORNER;
- if (win == self->rgriptop) return OB_FRAME_CONTEXT_BLCORNER;
- if (win == self->rgripbottom) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->rgripright) return OB_FRAME_CONTEXT_BRCORNER;
+ if (win == self->rgriptop) return OB_FRAME_CONTEXT_BRCORNER;
+ if (win == self->rgripbottom) return OB_FRAME_CONTEXT_BRCORNER;
if (win == self->title) return OB_FRAME_CONTEXT_TITLEBAR;
if (win == self->titlebottom) return OB_FRAME_CONTEXT_TITLEBAR;
if (win == self->titleleft) return OB_FRAME_CONTEXT_TLCORNER;
@@ -1457,6 +1467,10 @@ ObFrameContext frame_context(ObClient *client, Window win, gint x, gint y)
if (win == self->innerleft) return OB_FRAME_CONTEXT_LEFT;
if (win == self->innerbottom) return OB_FRAME_CONTEXT_BOTTOM;
if (win == self->innerright) return OB_FRAME_CONTEXT_RIGHT;
+ if (win == self->innerbll) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->innerblb) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->innerbrr) return OB_FRAME_CONTEXT_BRCORNER;
+ if (win == self->innerbrb) return OB_FRAME_CONTEXT_BRCORNER;
if (win == self->max) return OB_FRAME_CONTEXT_MAXIMIZE;
if (win == self->iconify) return OB_FRAME_CONTEXT_ICONIFY;
if (win == self->close) return OB_FRAME_CONTEXT_CLOSE;