gdm r6662 - in trunk: . gui/simple-greeter
- From: halfline svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r6662 - in trunk: . gui/simple-greeter
- Date: Wed, 14 Jan 2009 22:59:37 +0000 (UTC)
Author: halfline
Date: Wed Jan 14 22:59:37 2009
New Revision: 6662
URL: http://svn.gnome.org/viewvc/gdm?rev=6662&view=rev
Log:
Compute size constraint based on current monitor
Before we were computing it based on the current
screen (which may be multiple monitors)
Modified:
trunk/ChangeLog
trunk/gui/simple-greeter/gdm-greeter-login-window.c
Modified: trunk/gui/simple-greeter/gdm-greeter-login-window.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-greeter-login-window.c (original)
+++ trunk/gui/simple-greeter/gdm-greeter-login-window.c Wed Jan 14 22:59:37 2009
@@ -1652,16 +1652,22 @@
gdm_greeter_login_window_size_request (GtkWidget *widget,
GtkRequisition *requisition)
{
- int screen_w;
- int screen_h;
- GtkRequisition child_requisition;
+ int monitor;
+ GdkScreen *screen;
+ GtkRequisition child_requisition;
+ GdkRectangle area;
if (GTK_WIDGET_CLASS (gdm_greeter_login_window_parent_class)->size_request) {
GTK_WIDGET_CLASS (gdm_greeter_login_window_parent_class)->size_request (widget, requisition);
}
- screen_w = gdk_screen_get_width (gtk_widget_get_screen (widget));
- screen_h = gdk_screen_get_height (gtk_widget_get_screen (widget));
+ if (!GTK_WIDGET_REALIZED (widget)) {
+ return;
+ }
+
+ screen = gtk_widget_get_screen (widget);
+ monitor = gdk_screen_get_monitor_at_window (screen, widget->window);
+ gdk_screen_get_monitor_geometry (screen, monitor, &area);
gtk_widget_get_child_requisition (GTK_BIN (widget)->child, &child_requisition);
*requisition = child_requisition;
@@ -1672,8 +1678,8 @@
/* Make width be at least 33% screen width
* and height be at most 80% of screen height
*/
- requisition->width = MAX (requisition->width, .33 * screen_w);
- requisition->height = MIN (requisition->height, .80 * screen_h);
+ requisition->width = MAX (requisition->width, .33 * area.width);
+ requisition->height = MIN (requisition->height, .80 * area.height);
/* Don't ever shrink window width
*/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]