Commit ab1e1168 authored by Jiri (George) Lebl's avatar Jiri (George) Lebl Committed by George Lebl

remove unused opcode (GDM_STOP)

Sun Jun 03 04:55:49 2001  George Lebl <jirka@5z.com>

	* daemon/gdm.h: remove unused opcode (GDM_STOP)

	* daemon/slave.c, gui/gdmlogin.c: On GDM_QUIT the login will make
	  sure to quickly quit and in the slave we no longer kill it to
	  avoid a possible race, also try to avoid other races todo with
	  killing things.  Also fclose the greeter channel to avoid a leak.

	* daemon/gdm.h, daemon/slave.c: get the size of the screen from
	  xinerama and center error dialog stuff.
parent aa932186
......@@ -38,3 +38,4 @@ xml-i18n-extract
xml-i18n-merge
xml-i18n-update
gdm-restart
gdmconfig-security
......@@ -6,7 +6,7 @@ EXTRA_DIST = \
gdm.spec \
gdm.spec.in \
gdmconfig-pam \
gdmconfig-security \
gdmconfig-security.in \
xml-i18n-extract.in \
xml-i18n-merge.in \
xml-i18n-update.in \
......@@ -14,13 +14,13 @@ EXTRA_DIST = \
sbin_SCRIPTS = gdm-restart
install-data-local:
install-data-local: gdmconfig-security
if CONSOLE_HELPER
$(INSTALL_DATA) -D gdmconfig-pam $(sysconfdir)/pam.d/gdmconfig
$(INSTALL_DATA) -D gdmconfig-security $(sysconfdir)/security/console.apps/gdmconfig
$(INSTALL_DATA) -D gdmconfig-pam @PAM_PREFIX@/pam.d/gdmconfig
$(INSTALL_DATA) -D gdmconfig-security @PAM_PREFIX@/security/console.apps/gdmconfig
$(INSTALL_DATA) -m 755 -d $(sbindir)
mv $(bindir)/gdmconfig $(sbindir)
$(LN_S) @bindir@/consolehelper $(bindir)/gdmconfig
$(LN_S) @CONSOLE_HELPER@ $(bindir)/gdmconfig
endif
DISTCLEANFILES = \
......
......@@ -6,7 +6,8 @@ If you didn't compile Gnome yourself, make sure you have the appropriate
============
If you want to install OVER RedHat or Ximian/HelixCode packages use,
following configure options:
--prefix=/usr --sysconfdir=/etc/X11 --localstatedir=/var --enable-console-helper
--prefix=/usr --sysconfdir=/etc/X11 --localstatedir=/var
--enable-console-helper --with-pam-prefix=/etc
However, there is now a spec file so you can build an rpm by just doing
rpm -ta gdm-<version>.tar.gz
......
......@@ -11,12 +11,14 @@
#undef HAVE_SHADOW
#undef HAVE_CRYPT
#undef HAVE_LIBXINERAMA
#undef HAVE_LIBXDMCP
#undef HAVE_SETENV
#undef HAVE_UNSETENV
#undef HAVE_CLEARENV
#undef EXPANDED_DATADIR
#undef EXPANDED_PIXMAPDIR
#undef EXPANDED_BINDIR
#undef EXPANDED_SBINDIR
#undef EXPANDED_GDMCONFIGDIR
#undef EXPANDED_LOCALEDIR
#undef EXPANDED_AUTHDIR
......
......@@ -13,6 +13,26 @@ AM_ACLOCAL_INCLUDE(macros)
GDK_PIXBUF_REQUIRED=0.7.0
# find the actual value for $prefix that we'll end up with
REAL_PREFIX=
if test "x$prefix" = "xNONE"; then
REAL_PREFIX=$ac_default_prefix
else
REAL_PREFIX=$prefix
fi
old_prefix=$prefix
prefix=$REAL_PREFIX
REAL_EXEC_PREFIX=
if test "x$exec_prefix" = "xNONE"; then
REAL_EXEC_PREFIX=$prefix
else
REAL_EXEC_PREFIX=$exec_prefix
fi
old_exec_prefix=$exec_prefix
exec_prefix=$REAL_EXEC_PREFIX
dnl
dnl Configure arguments
dnl
......@@ -29,10 +49,37 @@ AC_ARG_WITH(xinerama,
[ --with-xinerama=[auto/yes/no] Add Xinerama support [default=auto]],,
with_xinerama=auto)
AC_ARG_WITH(xdmcp,
[ --with-xdmcp=[auto/yes/no] Add XDMCP (remote login) support [default=auto]],,
with_xdmcp=auto)
AC_ARG_WITH(tcp-wrappers,
[ --with-tcp-wrappers=[auto/yes/no] Use TCP Wrappers [default=auto]],,
with_tcp_wrappers=auto)
dnl
dnl PAM prefix
dnl
withval=""
AC_ARG_WITH(pam-prefix,
[ --with-pam-prefix=<prefix> specify where pam files go],[
if test x$withval != x; then
AC_MSG_RESULT("PAM files will be installed in prefix ${withval}.")
fi])
if test x$withval != x; then
PAM_PREFIX_UNEXPANDED="$withval"
else
PAM_PREFIX_UNEXPANDED="$sysconfdir"
fi
PAM_PREFIX=`eval echo $PAM_PREFIX_UNEXPANDED`
AC_SUBST(PAM_PREFIX)
AC_PATH_PROG(CONSOLE_HELPER_TMP,consolehelper,no)
if test "x$CONSOLE_HELPER" = "xno" -a "x$enable_console_helper" = "xyes" ; then
AC_MSG_ERROR(Console helper requested but consolehelper binary not found)
fi
dnl
dnl Standard stuff
dnl
......@@ -191,7 +238,28 @@ fi
AC_SUBST(VRFY)
#
# Xdmcp checking
#
XDMCP_LIBS=""
if test x$with_xdmcp != xno ; then
AC_CHECK_HEADER(X11/Xdmcp.h, [
AC_CHECK_LIB(Xdmcp, XdmcpFlush, [
AC_DEFINE(HAVE_LIBXDMCP)
XDMCP_LIBS="-lXdmcp"
XDMCP_SUPPORT=yes],, $GTK_LIBS)
])
if test x$with_xdmcp = xyes -a x$XDMCP_SUPPORT = x ; then
AC_MSG_ERROR(XDMCP support requested but XDMCP libraries not found)
fi
fi
AC_SUBST(XDMCP_LIBS)
#
# X11 Xinerama extension
#
if test x$with_xinerama != xno ; then
AC_CHECK_HEADER(X11/extensions/Xinerama.h, [
AC_CHECK_LIB(Xinerama, XineramaQueryScreens, [
......@@ -231,25 +299,6 @@ AC_SUBST(GDK_PIXBUF_REQUIRED)
# Stolen mostly from GConf
#
# find the actual value for $prefix that we'll end up with
REAL_PREFIX=
if test "x$prefix" = "xNONE"; then
REAL_PREFIX=$ac_default_prefix
else
REAL_PREFIX=$prefix
fi
old_prefix=$prefix
prefix=$REAL_PREFIX
REAL_EXEC_PREFIX=
if test "x$exec_prefix" = "xNONE"; then
REAL_EXEC_PREFIX=$prefix
else
REAL_EXEC_PREFIX=$exec_prefix
fi
old_exec_prefix=$exec_prefix
exec_prefix=$REAL_EXEC_PREFIX
DATADIR_TMP="$datadir"
EXPANDED_DATADIR=`eval echo $DATADIR_TMP`
AC_SUBST(EXPANDED_DATADIR)
......@@ -265,6 +314,11 @@ EXPANDED_BINDIR=`eval echo $BINDIR_TMP`
AC_SUBST(EXPANDED_BINDIR)
AC_DEFINE_UNQUOTED(EXPANDED_BINDIR,"$EXPANDED_BINDIR")
SBINDIR_TMP="$bindir"
EXPANDED_SBINDIR=`eval echo $SBINDIR_TMP`
AC_SUBST(EXPANDED_SBINDIR)
AC_DEFINE_UNQUOTED(EXPANDED_SBINDIR,"$EXPANDED_SBINDIR")
dnl This is where the binary actually resides,
dnl not the console helper link
if test "x$enable_console_helper" = "xyes"; then
......@@ -329,6 +383,7 @@ config/gdm.conf
config/Gnome
config/gnomerc
gdm-restart
gdmconfig-security
gdm.spec
],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
......@@ -344,6 +399,15 @@ echo "CFLAGS : $CFLAGS"
echo "LDFLAGS : $LDFLAGS"
echo ""
dnl <= Prefixes =>
echo "prefix : $prefix"
echo "sysconf dir : "`eval echo $sysconfdir`
echo "bin dir : $EXPANDED_BINDIR"
echo "sbin dir : $EXPANDED_SBINDIR"
echo "PAM prefix : $PAM_PREFIX"
echo "data dir : "`eval echo $datadir`
echo ""
dnl <= TCP Wrappers support? =>
if test x"$LIBWRAP_PATH" = x ; then
echo "TCP Wrappers support : NO"
......@@ -358,6 +422,13 @@ else
echo "Xinerama support : NO"
fi
dnl <= XDMCP =>
if test x"$XDMCP_SUPPORT" = xyes ; then
echo "XDMCP (remote login) support : YES"
else
echo "XDMCP (remote login) support : NO"
fi
dnl <= Console Helper =>
if test "x$enable_console_helper" = "xyes"; then
echo "Console helper : YES"
......
......@@ -39,5 +39,5 @@ gdm_SOURCES = \
EXTRA_gdm_SOURCES = verify-pam.c verify-crypt.c verify-shadow.c
gdm_LDADD = $(GNOME_LIBDIR) $(GNOME_LIBS) $(GTK_LIBS) -lXdmcp -lXau -lX11 $(INTLLIBS)
gdm_LDADD = $(GNOME_LIBDIR) $(GNOME_LIBS) $(GTK_LIBS) $(XDMCP_LIBS) -lXau -lX11 $(INTLLIBS)
......@@ -212,6 +212,13 @@ gdm_config_parse (void)
/* sanitize some values */
#ifndef HAVE_LIBXDMCP
if (GdmXdmcp) {
gdm_info (_("gdm_config_parse: XDMCP was enabled while there is no XDMCP support, turning it off"));
GdmXdmcp = FALSE;
}
#endif
if ( ! GdmAutomaticLoginEnable ||
gdm_string_empty (GdmAutomaticLogin)) {
g_free (GdmAutomaticLogin);
......@@ -238,9 +245,9 @@ gdm_config_parse (void)
GdmTimedLogin = NULL;
}
if (GdmTimedLoginDelay < 10) {
gdm_info (_("gdm_config_parse: TimedLoginDelay less then 10, so I will just use 10."));
GdmTimedLoginDelay = 10;
if (GdmTimedLoginDelay < 5) {
gdm_info (_("gdm_config_parse: TimedLoginDelay less then 5, so I will just use 5."));
GdmTimedLoginDelay = 5;
}
/* Prerequisites */
......
......@@ -56,6 +56,8 @@
#include <config.h>
#include <gnome.h>
#ifdef HAVE_LIBXDMCP
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
......@@ -81,19 +83,22 @@
#endif
#include "gdm.h"
#include "xdmcp.h"
#include "display.h"
#include "misc.h"
#include "auth.h"
#endif /* HAVE_LIBXDMCP */
#include "misc.h"
#include "xdmcp.h"
static const gchar RCSid[]="$Id$";
gint pending = 0;
#ifdef HAVE_LIBXDMCP
/* TCP Wrapper syslog control */
gint allow_severity = LOG_INFO;
gint deny_severity = LOG_WARNING;
gint pending = 0;
static gint xdmcpfd = -1;
static gint choosefd = -1;
static gint globsessid;
......@@ -167,7 +172,7 @@ extern GdmIndirectDisplay *gdm_choose_indirect_alloc (struct sockaddr_in *clnt_s
extern GdmIndirectDisplay *gdm_choose_indirect_lookup (struct sockaddr_in *clnt_sa);
int
gboolean
gdm_xdmcp_init (void)
{
struct sockaddr_in serv_sa;
......@@ -1093,5 +1098,29 @@ gdm_xdmcp_displays_check (void)
}
}
#else /* HAVE_LIBXDMCP */
/* Here come some empty stubs for no XDMCP support */
int
gdm_xdmcp_init (void)
{
gdm_error (_("gdm_xdmcp_init: No XDMCP support"));
return FALSE;
}
void
gdm_xdmcp_run (void)
{
gdm_error (_("gdm_xdmcp_run: No XDMCP support"));
}
void
gdm_xdmcp_close (void)
{
gdm_error (_("gdm_xdmcp_close: No XDMCP support"));
}
#endif /* HAVE_LIBXDMCP */
/* EOF */
......@@ -19,19 +19,24 @@
#ifndef GDM_XDMCP_H
#define GDM_XDMCP_H
#ifdef HAVE_LIBXDMCP
#include <glib.h>
#include <X11/Xlib.h>
#include <X11/Xmd.h>
#include <X11/Xauth.h>
#include <X11/Xdmcp.h>
#include "gdm.h"
#endif /* HAVE_LIBXDMCP */
int gdm_xdmcp_init (void);
void gdm_xdmcp_run (void);
void gdm_xdmcp_close (void);
/* Note that these are defined as empty stubs if there is no XDMCP support */
gboolean gdm_xdmcp_init (void);
void gdm_xdmcp_run (void);
void gdm_xdmcp_close (void);
#ifdef HAVE_LIBXDMCP
/* Fix broken X includes */
int XdmcpReallocARRAY8 (ARRAY8Ptr array, int length);
#endif /* HAVE_LIBXDMCP */
#endif /* GDM_XDMCP_H */
......
......@@ -29,7 +29,7 @@ several different X sessions on your local machine at the same time.
CFLAGS="-g $RPM_OPT_FLAGS" ./configure --localstatedir=%{localstatedir} \
--prefix=%{_prefix} --sysconfdir=%{sysconfdir}/X11 \
--bindir=%{_bindir} --datadir=%{_datadir} --sbindir=%{_sbindir} \
--enable-console-helper
--enable-console-helper --with-pam-prefix=/etc
make
......@@ -59,10 +59,11 @@ ln -sf ../../xdm/Xsetup_0 $RPM_BUILD_ROOT%{sysconfdir}/X11/gdm/Init/Default
ln -sf ../../xdm/GiveConsole $RPM_BUILD_ROOT%{sysconfdir}/X11/gdm/PreSession/Default
ln -sf ../../xdm/TakeConsole $RPM_BUILD_ROOT%{sysconfdir}/X11/gdm/PostSession/Default
# done right nowdays
# move pam.d stuff to right place
mv $RPM_BUILD_ROOT%{sysconfdir}/X11/pam.d $RPM_BUILD_ROOT%{sysconfdir}
# mv $RPM_BUILD_ROOT%{sysconfdir}/X11/pam.d $RPM_BUILD_ROOT%{sysconfdir}
# move security stuff to right place
mv $RPM_BUILD_ROOT%{sysconfdir}/X11/security $RPM_BUILD_ROOT%{sysconfdir}
# mv $RPM_BUILD_ROOT%{sysconfdir}/X11/security $RPM_BUILD_ROOT%{sysconfdir}
%clean
......
USER=root
PROGRAM=/usr/sbin/gdmconfig
PROGRAM=@EXPANDED_GDMCONFIGDIR@/gdmconfig
SESSION=false
FALLBACK=true
......@@ -157,6 +157,7 @@ gchar *s = N_("Maximum user file length: ");
gchar *s = N_("Maximum session file length: ");
gchar *s = N_("The session file is read in a way where a higher limit is still ok. That is it is never stored in memory.");
gchar *s = N_("Security");
gchar *s = N_("No XDMCP support in the binary. To enable XDMCP support you must recompile GDM with the XDMCP libraries.");
gchar *s = N_("Enable XDMCP, a protocol to allow others to log in remotely");
gchar *s = N_("Enable XDMCP");
gchar *s = N_("Connection Settings");
......
......@@ -328,62 +328,62 @@ connect_file_checks (void)
int
main (int argc, char *argv[])
{
if (g_getenv ("DOING_GDM_DEVELOPMENT") != NULL)
DOING_GDM_DEVELOPMENT = TRUE;
bindtextdomain (PACKAGE, GNOMELOCALEDIR);
textdomain (PACKAGE);
gnome_init ("gdmconfig", VERSION, argc, argv);
glade_gnome_init();
/* If we are running under gdm parse the GDM gtkRC */
if (g_getenv ("RUNNING_UNDER_GDM") != NULL) {
char *gtkrc;
gnome_config_push_prefix ("=" GDM_CONFIG_FILE "=/");
gtkrc = gnome_config_get_string (GDM_KEY_GTKRC);
gnome_config_pop_prefix ();
if ( ! gdm_string_empty (gtkrc))
gtk_rc_parse (gtkrc);
g_free (gtkrc);
}
if (g_getenv ("DOING_GDM_DEVELOPMENT") != NULL)
DOING_GDM_DEVELOPMENT = TRUE;
bindtextdomain (PACKAGE, GNOMELOCALEDIR);
textdomain (PACKAGE);
gnome_init ("gdmconfig", VERSION, argc, argv);
glade_gnome_init();
/* If we are running under gdm parse the GDM gtkRC */
if (g_getenv ("RUNNING_UNDER_GDM") != NULL) {
char *gtkrc;
gnome_config_push_prefix ("=" GDM_CONFIG_FILE "=/");
gtkrc = gnome_config_get_string (GDM_KEY_GTKRC);
gnome_config_pop_prefix ();
if ( ! gdm_string_empty (gtkrc))
gtk_rc_parse (gtkrc);
g_free (gtkrc);
}
/* Make sure the user is root. If not, they shouldn't be messing with
* GDM's configuration.
*/
/* Make sure the user is root. If not, they shouldn't be messing with
* GDM's configuration.
*/
if ( ! DOING_GDM_DEVELOPMENT) {
if (geteuid() != 0)
{
GtkWidget *fatal_error =
gnome_error_dialog(_("You must be the superuser (root) to configure GDM.\n"));
gnome_dialog_run_and_close(GNOME_DIALOG(fatal_error));
exit(EXIT_FAILURE);
}
}
if ( ! DOING_GDM_DEVELOPMENT) {
if (geteuid() != 0)
{
GtkWidget *fatal_error =
gnome_error_dialog(_("You must be the superuser (root) to configure GDM.\n"));
gnome_dialog_run_and_close(GNOME_DIALOG(fatal_error));
exit(EXIT_FAILURE);
}
}
/* Look for the glade file in $(datadir)/gdm or, failing that,
* look in the current directory.
/* Look for the glade file in $(datadir)/gdm or, failing that,
* look in the current directory.
* Except when doing development, we want the app to use the glade file
* in the same directory, so we can actually make changes easily.
*/
if ( ! DOING_GDM_DEVELOPMENT) {
if (g_file_exists (GDM_GLADE_DIR "/gdmconfig.glade")) {
glade_filename = g_strdup (GDM_GLADE_DIR
"/gdmconfig.glade");
} else {
glade_filename = gnome_datadir_file ("gdm/gdmconfig.glade");
if (glade_filename == NULL) {
glade_filename = g_strdup ("gdmconfig.glade");
}
}
} else {
glade_filename = g_strdup ("gdmconfig.glade");
}
/* Build the user interface */
GUI = glade_xml_new(glade_filename, "gdmconfigurator");
*/
if ( ! DOING_GDM_DEVELOPMENT) {
if (g_file_exists (GDM_GLADE_DIR "/gdmconfig.glade")) {
glade_filename = g_strdup (GDM_GLADE_DIR
"/gdmconfig.glade");
} else {
glade_filename = gnome_datadir_file ("gdm/gdmconfig.glade");
if (glade_filename == NULL) {
glade_filename = g_strdup ("gdmconfig.glade");
}
}
} else {
glade_filename = g_strdup ("gdmconfig.glade");
}
/* Build the user interface */
GUI = glade_xml_new(glade_filename, "gdmconfigurator");
basic_notebook = glade_xml_new(glade_filename, "basic_notebook");
system_notebook = glade_xml_new(glade_filename, "system_notebook");
expert_notebook = glade_xml_new(glade_filename, "expert_notebook");
......@@ -392,105 +392,111 @@ main (int argc, char *argv[])
basic_notebook == NULL ||
system_notebook == NULL ||
expert_notebook == NULL) {
GtkWidget *fatal_error =
gnome_error_dialog(_("Cannot find the glade interface description\n"
"file, cannot run gdmconfig.\n"
"Please check your installation and the\n"
"location of the gdmconfig.glade file."));
gnome_dialog_run_and_close(GNOME_DIALOG(fatal_error));
exit(EXIT_FAILURE);
GtkWidget *fatal_error =
gnome_error_dialog(_("Cannot find the glade interface description\n"
"file, cannot run gdmconfig.\n"
"Please check your installation and the\n"
"location of the gdmconfig.glade file."));
gnome_dialog_run_and_close(GNOME_DIALOG(fatal_error));
exit(EXIT_FAILURE);
}
invisible_notebook = gtk_notebook_new();
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (invisible_notebook), FALSE);
gtk_notebook_set_show_border (GTK_NOTEBOOK (invisible_notebook), FALSE);
gtk_notebook_set_tab_border (GTK_NOTEBOOK (invisible_notebook), 0);
gtk_notebook_append_page (GTK_NOTEBOOK (invisible_notebook),
get_widget ("basic_notebook"),
NULL);
gtk_notebook_append_page (GTK_NOTEBOOK (invisible_notebook),
get_widget ("expert_notebook"),
NULL);
gtk_notebook_append_page (GTK_NOTEBOOK (invisible_notebook),
get_widget ("system_notebook"),
NULL);
gtk_container_add (GTK_CONTAINER (get_widget ("main_container")),
invisible_notebook);
gtk_widget_show (invisible_notebook);
/* Sanity checking */
GDMconfigurator = get_widget("gdmconfigurator");
if (GDMconfigurator == NULL) {
GtkWidget *fatal_error =
gnome_error_dialog(_("Cannot find the gdmconfigurator widget in\n"
"the glade interface description file\n"
"Please check your installation."));
gnome_dialog_run_and_close(GNOME_DIALOG(fatal_error));
exit(EXIT_FAILURE);
invisible_notebook = gtk_notebook_new();
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (invisible_notebook), FALSE);
gtk_notebook_set_show_border (GTK_NOTEBOOK (invisible_notebook), FALSE);
gtk_notebook_set_tab_border (GTK_NOTEBOOK (invisible_notebook), 0);
gtk_notebook_append_page (GTK_NOTEBOOK (invisible_notebook),
get_widget ("basic_notebook"),
NULL);
gtk_notebook_append_page (GTK_NOTEBOOK (invisible_notebook),
get_widget ("expert_notebook"),
NULL);
gtk_notebook_append_page (GTK_NOTEBOOK (invisible_notebook),
get_widget ("system_notebook"),
NULL);
gtk_container_add (GTK_CONTAINER (get_widget ("main_container")),
invisible_notebook);
gtk_widget_show (invisible_notebook);
/* Sanity checking */
GDMconfigurator = get_widget("gdmconfigurator");
if (GDMconfigurator == NULL) {
GtkWidget *fatal_error =
gnome_error_dialog(_("Cannot find the gdmconfigurator widget in\n"
"the glade interface description file\n"
"Please check your installation."));
gnome_dialog_run_and_close(GNOME_DIALOG(fatal_error));
exit(EXIT_FAILURE);
}
/* connect the checker signals before parsing */
connect_binary_checks ();
connect_dir_checks ();
connect_dirname_checks ();
connect_file_checks ();
/* connect the checker signals before parsing */
connect_binary_checks ();
connect_dir_checks ();
connect_dirname_checks ();
connect_file_checks ();
/* We set most of the user interface NOT wanting signals to get triggered as
* we do it. Then we hook up the signals, and THEN set a few remaining elements.
* This ensures sensitivity of some widgets is correct, and that the font picker
* gets set properly.
*/
gdm_config_parse_most(FALSE);
glade_xml_signal_autoconnect(GUI);
/* We set most of the user interface NOT wanting signals to get triggered as
* we do it. Then we hook up the signals, and THEN set a few remaining elements.
* This ensures sensitivity of some widgets is correct, and that the font picker
* gets set properly.
*/
gdm_config_parse_most(FALSE);
glade_xml_signal_autoconnect(GUI);
/* we hack up our icon entry */
hack_icon_entry (GNOME_ICON_ENTRY (get_widget ("gdm_icon")));
{
GtkWidget *entry = gnome_icon_entry_gtk_entry (GNOME_ICON_ENTRY (get_widget ("gdm_icon")));
gtk_signal_connect (GTK_OBJECT (entry), "changed",
GTK_SIGNAL_FUNC (can_apply_now),
NULL);
}
/* we hack up our icon entry */
hack_icon_entry (GNOME_ICON_ENTRY (get_widget ("gdm_icon")));
{
GtkWidget *entry = gnome_icon_entry_gtk_entry (GNOME_ICON_ENTRY (get_widget ("gdm_icon")));
gtk_signal_connect (GTK_OBJECT (entry), "changed",
GTK_SIGNAL_FUNC (can_apply_now),
NULL);
}
glade_xml_signal_autoconnect(basic_notebook);
glade_xml_signal_autoconnect(expert_notebook);
glade_xml_signal_autoconnect(system_notebook);
gdm_config_parse_remaining(FALSE);
gdm_config_parse_remaining(FALSE);
#ifndef HAVE_LIBXDMCP
gtk_widget_show (get_widget ("no_xdmcp_label"));
gtk_widget_set_sensitive (get_widget ("enable_xdmcp"), FALSE);
gtk_widget_set_sensitive (get_widget ("xdmcp_frame"), FALSE);
#endif /* ! HAVE_LIBXDMCP */
gtk_clist_column_titles_passive (GTK_CLIST (get_widget ("user_level_clist")));
gtk_clist_column_titles_passive (GTK_CLIST (get_widget ("server_clist")));
gtk_clist_column_titles_passive (GTK_CLIST (get_widget ("sessions_clist")));
gtk_clist_column_titles_passive (GTK_CLIST (get_widget ("server_clist")));
gtk_clist_column_titles_passive (GTK_CLIST (get_widget ("sessions_clist")));
gtk_clist_append(GTK_CLIST(get_widget("user_level_clist")),
basic_row);
basic_row);
gtk_clist_append(GTK_CLIST(get_widget("user_level_clist")),
expert_row);
expert_row);
gtk_clist_append(GTK_CLIST(get_widget("user_level_clist")),
system_row);
system_row);
gtk_clist_select_row(GTK_CLIST(get_widget("user_level_clist")), 0,0);
gtk_window_set_title(GTK_WINDOW(GDMconfigurator),
_("GNOME Display Manager Configurator"));
gtk_widget_set_sensitive(GTK_WIDGET(get_widget("apply_button")), FALSE);
gtk_window_set_title(GTK_WINDOW(GDMconfigurator),
_("GNOME Display Manager Configurator"));
gtk_widget_set_sensitive(GTK_WIDGET(get_widget("apply_button")), FALSE);
gtk_widget_show (GDMconfigurator);
gtk_widget_show (GDMconfigurator);
/* If we are running under gdm and not in a normal session we want to
* treat the right mouse button like the first */
if (g_getenv ("RUNNING_UNDER_GDM") != NULL) {
guint sid = gtk_signal_lookup ("event",
GTK_TYPE_WIDGET);
gtk_signal_add_emission_hook (sid,
gdm_event,
NULL);
}
/* If we are running under gdm and not in a normal session we want to
* treat the right mouse button like the first */
if (g_getenv ("RUNNING_UNDER_GDM") != NULL) {
guint sid = gtk_signal_lookup ("event",
GTK_TYPE_WIDGET);
gtk_signal_add_emission_hook (sid,
gdm_event,
NULL);
}
gtk_main ();
return 0;
gtk_main ();
return 0;
}
void user_level_row_selected(GtkCList *clist, gint row,
......
......@@ -2315,8 +2315,8 @@ tr_TR
<update_policy>GTK_UPDATE_ALWAYS</update_policy>
<snap>False</snap>
<wrap>False</wrap>
<value>0</value>
<lower>0</lower>
<value>5</value>
<lower>5</lower>
<upper>32000</upper>
<step>1</step>
<page>10</page>
......@@ -3260,6 +3260,24 @@ tr_TR
<homogeneous>False</homogeneous>
<spacing>3</spacing>
<widget>
<class>GtkLabel</class>
<name>no_xdmcp_label</name>
<visible>False</visible>
<label>No XDMCP support in the binary. To enable XDMCP support you must recompile GDM with the XDMCP libraries.</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>True</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>5</xpad>
<ypad>5</ypad>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
</widget>
<widget>
<class>GtkCheckButton</class>
<name>enable_xdmcp</name>
......
......@@ -781,14 +781,14 @@ gdm_login_parse_config (void)
GdmTimedLogin = gnome_config_get_string (GDM_KEY_TIMED_LOGIN);
GdmTimedLoginDelay =
gnome_config_get_int (GDM_KEY_TIMED_LOGIN_DELAY);
if (GdmTimedLoginDelay < 10) {
if (GdmTimedLoginDelay < 5) {
syslog (LOG_WARNING,
_("TimedLoginDelay was less then 10. I'll just use 10."));
GdmTimedLoginDelay = 10;
_("TimedLoginDelay was less then 5. I'll just use 5."));
GdmTimedLoginDelay = 5;
}
} else {
GdmTimedLogin = NULL;
GdmTimedLoginDelay = 10;
GdmTimedLoginDelay = 5;
}
gnome_config_pop_prefix();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please