OESF | ELSI (coming soon) | Community Links (coming soon) | LinuxPDA | Ibiblio


Welcome Guest ( Log In | Register )

> Fvwm With Xrandr, Problems on 1.1.0beta1
post Oct 25 2007, 11:23 PM
Post #1

Group: Members
Posts: 42
Joined: 30-September 04
From: Luxembourg
Member No.: 4,819

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.

Go to the top of the page
+Quote Post
Start new topic
post Oct 26 2007, 04:05 AM
Post #2

Group: Admin
Posts: 1,218
Joined: 20-January 06
From: York, Pennsylvania
Member No.: 8,961

it is an icewm patch that makes the rotation work
--- icewm/src/wmmgr.cc~ 2005-03-15 23:42:41.000000000 +0000
+++ icewm/src/wmmgr.cc 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.

Go to the top of the page
+Quote Post
post Oct 26 2007, 04:23 AM
Post #3

Group: Members
Posts: 42
Joined: 30-September 04
From: Luxembourg
Member No.: 4,819

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?

Go to the top of the page
+Quote Post

Posts in this topic

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:


RSS Lo-Fi Version Time is now: 24th March 2017 - 06:01 PM