[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    [PATCH] kdm on the right head
From:       George Staikos <staikos () kde ! org>
Date:       2002-02-28 18:57:16
[Download RAW message or body]

Here is a patch for kdm to make it display on the proper head.  Before the 
default value was 1 which is rather random since the screens range from 
[0..n-1] and they are in no particular order relative to the physical 
arrangement.  

This patch makes a new default, -1, and this makes kdm go to the screen with 
(0,0).  It also goes to this screen if the parameter is out of range.

Ok to commit?
["kdmdiff" (text/x-diff)]

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);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic