Help - Search - Members - Calendar
Full Version: Fvwm With Xrandr
OESF Portables Forum > Everything Else > Archived Forums > Distros, Development, and Model Specific Forums > Zaurus - Everything Development > pdaXrom Development
Hi developpers,

after hours of searching and trial and error I finally give up and ask you for help. Perhaps someone knows what I am doing wrong.
Some time ago I hacked a bit with fvwm to make it support xrandr, i.e. the viewport gets updated and the menus show up in the
right place. This hack worked fine with Angstrom (->xorg-1.3.0.x). But as this distro does not have the applications I want I switched back
to pdaXrom 1.1.0beta1. And here (->xfree-4.4.0) xrandr does not work. The problem is especially that the event is promoted to fvwm, but
the XRRScreenChangeNotifyEvent does not have the new width and height. Consequently DisplayWidh(...) does return the old width
even after having called XRRUpdateConfiguration(...). On the other hand the field "rotation" is updated.
Does anyone have an idea why?
One more information: I installed icewm from the feed which supports xrandr well. If I compile it myself it has the same problem.
Perhaps it is just a matter of compilation options?

I'd really appreciate if someone could help.

it is an icewm patch that makes the rotation work
--- icewm/src/ 2005-03-15 23:42:41.000000000 +0000
+++ icewm/src/ 2005-03-15 23:58:20.000000000 +0000
@@ -70,6 +70,7 @@
XRRScreenChangeSelectInput(xapp->display(), handle(), True);
+ rotation = RR_Rotate_0;

fTopWin = new YWindow();;
@@ -2654,13 +2655,19 @@

if (width() != xrrsc.width ||
- height() != xrrsc.height)
+ height() != xrrsc.height ||
+ rotation != xrrsc.rotation)

MSG(("xrandr: %d %d",
- setSize(xrrsc.width, xrrsc.height);
+ if (xrrsc.rotation == RR_Rotate_0 ||
+ xrrsc.rotation == RR_Rotate_180)
+ setSize(xrrsc.width, xrrsc.height);
+ else
+ setSize(xrrsc.height, xrrsc.width);
@@ -2672,6 +2679,7 @@
#warning "make something better"
wmapp->actionPerformed(actionArrange, 0);
+ rotation = xrrsc.rotation;



--- icewm/src/wmmgr.h~ 2005-03-15 23:41:45.000000000 +0000
+++ icewm/src/wmmgr.h 2005-03-15 23:42:27.000000000 +0000
@@ -237,6 +237,9 @@
bool fFullscreenEnabled;

WMState fWmState;
+ Rotation rotation;

extern YWindowManager *manager;

I havent played with fvwm so really couldnt point you in the correct direction, but I would have to look at fvwm to determine the issue... I'm busying gettin pdaXrom 2.0 squared away so I dont know when I would have a chance to look at it... Hopefully one of the other devs or community members can pop in and give you some advise.

Hi Late,

thank you for your fast answer! This is exactly what I didn't want to hear sad.gif
I hoped I had made a mistake that after having corrected it would result in DisplayWidth
returning the right dimensions. I already started doing it the way the diff of icewm indicates,
but zoom still does not work.
I suspect there are plenty of places where fvwm calls DisplayWidth. So I would have
to replace them.

Just an additional question: Do you know if this is just a bug of xfree 4.4.0 or
is this difference in behaviour to xorg intentional?

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2018 Invision Power Services, Inc.