summaryrefslogtreecommitdiff
path: root/openbox/frame.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-01-15 20:33:56 -0500
committerDana Jansens <danakj@orodu.net>2008-01-15 20:33:56 -0500
commit2b5d4b69974aba63f0c22cd5e4b91c456cd70f68 (patch)
tree380a93927b032e889e3369cdd5313f5ee464a7bf /openbox/frame.c
parentd122c973ca78cd4ac4e17931269f31b0abfffbb0 (diff)
the inner border's corners weren't having events handled on them correctly, which was messing with resizing. yay akk for finding this.
Diffstat (limited to 'openbox/frame.c')
-rw-r--r--openbox/frame.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index b0666b27..a47c2f06 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -1007,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);
@@ -1087,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);
@@ -1459,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;