Hi,
please consider to apply the attached patches into mainline which we've
applied in Debian since quite some time.
Regards,
Daniel
-- Address: Daniel Baumann, Burgunderstrasse 3, CH-4562 Biberist Email: daniel.baumann_AT_panthera-systems.net Internet: http://people.panthera-systems.net/~daniel-baumann/
#!/bin/sh /usr/share/dpatch/dpatch-run
## 02-fontset-fix.dpatch by Gonzalo Tornaria <tornaria_AT_math.utexas.ed
##
## DP: Fixes fontset problem with UTF (Closes: #394781).
@DPATCH@
diff -Naur wmii-3.1.orig/liblitz/font.c wmii-3.1/liblitz/font.c
--- wmii-3.1.orig/liblitz/font.c 2006-06-17 11:44:30.000000000 +0000
+++ wmii-3.1/liblitz/font.c 2006-10-23 16:13:39.000000000 +0000
@@ -37,10 +37,12 @@
while(n--)
fprintf(stderr, "liblitz: missing fontset: %s\n", missing[n]);
XFreeStringList(missing);
+ /*
if(font->set) {
XFreeFontSet(dpy, font->set);
font->set = nil;
}
+ */
}
if(font->set) {
XFontSetExtents *font_extents;
#!/bin/sh /usr/share/dpatch/dpatch-run
## 03-xrandr.dpatch by Evan Deaubl <evan_AT_warpedview.com>
##
## DP: Adds support for xrandr (Closes: #398900).
@DPATCH@
diff -Naur wmii-3.1.orig/cmd/wm/event.c wmii-3.1/cmd/wm/event.c
--- wmii-3.1.orig/cmd/wm/event.c 2006-06-17 11:44:30.000000000 +0000
+++ wmii-3.1/cmd/wm/event.c 2006-11-16 15:58:40.000000000 +0000
@@ -10,6 +10,8 @@
#include "wm.h"
+#include <X11/extensions/Xrandr.h>
+
/* local functions */
static void handle_buttonpress(XEvent * e);
static void handle_buttonrelease(XEvent * e);
@@ -23,6 +25,7 @@
static void handle_maprequest(XEvent * e);
static void handle_propertynotify(XEvent * e);
static void handle_unmapnotify(XEvent * e);
+static void handle_rrscreenchangenotify(XEvent * e);
void (*handler[LASTEvent]) (XEvent *);
@@ -53,7 +56,9 @@
XEvent ev;
while(XPending(dpy)) { /* main event loop */
XNextEvent(dpy, &ev);
- if(handler[ev.type])
+ if (xrandr_supported && ev.type == xrandr_event_base + 0)
+ handle_rrscreenchangenotify (&ev);
+ else if(handler[ev.type])
(handler[ev.type]) (&ev); /* call handler */
}
}
@@ -199,6 +204,25 @@
}
static void
+handle_rrscreenchangenotify(XEvent *e)
+{
+ XRRScreenChangeNotifyEvent *ev = (XRRScreenChangeNotifyEvent *)e;
+ if(ev->window == root) {
+ XRRUpdateConfiguration(e);
+ if (ev->rotation == RR_Rotate_90 || ev->rotation == RR_Rotate_270) {
+ rect.width = ev->height;
+ rect.height = ev->width;
+ }
+ else {
+ rect.width = ev->width;
+ rect.height = ev->height;
+ }
+ arrange_views();
+ resize_bar();
+ }
+}
+
+static void
handle_destroynotify(XEvent *e)
{
Client *c;
diff -Naur wmii-3.1.orig/cmd/wm/view.c wmii-3.1/cmd/wm/view.c
--- wmii-3.1.orig/cmd/wm/view.c 2006-06-17 11:44:30.000000000 +0000
+++ wmii-3.1/cmd/wm/view.c 2006-11-16 15:58:40.000000000 +0000
@@ -385,3 +385,13 @@
else
update_view_bars();
}
+
+void
+arrange_views()
+{
+ unsigned int i;
+
+ for(i = 0; i < view.size; i++) {
+ arrange_view(view.data[i]);
+ }
+}
diff -Naur wmii-3.1.orig/cmd/wm/wm.c wmii-3.1/cmd/wm/wm.c
--- wmii-3.1.orig/cmd/wm/wm.c 2006-06-17 11:44:30.000000000 +0000
+++ wmii-3.1/cmd/wm/wm.c 2006-11-16 15:58:40.000000000 +0000
@@ -260,6 +260,11 @@
XSelectInput(dpy, root, SubstructureRedirectMask | EnterWindowMask);
XSync(dpy, False);
+ int dummy = 0;
+ xrandr_supported = XRRQueryExtension(dpy,
+ &xrandr_event_base, &dummy);
+ XRRSelectInput(dpy, root, 1);
+
if(other_wm_running) {
fprintf(stderr,
"wmiiwm: another window manager is already running\n");
diff -Naur wmii-3.1.orig/cmd/wm/wm.h wmii-3.1/cmd/wm/wm.h
--- wmii-3.1.orig/cmd/wm/wm.h 2006-06-17 11:44:30.000000000 +0000
+++ wmii-3.1/cmd/wm/wm.h 2006-11-16 15:58:40.000000000 +0000
@@ -197,6 +197,8 @@
unsigned int valid_mask;
unsigned int num_lock_mask;
unsigned int sel_screen;
+int xrandr_event_base;
+int xrandr_supported;
/* area.c */
Area *create_area(View *t);
diff -Naur wmii-3.1.orig/config.mk wmii-3.1/config.mk
--- wmii-3.1.orig/config.mk 2006-06-17 11:44:29.000000000 +0000
+++ wmii-3.1/config.mk 2006-11-16 15:58:40.000000000 +0000
@@ -11,7 +11,7 @@
VERSION = 3.1
# includes and libs
-LIBS = -L${PREFIX}/lib -L/usr/lib -lc -L${X11LIB} -lX11
+LIBS = -L${PREFIX}/lib -L/usr/lib -lc -L${X11LIB} -lX11 -lXrandr
# Linux/BSD
CFLAGS = -O3 -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \
Received on Fri Nov 17 2006 - 20:22:15 UTC
This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 16:16:55 UTC