Hi, maybe a bit lazy for just asking instead of trying, but is there any (easy) way to build the X server on Snow Leopard right now, or should I just wait to download 2.4.1 first? I have a few local patches I'd like to get back in my server... On that topic (patches), one of them is this one: diff --git a/hw/xquartz/xpr/xprScreen.c b/hw/xquartz/xpr/xprScreen.c index 1fac9ec..9448e0c 100644 --- a/hw/xquartz/xpr/xprScreen.c +++ b/hw/xquartz/xpr/xprScreen.c @@ -155,7 +155,7 @@ displayScreenBounds(CGDirectDisplayID id) (int)frame.origin.x, (int)frame.origin.y); /* Remove menubar to help standard X11 window managers. */ - if (quartzEnableRootless && + if (!quartzHasRoot && frame.origin.x == 0 && frame.origin.y == 0) { frame.origin.y += aquaMenuBarHeight; frame.size.height -= aquaMenuBarHeight; Those variables are named a bit confusing, but I finally decided that quartzHasRoot is the variable deciding if the server is currently in full screen mode. Can anyone else verify that this is a correct change? Pasted from terminal so might not be applicable directly... -- Pelle Johansson
On Sep 10, 2009, at 15:29, Pelle Johansson wrote:
Hi,
maybe a bit lazy for just asking instead of trying, but is there any (easy) way to build the X server on Snow Leopard right now, or should I just wait to download 2.4.1 first? I have a few local patches I'd like to get back in my server...
All of the necessary changes have been pushed into git over the past week or two. Right now, I'm battling a bug in xcode or the kernel or perl or something which is preventing the build script from running correctly. I was hoping to have a 2.4.1 alpha out last weekend, but that hasn't happened. Hopefully I will be able to work out these weird issues over the next week or so and get something into everyone's hands.
On that topic (patches), one of them is this one:
diff --git a/hw/xquartz/xpr/xprScreen.c b/hw/xquartz/xpr/xprScreen.c index 1fac9ec..9448e0c 100644 --- a/hw/xquartz/xpr/xprScreen.c +++ b/hw/xquartz/xpr/xprScreen.c @@ -155,7 +155,7 @@ displayScreenBounds(CGDirectDisplayID id) (int)frame.origin.x, (int)frame.origin.y);
/* Remove menubar to help standard X11 window managers. */ - if (quartzEnableRootless && + if (!quartzHasRoot && frame.origin.x == 0 && frame.origin.y == 0) { frame.origin.y += aquaMenuBarHeight; frame.size.height -= aquaMenuBarHeight;
Those variables are named a bit confusing
Yeah... and perhaps I should do a big search/replace on them... don't look at me, I inherited them that way ;) IIRC: quartzEnableRootless is the variable that toggles the mode. Are we rootless or are we fullscreen (the preference option). quartzHasRoot is the variable that essentially corresponds to the (for lack of better name) cmd-alt-a state.
, but I finally decided that quartzHasRoot is the variable deciding if the server is currently in full screen mode. Can anyone else verify that this is a correct change? Pasted from terminal so might not be applicable directly...
quartzEnableRootless is actually the right variable here. If we are in rootless mode, we want our display to subtract off the menu bar. If we are in fullscreen mode (regardless of whether or not we are actively displaying X11), we want the menu bar region to be part of our X11 screen. What is the behavior issue that you are seeing that you are trying to fix?
11 sep 2009 kl. 03.52 skrev Jeremy Huddleston:
Yeah... and perhaps I should do a big search/replace on them... don't look at me, I inherited them that way ;)
I remember well the time before you started in this project, so I know you're not at fault. :)
IIRC: quartzEnableRootless is the variable that toggles the mode. Are we rootless or are we fullscreen (the preference option). quartzHasRoot is the variable that essentially corresponds to the (for lack of better name) cmd-alt-a state.
Right, thanks for reminding me. That means I had to change it because I switch to full screen mode programmatically even though quartzEnableRootless is true... I guess what I really need to do is check both variables. I've been working on some Xrandr support, and since I presume that any resolution change is temporary in X11.app, I decided on doing a CGCaptureAllDisplays() and switching to rooted mode. It's not quite ready to show anyone else yet... primarily I need some better way of getting out of a stuck switch than force killing X11.app. (An xrandr - s auto will also work, but you have to get to it first.) One bug that sometimes also happens is that the titleless (fullscreen) window created together with the mode switch appears with a 20-22 pixels gap at the top. I haven't really been able to track it down yet, so any help would be appreciated (I realise as I'm writing this that I should probably see how it works with a different window manager). Oh well, it'll all have to wait a while anyway... -- Pelle Johansson
On Sep 11, 2009, at 10:23, Pelle Johansson wrote:
IIRC: quartzEnableRootless is the variable that toggles the mode. Are we rootless or are we fullscreen (the preference option). quartzHasRoot is the variable that essentially corresponds to the (for lack of better name) cmd-alt-a state.
Right, thanks for reminding me. That means I had to change it because I switch to full screen mode programmatically even though quartzEnableRootless is true... I guess what I really need to do is check both variables.
I'm not sure what you mean here. If quartzEnableRootless is true, then you shouldn't be in fullscreen mode. Rootless mode is the one where your X11 and OSX environments are in harmony with one another (in theory).
I've been working on some Xrandr support, and since I presume that any resolution change is temporary in X11.app, I decided on doing a CGCaptureAllDisplays() and switching to rooted mode. It's not quite ready to show anyone else yet... primarily I need some better way of getting out of a stuck switch than force killing X11.app. (An xrandr -s auto will also work, but you have to get to it first.)
Ah... ok... yeah... this is one of the gotcha's with RANDR. I'll send you some files offline that I have of some randr related work that you might want to look at.
participants (2)
-
Jeremy Huddleston
-
Pelle Johansson