summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-08-12 07:26:16 +0000
committerDana Jansens <danakj@orodu.net>2003-08-12 07:26:16 +0000
commitc90da6da781932c2d178bfb7e39ec1d5003543b7 (patch)
treee9ed8a17f574701880fe73fcfbd872cdb4868c4d /openbox/client.c
parentcb49f853c9b62c4403eb562d39f52c51da292c4f (diff)
move the keyboard and mouse plugins into the kernel for mucho sexiness.
make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all. this is some hot shit.
Diffstat (limited to 'openbox/client.c')
-rw-r--r--openbox/client.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 191fa994..b5e2a3cf 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -18,6 +18,8 @@
#include "group.h"
#include "config.h"
#include "menu.h"
+#include "keyboard.h"
+#include "mouse.h"
#include "render/render.h"
#include <glib.h>
@@ -327,6 +329,9 @@ void client_manage(Window window)
/* update the list hints */
client_set_list();
+ keyboard_grab_for_client(self, TRUE);
+ mouse_grab_for_client(self, TRUE);
+
dispatch_client(Event_Client_Mapped, self, 0, 0);
ob_debug("Managed window 0x%lx (%s)\n", window, self->class);
@@ -355,6 +360,9 @@ void client_unmanage(ObClient *self)
dispatch_client(Event_Client_Destroy, self, 0, 0);
g_assert(self != NULL);
+ keyboard_grab_for_client(self, FALSE);
+ mouse_grab_for_client(self, FALSE);
+
/* remove the window from our save set */
XChangeSaveSet(ob_display, self->window, SetModeDelete);
@@ -1097,7 +1105,7 @@ void client_setup_decor_and_functions(ObClient *self)
/* finally, the user can have requested no decorations, which overrides
everything */
if (!self->decorate)
- self->decorations = 0;
+ self->decorations = OB_FRAME_DECOR_BORDER;
/* if we don't have a titlebar, then we cannot shade! */
if (!(self->decorations & OB_FRAME_DECOR_TITLEBAR))
@@ -1705,7 +1713,7 @@ void client_configure_full(ObClient *self, ObCorner anchor,
gboolean force_reply)
{
gboolean moved = FALSE, resized = FALSE;
- gint fdecor = self->frame->decorations;
+ guint fdecor = self->frame->decorations;
/* make the frame recalculate its dimentions n shit without changing
anything visible for real, this way the constraints below can work with