summaryrefslogtreecommitdiff
path: root/openbox/screen.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-05-09 16:57:17 +0000
committerDana Jansens <danakj@orodu.net>2003-05-09 16:57:17 +0000
commitf26f23de50cb7941a7702198e3b4d1b2f9de062e (patch)
treeec1d73c8e977d86e9231676c51e684a3415e7a0e /openbox/screen.c
parent60065663ba9dc448dcf90fd200cd459bcdb9ef9c (diff)
all my changes while i was offline.
better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
Diffstat (limited to 'openbox/screen.c')
-rw-r--r--openbox/screen.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/openbox/screen.c b/openbox/screen.c
index 7f9b4397..04bc21c5 100644
--- a/openbox/screen.c
+++ b/openbox/screen.c
@@ -7,6 +7,7 @@
#include "frame.h"
#include "focus.h"
#include "dispatch.h"
+#include "extensions.h"
#include "../render/render.h"
#include <X11/Xlib.h>
@@ -16,7 +17,7 @@
#endif
/*! The event mask to grab on the root window */
-#define ROOT_EVENTMASK (/*ColormapChangeMask |*/ PropertyChangeMask | \
+#define ROOT_EVENTMASK (StructureNotifyMask | PropertyChangeMask | \
EnterWindowMask | LeaveWindowMask | \
SubstructureNotifyMask | SubstructureRedirectMask | \
ButtonPressMask | ButtonReleaseMask | ButtonMotionMask)
@@ -160,7 +161,8 @@ void screen_startup()
guint i;
/* get the initial size */
- screen_resize();
+ screen_resize(WidthOfScreen(ScreenOfDisplay(ob_display, ob_screen)),
+ HeightOfScreen(ScreenOfDisplay(ob_display, ob_screen)));
/* set the names */
screen_desktop_names = g_new(char*,
@@ -201,14 +203,14 @@ void screen_shutdown()
g_free(area);
}
-void screen_resize()
+void screen_resize(int w, int h)
{
- /* XXX RandR support here? */
+ GList *it;
guint32 geometry[2];
/* Set the _NET_DESKTOP_GEOMETRY hint */
- geometry[0] = WidthOfScreen(ScreenOfDisplay(ob_display, ob_screen));
- geometry[1] = HeightOfScreen(ScreenOfDisplay(ob_display, ob_screen));
+ geometry[0] = w;
+ geometry[1] = h;
PROP_SETA32(ob_root, net_desktop_geometry, cardinal, geometry, 2);
screen_physical_size.width = geometry[0];
screen_physical_size.height = geometry[1];
@@ -218,7 +220,8 @@ void screen_resize()
screen_update_struts();
- /* XXX adjust more stuff ? */
+ for (it = client_list; it; it = it->next)
+ client_move_onscreen(it->data);
}
void screen_set_num_desktops(guint num)