--------------Boundary-00=_L6X9UC4F5DYBI8XZZBU5 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Here is a patch for kdm to make it display on the proper head. Before th= e=20 default value was 1 which is rather random since the screens range from=20 [0..n-1] and they are in no particular order relative to the physical=20 arrangement. =20 This patch makes a new default, -1, and this makes kdm go to the screen w= ith=20 (0,0). It also goes to this screen if the parameter is out of range. Ok to commit? --------------Boundary-00=_L6X9UC4F5DYBI8XZZBU5 Content-Type: text/x-diff; charset="us-ascii"; name="kdmdiff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="kdmdiff" Index: kfrontend/genkdmconf.c =================================================================== RCS file: /home/kde/kdebase/kdm/kfrontend/genkdmconf.c,v retrieving revision 1.23 diff -u -3 -r1.23 genkdmconf.c --- kfrontend/genkdmconf.c 2002/01/14 15:55:49 1.23 +++ kfrontend/genkdmconf.c 2002/02/28 18:46:42 @@ -780,7 +780,8 @@ { "GreeterPosY", 0, 0, 0 }, { "GreeterScreen", 0, 0, "# The screen the greeter should be displayed on in multi-headed setups.\n" -"# Default is 0\n" }, +"# Default is -1 which means to use the upper-left screen.\n" +"# The parameter ranges from -1, 0..(number of screens - 1)\n" }, { "GreetString", F_UPDATE, (const char *)upd_greetstring, "# The headline in the greeter.\n" "# The following character pairs are replaced:\n" @@ -1014,7 +1015,7 @@ static DEnt dEntsLocalGreeter[] = { { "AuthComplain", "false", 0 }, -{ "GreeterScreen", "1", 0 }, +{ "GreeterScreen", "-1", 0 }, }; static DEnt dEnts0Core[] = { Index: kfrontend/kgreeter.cpp =================================================================== RCS file: /home/kde/kdebase/kdm/kfrontend/kgreeter.cpp,v retrieving revision 1.69 diff -u -3 -r1.69 kgreeter.cpp --- kfrontend/kgreeter.cpp 2002/02/08 15:14:13 1.69 +++ kfrontend/kgreeter.cpp 2002/02/28 18:46:43 @@ -729,7 +729,13 @@ SecureDisplay (dpy); if (!dgrabServer) GSendInt (G_SetupDpy); - QRect scr = kapp->desktop()->screenGeometry(kdmcfg->_greeterScreen); + // GS, 2002 - Default is -1 which means use the u-l screen + // also do not forget, the screen numbers start at 0 + QRect scr; + int nscrs = kapp->desktop()->numScreens(); + if (kdmcfg->_greeterScreen < 0 || kdmcfg->_greeterScreen >= nscrs) + scr = kapp->desktop()->screenGeometry(kapp->desktop()->screenNumber(QPoint(0,0))); + else scr = kapp->desktop()->screenGeometry(kdmcfg->_greeterScreen); kgreeter = new KGreeter; kgreeter->setMaximumSize(scr.size()); kgreeter->move(-10000, -10000); --------------Boundary-00=_L6X9UC4F5DYBI8XZZBU5--