diff options
author | Brian Cameron <Brian.Cameron@Sun.Com> | 2005-03-11 00:15:06 +0000 |
---|---|---|
committer | Brian Cameron <bcameron@src.gnome.org> | 2005-03-11 00:15:06 +0000 |
commit | 7be01d72274e1363569fdbfb3c6b33bda6412c21 (patch) | |
tree | 3fcfaeff0ae44bae9b85153f821e7a9e31ffe40d | |
parent | 5a6d64f455c79660dfdd2265cb8568bcef5e2745 (diff) | |
download | gdm-7be01d72274e1363569fdbfb3c6b33bda6412c21.tar.gz |
Changed default face directory to EXPANDED_DATADIR/pixmaps/faces since
Thu Mar 10 17:50:00 2005 Brian Cameron <Brian.Cameron@Sun.Com>
* daemon/gdm.h, config/gdm.conf.in: Changed default face
directory to EXPANDED_DATADIR/pixmaps/faces since putting
the faces subdirectory in pixmaps simply makes more
sense.
* Makefile.am, acconfig.h, configure.in, gdmsetup-security.in,
daemon/Makefile.am, daemon/gdm.h, daemon/gdm.in, daemon/slave.c,
gui/Makefile.am, gui/gdmsetup.c, gui/greeter/Makefile.am,
gui/greeter/greeter.c: Changed the way GDM files are installed.
Now all programs intended to be run by root are in
EXPANDED_SBINDIR (gdm/gdm-binary/gdmsetup), all programs
that are not intended to be run by end-users are in
EXPANDED_LIBEXEC (gdmchooser/gdmgreeter/gdmlogin). Removed
gdmconfig wrapper script and gdm Xnest symlink since they
only serve to clutter the filesystem. I announced this
change in the 2.6.0.8 release notes and will be bumping
the next release to 2.6 because of this change and the
change to the default face directory.
* configure.in, gui/faces/*: Add default faces. Images
provided by Jaap A. Haitsma. Refer to bugzilla bug
#149838.
* gui/gdmphotosetup.c: Now browser will look in the system
face directory first, in EXPANDED_DATADIR/pixmaps if the
default face directory does not exist.
* config/Makefile.am: Changed name of Default to Init since
that follows the naming standard used by the other scripts.
Fixes bug 118278.
* docs/C/gdm.xml: Updated docs with information about
the changes in today's commits.
-rw-r--r-- | ChangeLog | 32 | ||||
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | acconfig.h | 1 | ||||
-rw-r--r-- | config/Default.in | 83 | ||||
-rw-r--r-- | config/Makefile.am | 8 | ||||
-rw-r--r-- | config/gdm.conf.in | 2 | ||||
-rw-r--r-- | configure.in | 14 | ||||
-rw-r--r-- | daemon/Makefile.am | 4 | ||||
-rw-r--r-- | daemon/gdm.h | 13 | ||||
-rw-r--r-- | daemon/gdm.in | 4 | ||||
-rw-r--r-- | daemon/slave.c | 12 | ||||
-rw-r--r-- | docs/C/gdm.xml | 418 | ||||
-rwxr-xr-x | gdmconfig | 3 | ||||
-rw-r--r-- | gdmsetup-security.in | 2 | ||||
-rw-r--r-- | gui/Makefile.am | 10 | ||||
-rw-r--r-- | gui/faces/Makefile.am | 36 | ||||
-rw-r--r-- | gui/faces/bonfire.jpg | bin | 0 -> 6071 bytes | |||
-rw-r--r-- | gui/faces/cdrom.jpg | bin | 0 -> 5359 bytes | |||
-rw-r--r-- | gui/faces/clock.jpg | bin | 0 -> 6301 bytes | |||
-rw-r--r-- | gui/faces/daisy.jpg | bin | 0 -> 6722 bytes | |||
-rw-r--r-- | gui/faces/dice.jpg | bin | 0 -> 4886 bytes | |||
-rw-r--r-- | gui/faces/hollyleaf.jpg | bin | 0 -> 5152 bytes | |||
-rw-r--r-- | gui/faces/lamas.jpg | bin | 0 -> 6814 bytes | |||
-rw-r--r-- | gui/faces/seal.jpg | bin | 0 -> 5778 bytes | |||
-rw-r--r-- | gui/faces/sky.jpg | bin | 0 -> 4920 bytes | |||
-rw-r--r-- | gui/faces/skyline.jpg | bin | 0 -> 1804 bytes | |||
-rw-r--r-- | gui/gdmphotosetup.c | 25 | ||||
-rw-r--r-- | gui/gdmsetup.c | 8 | ||||
-rw-r--r-- | gui/greeter/Makefile.am | 2 | ||||
-rw-r--r-- | gui/greeter/greeter.c | 2 |
30 files changed, 344 insertions, 338 deletions
@@ -1,3 +1,35 @@ +Thu Mar 10 17:50:00 2005 Brian Cameron <Brian.Cameron@Sun.Com> + + * daemon/gdm.h, config/gdm.conf.in: Changed default face + directory to EXPANDED_DATADIR/pixmaps/faces since putting + the faces subdirectory in pixmaps simply makes more + sense. + * Makefile.am, acconfig.h, configure.in, gdmsetup-security.in, + daemon/Makefile.am, daemon/gdm.h, daemon/gdm.in, daemon/slave.c, + gui/Makefile.am, gui/gdmsetup.c, gui/greeter/Makefile.am, + gui/greeter/greeter.c: Changed the way GDM files are installed. + Now all programs intended to be run by root are in + EXPANDED_SBINDIR (gdm/gdm-binary/gdmsetup), all programs + that are not intended to be run by end-users are in + EXPANDED_LIBEXEC (gdmchooser/gdmgreeter/gdmlogin). Removed + gdmconfig wrapper script and gdm Xnest symlink since they + only serve to clutter the filesystem. I announced this + change in the 2.6.0.8 release notes and will be bumping + the next release to 2.6 because of this change and the + change to the default face directory. + + * configure.in, gui/faces/*: Add default faces. Images + provided by Jaap A. Haitsma. Refer to bugzilla bug + #149838. + * gui/gdmphotosetup.c: Now browser will look in the system + face directory first, in EXPANDED_DATADIR/pixmaps if the + default face directory does not exist. + * config/Makefile.am: Changed name of Default to Init since + that follows the naming standard used by the other scripts. + Fixes bug 118278. + * docs/C/gdm.xml: Updated docs with information about + the changes in today's commits. + Thu Mar 10 14:35:00 2005 Brian Cameron <Brian.Cameron@Sun.Com> * daemon/gdm.h, daemon/gdm.c: Added GET_CONFIG gdmflexiserver diff --git a/Makefile.am b/Makefile.am index e5aedc7c..5b54004a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,11 +24,10 @@ EXTRA_DIST = \ gdm-stop.in \ gdm-restart.in \ gdm-safe-restart.in \ - gdmconfig \ xmldocs.make \ omf.make -sbin_SCRIPTS = gdm-stop gdm-restart gdm-safe-restart gdmconfig +sbin_SCRIPTS = gdm-stop gdm-restart gdm-safe-restart install-data-local: gdmsetup-security if CONSOLE_HELPER @@ -40,7 +40,6 @@ #undef EXPANDED_AUTHDIR #undef EXPANDED_DATADIR #undef EXPANDED_BINDIR -#undef EXPANDED_GDMCONFIGDIR #undef EXPANDED_LIBEXECDIR #undef EXPANDED_LIBDIR #undef EXPANDED_LOCALEDIR diff --git a/config/Default.in b/config/Default.in deleted file mode 100644 index a1c10294..00000000 --- a/config/Default.in +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -# Stolen from the debian kdm setup, aren't I sneaky -# Plus a lot of fun stuff added -# -George - -PATH=@X_PATH@:$PATH -OLD_IFS=$IFS - -gdmwhich () { - COMMAND="$1" - OUTPUT= - IFS=: - for dir in $PATH - do - if test -x "$dir/$COMMAND" ; then - if test "x$OUTPUT" = "x" ; then - OUTPUT="$dir/$COMMAND" - fi - fi - done - IFS=$OLD_IFS - echo "$OUTPUT" -} - - -sysmodmap=/etc/X11/Xmodmap - -XMODMAP=`gdmwhich xmodmap` -if [ x$XMODMAP != x ] ; then - if [ x$GDM_PARENT_DISPLAY = x ]; then - if [ -f $sysmodmap ]; then - $XMODMAP $sysmodmap - fi - else - ( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP - - fi - - # - # Switch Sun's Alt and Meta mod mappings - # - - UNAME=`gdmwhich uname` - PROCESSOR=`$UNAME -p` - if [ x$PROCESSOR = xsparc ]; then - if $XMODMAP | /usr/bin/grep mod4 | /usr/bin/grep Alt > /dev/null 2>/dev/null - then - $XMODMAP -e "clear Mod1" \ - -e "clear Mod4" \ - -e "add Mod1 = Alt_L" \ - -e "add Mod1 = Alt_R" \ - -e "add Mod4 = Meta_L" \ - -e "add Mod4 = Meta_R" - fi - fi -fi - -SETXKBMAP=`gdmwhich setxkbmap` -if [ x$SETXKBMAP != x ] ; then - # FIXME: is this all right? Is this completely on crack? - # What this does is move the xkb configuration from the GDM_PARENT_DISPLAY - # FIXME: This should be done in code. Or there must be an easier way ... - if [ -n "$GDM_PARENT_DISPLAY" ]; then - XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )` - if [ -n "$XKBSETUP" ]; then - XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'` - XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'` - XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'` - XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'` - XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'` - if [ -n "$XKBKEYMAP" ]; then - $SETXKBMAP -keymap "$XKBKEYMAP" - elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then - $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY" - elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then - $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" - elif [ -n "$XKBSYMBOLS" ]; then - $SETXKBMAP -symbols "$XKBSYMBOLS" - fi - fi - fi -fi - -exit 0 diff --git a/config/Makefile.am b/config/Makefile.am index cf4af624..ea348518 100644 --- a/config/Makefile.am +++ b/config/Makefile.am @@ -26,7 +26,7 @@ EXTRA_DIST = \ gdm \ gdm-autologin \ locale.alias \ - Default.in \ + Init.in \ PostSession.in \ PreSession.in \ PostLogin \ @@ -59,7 +59,7 @@ uninstall-hook: $(DESTDIR)$(predir)/Default \ $(DESTDIR)$(postdir)/Default -install-data-hook: gdm.conf Xsession gnome.desktop default.desktop CDE.desktop Default PostSession PreSession +install-data-hook: gdm.conf Xsession gnome.desktop default.desktop CDE.desktop Init PostSession PreSession if test '!' -d $(DESTDIR)$(confdir); then \ $(mkinstalldirs) $(DESTDIR)$(confdir); \ chmod 755 $(DESTDIR)$(confdir); \ @@ -126,9 +126,9 @@ install-data-hook: gdm.conf Xsession gnome.desktop default.desktop CDE.desktop D chmod 755 $(DESTDIR)$(initdir); \ fi -if test -f $(DESTDIR)$(initdir)/Default; then \ - cp -f $(DESTDIR)$(initdir)/Default $(DESTDIR)$(initdir)/Default.orig; \ + cp -f $(DESTDIR)$(initdir)/Init $(DESTDIR)$(initdir)/Default.orig; \ fi - $(INSTALL_SCRIPT) Default $(DESTDIR)$(initdir)/Default + $(INSTALL_SCRIPT) Init $(DESTDIR)$(initdir)/Default if test '!' -d $(DESTDIR)$(postlogindir); then \ $(mkinstalldirs) $(DESTDIR)$(postlogindir); \ diff --git a/config/gdm.conf.in b/config/gdm.conf.in index c8cb2aed..2062f175 100644 --- a/config/gdm.conf.in +++ b/config/gdm.conf.in @@ -273,7 +273,7 @@ Browser=false # As an alternative to the above this is the minimum uid to show #MinimalUID=100 # If user or user.png exists in this dir it will be used as his picture -#GlobalFaceDir=@EXPANDED_DATADIR@/faces/ +#GlobalFaceDir=@EXPANDED_DATADIR@/pixmaps/faces/ # File which contains the locale we show to the user. Likely you want to use # the one shipped with gdm and edit it. It is not a standard locale.alias file, # although gdm will be able to read a standard locale.alias file as well. diff --git a/configure.in b/configure.in index 38e3dd1a..450d06e5 100644 --- a/configure.in +++ b/configure.in @@ -650,17 +650,6 @@ EXPANDED_LIBDIR=`eval echo $LIBDIR_TMP` AC_SUBST(EXPANDED_LIBDIR) AC_DEFINE_UNQUOTED(EXPANDED_LIBDIR,"$EXPANDED_LIBDIR") -dnl This is where the binary actually resides, -dnl not the console helper link -if test "x$enable_console_helper" = "xyes"; then - GDMCONFIGDIR_TMP="$sbindir" -else - GDMCONFIGDIR_TMP="$bindir" -fi -EXPANDED_GDMCONFIGDIR=`eval echo $GDMCONFIGDIR_TMP` -AC_SUBST(EXPANDED_GDMCONFIGDIR) -AC_DEFINE_UNQUOTED(EXPANDED_GDMCONFIGDIR,"$EXPANDED_GDMCONFIGDIR") - LOCALEDIR_TMP="$sysconfdir/gdm" EXPANDED_LOCALEDIR=`eval echo $LOCALEDIR_TMP` AC_SUBST(EXPANDED_LOCALEDIR) @@ -869,6 +858,7 @@ AC_OUTPUT([ Makefile daemon/Makefile gui/Makefile +gui/faces/Makefile gui/greeter/Makefile gui/greeter/themes/Makefile gui/greeter/themes/circles/Makefile @@ -899,7 +889,7 @@ docs/zh_HK/Makefile docs/zh_TW/Makefile config/gdm.conf config/Xsession -config/Default +config/Init config/PreSession config/PostSession daemon/gdm diff --git a/daemon/Makefile.am b/daemon/Makefile.am index 9f8742d5..5e02c6d2 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -22,7 +22,7 @@ INCLUDES = \ # -DGNOME_DISABLE_DEPRECATED \ # -bin_PROGRAMS = gdm-binary +sbin_PROGRAMS = gdm-binary gdm_binary_SOURCES = \ gdm.c \ @@ -76,6 +76,6 @@ gdm_binary_LDADD = \ -L$(top_builddir)/vicious-extensions \ -lvicious -bin_SCRIPTS = gdm +sbin_SCRIPTS = gdm EXTRA_DIST = gdm.in diff --git a/daemon/gdm.h b/daemon/gdm.h index 58d51862..186f2c42 100644 --- a/daemon/gdm.h +++ b/daemon/gdm.h @@ -121,15 +121,15 @@ enum { #define PIPE_SIZE 4096 /* Configuration constants */ -#define GDM_KEY_CHOOSER "daemon/Chooser=" EXPANDED_BINDIR "/gdmchooser" +#define GDM_KEY_CHOOSER "daemon/Chooser=" EXPANDED_LIBEXECDIR "/gdmchooser" /* This defaults to true for backward compatibility, * it will not actually do automatic login since the AutomaticLogin defaults * to nothing */ #define GDM_KEY_AUTOMATICLOGIN_ENABLE "daemon/AutomaticLoginEnable=true" #define GDM_KEY_AUTOMATICLOGIN "daemon/AutomaticLogin=" #define GDM_KEY_ALWAYSRESTARTSERVER "daemon/AlwaysRestartServer=false" -#define GDM_KEY_GREETER "daemon/Greeter=" EXPANDED_BINDIR "/gdmlogin" -#define GDM_KEY_REMOTEGREETER "daemon/RemoteGreeter=" EXPANDED_BINDIR "/gdmlogin" +#define GDM_KEY_GREETER "daemon/Greeter=" EXPANDED_LIBEXECDIR "/gdmlogin" +#define GDM_KEY_REMOTEGREETER "daemon/RemoteGreeter=" EXPANDED_LIBEXECDIR "/gdmlogin" #define GDM_KEY_ADD_GTK_MODULES "daemon/AddGtkModules=false" #define GDM_KEY_GTK_MODULES_LIST "daemon/GtkModulesList=" #define GDM_KEY_GROUP "daemon/Group=gdm" @@ -227,12 +227,12 @@ enum { #define GDM_KEY_EXCLUDE "greeter/Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,rpm,nfsnobody,pcap" #define GDM_KEY_MINIMALUID "greeter/MinimalUID=100" #define GDM_KEY_FACE "greeter/DefaultFace=" EXPANDED_PIXMAPDIR "/nobody.png" -#define GDM_KEY_FACEDIR "greeter/GlobalFaceDir=" EXPANDED_DATADIR "/faces/" +#define GDM_KEY_FACEDIR "greeter/GlobalFaceDir=" EXPANDED_DATADIR "/pixmaps/faces/" #define GDM_KEY_LOCFILE "greeter/LocaleFile=" EXPANDED_LOCALEDIR "/locale.alias" #define GDM_KEY_LOGO "greeter/Logo=" EXPANDED_PIXMAPDIR "/gdm-foot-logo.png" #define GDM_KEY_QUIVER "greeter/Quiver=true" #define GDM_KEY_SYSMENU "greeter/SystemMenu=true" -#define GDM_KEY_CONFIGURATOR "daemon/Configurator=" EXPANDED_GDMCONFIGDIR "/gdmsetup --disable-sound --disable-crash-dialog" +#define GDM_KEY_CONFIGURATOR "daemon/Configurator=" EXPANDED_SBINDIR "/gdmsetup --disable-sound --disable-crash-dialog" #define GDM_KEY_CONFIG_AVAILABLE "greeter/ConfigAvailable=true" #define GDM_KEY_CHOOSER_BUTTON "greeter/ChooserButton=true" #define GDM_KEY_TITLE_BAR "greeter/TitleBar=true" @@ -734,7 +734,8 @@ void gdm_final_cleanup (void); #define GDM_SUP_GET_CONFIG "GET_CONFIG" /* <key> */ /* GET_CONFIG: Get configuration value for key. Useful so * that other programs can request configuration information - * from GDM. + * from GDM. Any key defined as GDM_KEY_* in gdm.h is + * supported. * Supported since: 2.6.0.9 * Arguments: <key> * Answers: diff --git a/daemon/gdm.in b/daemon/gdm.in index c83eb675..05e7a501 100644 --- a/daemon/gdm.in +++ b/daemon/gdm.in @@ -23,7 +23,5 @@ then fi fi -exec @EXPANDED_BINDIR@/gdm-binary "$@" +exec @EXPANDED_SBINDIR@/gdm-binary "$@" -# fallback, use PATH -exec gdm-binary "$@" diff --git a/daemon/slave.c b/daemon/slave.c index 000172b5..2cdb544c 100644 --- a/daemon/slave.c +++ b/daemon/slave.c @@ -1670,7 +1670,7 @@ run_config (GdmDisplay *display, struct passwd *pwent) "default location.")); argv = ve_split - (EXPANDED_BINDIR + (EXPANDED_LIBEXECDIR "/gdmsetup --disable-sound --disable-crash-dialog"); if (access (argv[0], X_OK) == 0) VE_IGNORE_EINTR (execv (argv[0], argv)); @@ -2624,11 +2624,11 @@ gdm_slave_greeter (void) if (strstr (command, "gdmlogin") != NULL) { /* in case it is gdmlogin that's crashing try the graphical greeter for luck */ - command = EXPANDED_BINDIR "/gdmgreeter"; + command = EXPANDED_LIBEXECDIR "/gdmgreeter"; } else { /* in all other cases, try the gdmlogin (standard greeter) proggie */ - command = EXPANDED_BINDIR "/gdmlogin"; + command = EXPANDED_LIBEXECDIR "/gdmlogin"; } } @@ -2649,13 +2649,13 @@ gdm_slave_greeter (void) gdm_error (_("%s: Cannot start greeter trying default: %s"), "gdm_slave_greeter", - EXPANDED_BINDIR "/gdmlogin"); + EXPANDED_LIBEXECDIR "/gdmlogin"); ve_setenv ("GDM_WHACKED_GREETER_CONFIG", "true", TRUE); - exec_command (EXPANDED_BINDIR "/gdmlogin", NULL); + exec_command (EXPANDED_LIBEXECDIR "/gdmlogin", NULL); - VE_IGNORE_EINTR (execl (EXPANDED_BINDIR "/gdmlogin", EXPANDED_BINDIR "/gdmlogin", NULL)); + VE_IGNORE_EINTR (execl (EXPANDED_LIBEXECDIR "/gdmlogin", EXPANDED_LIBEXECDIR "/gdmlogin", NULL)); gdm_error_box (d, GTK_MESSAGE_ERROR, diff --git a/docs/C/gdm.xml b/docs/C/gdm.xml index a495d2a4..6b01a8fb 100644 --- a/docs/C/gdm.xml +++ b/docs/C/gdm.xml @@ -451,7 +451,7 @@ Optionally the greeter can provide a face browser containing icons for all the users on a system. The icons can be installed globally by the sysadmin or in the users' home directories. If installed globally - they should be in the <filename><share>/faces/</filename> + they should be in the <filename><share>/pixmaps/faces/</filename> directory (though this can be configured with the <filename>GlobalFaceDir</filename> configuration option) and the filename should be the name of the user, @@ -2304,7 +2304,7 @@ XKeepsCrashing <varlistentry> <term>GlobalFaceDir</term> <listitem> - <synopsis>GlobalFaceDir=<share>/faces/</synopsis> + <synopsis>GlobalFaceDir=<share>/pixmaps/faces/</synopsis> <para> Systemwide directory for face files. The sysadmin can place icons for users here without touching their homedirs. Faces are @@ -3029,7 +3029,7 @@ Language=cs_CZ.UTF-8 <para> Face images can also be placed in the global face directory, which is - normally <filename><share>/faces/</filename> + normally <filename><share>/pixmaps/faces/</filename> (though this can be configured with the <filename>GlobalFaceDir</filename> configuration option) and the filename should be the name of the user, optionally with a @@ -3128,6 +3128,7 @@ FLEXI_XSERVER FLEXI_XNEST CONSOLE_SERVERS ALL_SERVERS +GET_CONFIG UPDATE_CONFIG GREETERPIDS QUERY_LOGOUT_ACTION @@ -3296,6 +3297,25 @@ Answers: </screen> </sect3> + <sect3 id="getconfig"> + <title>GET_CONFIG</title> + <screen> +GET_CONFIG: Get configuration value for key. Useful so + that other programs can request configuration + information from GDM. Any key defined as GDM_KEY_* + in gdm.h is supported. +Supported since: 2.6.0.9 +Arguments: <key> +Answers: + OK <value> + ERROR <err number> <english error description> + 0 = Not implemented + 50 = Unsupported key + 200 = Too many messages + 999 = Unknown error + </screen> + </sect3> + <sect3 id="updateconfig"> <title>UPDATE_CONFIG</title> <screen> @@ -3498,185 +3518,14 @@ Supported since: 2.2.4.0 </sect2> </sect1> - <sect1 id="binaries"> - <title>GDM Commands</title> + <sect1 id="bindir_binaries"> + <title>GDM Commands in EXPANDED_BINDIR</title> <para> - The GDM package provides quite a few different commands. + The GDM package provides the following different commands in + EXPANDED_BINDIR intended to be used by the end-user: </para> - <sect2 id="gdmcommandline"> - <title><filename>gdm</filename> and <filename>gdm-binary</filename> - Command Line Options</title> - - <para> - The <filename>gdm</filename> command is really just a script which - runs the <filename>gdm-binary</filename>, passing along any options. - Before launching gdm-binary, the gdm wrapper script will source the - <filename>/etc/profile</filename> file to set the standard system - environment variables. In order to better support - internationalization, it will also set the LC_MESSAGES environment - variable to LANG if neither LC_MESSAGES or LC_ALL are set. If you - really need to set some additional environment before launching GDM, - you can do so in this file. - </para> - - <variablelist> - <title><filename>gdm</filename> and <filename>gdm-binary</filename> - Command Line Options</title> - - <varlistentry> - <term>--help</term> - <listitem> - <para> - Gives a brief overview of the command line options. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>-nodaemon</term> - <listitem> - <para> - If this option is specified, then gdm does not fork into the - background when run. You can use just a single dash with this - option to preserve compatibility with XDM. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>--no-console</term> - <listitem> - <para> - Tell the daemon that it should not run anything on the console. - This means that none of the local servers from the - <filename>[servers]</filename> section will be run, and the - console will not be used for communicating errors to the user. - An empty <filename>[servers]</filename> section automatically - implies this option. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>--preserve-ld-vars</term> - <listitem> - <para> - When clearing the environment internally, preserve all variables - starting with LD_. This is mostly for debugging purposes. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>--version</term> - <listitem> - <para> - Print the version of the GDM daemon. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>--wait-for-go</term> - <listitem> - <para> - If started with this option, gdm will init, but only start the - first local display and then wait for a GO message in the fifo - protocol. No greeter will be shown until the GO message is - sent. Also flexiserver requests will be denied and XDMCP will - not be started until GO is given. This is useful for - initialization scripts which wish to start X early, but where - you don't yet want the user to start logging in. So the script - would send the GO to the fifo once it is ready and GDM will - then continue. This functionality was added in version 2.5.90.0. - </para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2 id="gdmgreeterlogincommandline"> - <title><filename>gdmchooser</filename> and <filename>gdmlogin</filename> - Command Line Options</title> - - <para> - The <filename>gdmgreeter</filename> and <filename>gdmlogin</filename> - are two different login programs, either can be used by GDM. - <filename>gdmgreeter</filename> is themeable with GDM themes while - <filename>gdmlogin</filename> is themable with GTK+ themes. These - programs are normally executed by the GDM daemon. Both programs - support standard GNOME options. - </para> - </sect2> - - <sect2 id="gdmchoosercommandline"> - <title><filename>gdmchooser</filename> Command Line Options</title> - - <para> - The <filename>gdmchooser</filename> is the XDMCP chooser application. - The <filename>gdmchooser</filename> is normally executed by the GDM - daemon. It supports the following options for XDM compatibility. - This program supports standard GNOME options. - </para> - - <variablelist> - <title><filename>gdmchooser</filename> Command Line Options</title> - - <varlistentry> - <term>-xdmaddress=SOCKET</term> - <listitem> - <para> - Socket for XDM communication. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>--clientaddress=ADDRESS</term> - <listitem> - <para> - Client address to return in response to XDM. This option is for - running gdmchooser with XDM, and is not used within GDM. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>-connectionType=TYPE</term> - <listitem> - <para> - Connection type to return in response to XDM. This option is for - running gdmchooser with XDM, and is not used within GDM. - </para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2 id="gdmsetupcommandline"> - <title><filename>gdmconfig</filename> and - <filename>gdmsetup</filename> Command Line Options</title> - - <para> - <filename>gdmconfig</filename> is a wrapper script for running - <filename>gdmsetup</filename> for binary name compatibility. - <filename>gdmconfig</filename> is installed to the - <filename><sbin>/</filename> directory. - </para> - - <para> - gdmsetup runs a graphical program for modifying the GDM - configuration file, gdm.conf. Normally on systems that support the - PAM userhelper, this is setup such that when you run - <filename>gdmsetup</filename> as an ordinary user, it will first - ask you for your root password before starting. Otherwise, this - program may only be run as root. This program supports standard - GNOME options. - </para> - </sect2> - <sect2 id="gdmxnestchoosercommandline"> <title><filename>gdmXnestchooser</filename> and <filename>gdmXnest</filename> Command Line Options</title> @@ -3695,20 +3544,8 @@ Supported since: 2.2.4.0 options. </para> - <para> - <filename>gdmXnest</filename> is a symbolic link to - <filename>gdmXnestchooser</filename> and is the same as using the - --no-query and --no-gdm-check options with - <filename>gdmXnestchooser</filename>. It is useful for running - <filename>Xnest</filename> without actually connecting somewhere. It - will print out the display setting on standard output that you can use - to connect to this server. This is useful mostly for developers who - perhaps wish to test their apps running on a completely separate server. - </para> - <variablelist> - <title><filename>gdmXnestchooser</filename> and - <filename>gdmXnest</filename> Command Line Options</title> + <title><filename>gdmXnestchooser</filename> Command Line Options</title> <varlistentry> <term>-x, --xnest=STRING</term> @@ -3897,6 +3734,129 @@ remote-flexi - In remote (XDMCP) & flexi mode. </screen> </para> </sect2> + </sect1> + + <sect1 id="sbindir_binaries"> + <title>GDM Commands in EXPANDED_SBINDIR</title> + + <para> + The GDM package provides the following different commands in + EXPANDED_SBINDIR intended to be used by the root user: + </para> + + <sect2 id="gdmcommandline"> + <title><filename>gdm</filename> and <filename>gdm-binary</filename> + Command Line Options</title> + + <para> + The <filename>gdm</filename> command is really just a script which + runs the <filename>gdm-binary</filename>, passing along any options. + Before launching gdm-binary, the gdm wrapper script will source the + <filename>/etc/profile</filename> file to set the standard system + environment variables. In order to better support + internationalization, it will also set the LC_MESSAGES environment + variable to LANG if neither LC_MESSAGES or LC_ALL are set. If you + really need to set some additional environment before launching GDM, + you can do so in this script. + </para> + + <variablelist> + <title><filename>gdm</filename> and <filename>gdm-binary</filename> + Command Line Options</title> + + <varlistentry> + <term>--help</term> + <listitem> + <para> + Gives a brief overview of the command line options. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-nodaemon</term> + <listitem> + <para> + If this option is specified, then gdm does not fork into the + background when run. You can use just a single dash with this + option to preserve compatibility with XDM. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>--no-console</term> + <listitem> + <para> + Tell the daemon that it should not run anything on the console. + This means that none of the local servers from the + <filename>[servers]</filename> section will be run, and the + console will not be used for communicating errors to the user. + An empty <filename>[servers]</filename> section automatically + implies this option. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>--preserve-ld-vars</term> + <listitem> + <para> + When clearing the environment internally, preserve all variables + starting with LD_. This is mostly for debugging purposes. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>--version</term> + <listitem> + <para> + Print the version of the GDM daemon. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>--wait-for-go</term> + <listitem> + <para> + If started with this option, gdm will init, but only start the + first local display and then wait for a GO message in the fifo + protocol. No greeter will be shown until the GO message is + sent. Also flexiserver requests will be denied and XDMCP will + not be started until GO is given. This is useful for + initialization scripts which wish to start X early, but where + you don't yet want the user to start logging in. So the script + would send the GO to the fifo once it is ready and GDM will + then continue. This functionality was added in version 2.5.90.0. + </para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2 id="gdmsetupcommandline"> + <title><filename>gdmconfig</filename> and + <filename>gdmsetup</filename> Command Line Options</title> + + <para> + <filename>gdmconfig</filename> is a wrapper script for running + <filename>gdmsetup</filename> for binary name compatibility. + <filename>gdmconfig</filename> is installed to the + <filename><sbin>/</filename> directory. + </para> + + <para> + gdmsetup runs a graphical program for modifying the GDM + configuration file, gdm.conf. Normally on systems that support the + PAM userhelper, this is setup such that when you run + <filename>gdmsetup</filename> as an ordinary user, it will first + ask you for your root password before starting. Otherwise, this + program may only be run as root. This program supports standard + GNOME options. + </para> + </sect2> <sect2 id="gdmrestartcommandline"> <title><filename>gdm-restart</filename> Command Line Options</title> @@ -3905,8 +3865,6 @@ remote-flexi - In remote (XDMCP) & flexi mode. <filename>gdm-restart</filename> stops and restarts GDM by sending the GDM daemon a HUP signal. This command will immediately terminate all sessions and log out users currently logged in with GDM. - <filename>gdm-restart</filename> is installed to the - <filename><sbin>/</filename> directory. </para> </sect2> @@ -3916,8 +3874,7 @@ remote-flexi - In remote (XDMCP) & flexi mode. <para> <filename>gdm-safe-restart</filename> stops and restarts GDM by sending the GDM daemon a USR1 signal. GDM will be restarted as soon - as all users log out. <filename>gdm-safe-restart</filename> is - installed to the <filename><sbin>/</filename> directory. + as all users log out. </para> </sect2> @@ -3926,12 +3883,79 @@ remote-flexi - In remote (XDMCP) & flexi mode. <para> <filename>gdm-stop</filename> stops GDM by sending the GDM daemon - a TERM signal. <filename>gdm-stop</filename> is installed to the - <filename><sbin>/</filename> directory. + a TERM signal. </para> </sect2> </sect1> + <sect1 id="sbindir_binaries"> + <title>GDM Commands in EXPANDED_LIBEXECDIR</title> + + <para> + The GDM package provides the following different commands in + EXPANDED_LIBEXECDIR intended to be used by the gdm daemon process. + </para> + + <sect2 id="gdmgreeterlogincommandline"> + <title><filename>gdmchooser</filename> and <filename>gdmlogin</filename> + Command Line Options</title> + + <para> + The <filename>gdmgreeter</filename> and <filename>gdmlogin</filename> + are two different login programs, either can be used by GDM. + <filename>gdmgreeter</filename> is themeable with GDM themes while + <filename>gdmlogin</filename> is themable with GTK+ themes. These + programs are normally executed by the GDM daemon. Both programs + support standard GNOME options. + </para> + </sect2> + + <sect2 id="gdmchoosercommandline"> + <title><filename>gdmchooser</filename> Command Line Options</title> + + <para> + The <filename>gdmchooser</filename> is the XDMCP chooser application. + The <filename>gdmchooser</filename> is normally executed by the GDM + daemon. It supports the following options for XDM compatibility. + This program supports standard GNOME options and is found in + support standard GNOME options. + </para> + + <variablelist> + <title><filename>gdmchooser</filename> Command Line Options</title> + + <varlistentry> + <term>-xdmaddress=SOCKET</term> + <listitem> + <para> + Socket for XDM communication. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>--clientaddress=ADDRESS</term> + <listitem> + <para> + Client address to return in response to XDM. This option is for + running gdmchooser with XDM, and is not used within GDM. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-connectionType=TYPE</term> + <listitem> + <para> + Connection type to return in response to XDM. This option is for + running gdmchooser with XDM, and is not used within GDM. + </para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + </sect1> + <!-- ============= Theme manual ============================= --> <sect1 id="thememanual"> diff --git a/gdmconfig b/gdmconfig deleted file mode 100755 index 47f30808..00000000 --- a/gdmconfig +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# Just a script for some bin name compatibility -exec gdmsetup "$@" diff --git a/gdmsetup-security.in b/gdmsetup-security.in index f04620b0..41f9297e 100644 --- a/gdmsetup-security.in +++ b/gdmsetup-security.in @@ -1,5 +1,5 @@ USER=root -PROGRAM=@EXPANDED_GDMCONFIGDIR@/gdmsetup +PROGRAM=@EXPANDED_SBINDIR@/gdmsetup SESSION=true FALLBACK=false diff --git a/gui/Makefile.am b/gui/Makefile.am index 7e85c87f..701072f3 100644 --- a/gui/Makefile.am +++ b/gui/Makefile.am @@ -28,10 +28,14 @@ INCLUDES = \ noinst_LIBRARIES = libgdmwm.a libgdmcommon.a -bin_PROGRAMS = \ +libexec_PROGRAMS = \ @GDMCHOOSER@ \ - gdmlogin \ - gdmsetup \ + gdmlogin + +sbin_PROGRAMS = \ + gdmsetup + +bin_PROGRAMS = \ gdmphotosetup \ @GDMXNESTCHOOSER@ \ gdmflexiserver diff --git a/gui/faces/Makefile.am b/gui/faces/Makefile.am new file mode 100644 index 00000000..4a46527b --- /dev/null +++ b/gui/faces/Makefile.am @@ -0,0 +1,36 @@ + +imagedir = $(datadir)/pixmaps/faces + +IMGFILES = bonfire.jpg \ + cdrom.jpg \ + clock.jpg \ + daisy.jpg \ + dice.jpg \ + hollyleaf.jpg \ + lamas.jpg \ + seal.jpg \ + sky.jpg \ + skyline.jpg + +EXTRA_DIST = $(IMGFILES) + +uninstall-hook: + rm -f $(DESTDIR)$(imagedir)/bonfire.jpg \ + $(DESTDIR)$(imagedir)/cdrom.jpg \ + $(DESTDIR)$(imagedir)/clock.jpg \ + $(DESTDIR)$(imagedir)/daisy.jpg \ + $(DESTDIR)$(imagedir)/dice.jpg \ + $(DESTDIR)$(imagedir)/hollyleaf.jpg \ + $(DESTDIR)$(imagedir)/lamas.jpg \ + $(DESTDIR)$(imagedir)/seal.jpg \ + $(DESTDIR)$(imagedir)/sky.jpg \ + $(DESTDIR)$(imagedir)/skyline.jpg + +install-data-hook: $(IMGFILES) + if test '!' -d $(DESTDIR)$(imagedir); then \ + $(mkinstalldirs) $(DESTDIR)$(imagedir); \ + chmod 755 $(DESTDIR)$(imagedir); \ + fi + $(INSTALL_DATA) $(IMGFILES) $(DESTDIR)$(imagedir) + + diff --git a/gui/faces/bonfire.jpg b/gui/faces/bonfire.jpg Binary files differnew file mode 100644 index 00000000..7ac63be7 --- /dev/null +++ b/gui/faces/bonfire.jpg diff --git a/gui/faces/cdrom.jpg b/gui/faces/cdrom.jpg Binary files differnew file mode 100644 index 00000000..026c829c --- /dev/null +++ b/gui/faces/cdrom.jpg diff --git a/gui/faces/clock.jpg b/gui/faces/clock.jpg Binary files differnew file mode 100644 index 00000000..c52d32d3 --- /dev/null +++ b/gui/faces/clock.jpg diff --git a/gui/faces/daisy.jpg b/gui/faces/daisy.jpg Binary files differnew file mode 100644 index 00000000..4aa4143c --- /dev/null +++ b/gui/faces/daisy.jpg diff --git a/gui/faces/dice.jpg b/gui/faces/dice.jpg Binary files differnew file mode 100644 index 00000000..5fe37892 --- /dev/null +++ b/gui/faces/dice.jpg diff --git a/gui/faces/hollyleaf.jpg b/gui/faces/hollyleaf.jpg Binary files differnew file mode 100644 index 00000000..9e6d0391 --- /dev/null +++ b/gui/faces/hollyleaf.jpg diff --git a/gui/faces/lamas.jpg b/gui/faces/lamas.jpg Binary files differnew file mode 100644 index 00000000..2c45b62f --- /dev/null +++ b/gui/faces/lamas.jpg diff --git a/gui/faces/seal.jpg b/gui/faces/seal.jpg Binary files differnew file mode 100644 index 00000000..220c9de8 --- /dev/null +++ b/gui/faces/seal.jpg diff --git a/gui/faces/sky.jpg b/gui/faces/sky.jpg Binary files differnew file mode 100644 index 00000000..3ace4f46 --- /dev/null +++ b/gui/faces/sky.jpg diff --git a/gui/faces/skyline.jpg b/gui/faces/skyline.jpg Binary files differnew file mode 100644 index 00000000..a10c46df --- /dev/null +++ b/gui/faces/skyline.jpg diff --git a/gui/gdmphotosetup.c b/gui/gdmphotosetup.c index a3dd54ce..5f85f0e5 100644 --- a/gui/gdmphotosetup.c +++ b/gui/gdmphotosetup.c @@ -35,6 +35,7 @@ static GtkWidget *preview; static GtkWidget *current_image; static char *current_pix; static char *photofile; +static char *facedir; static int max_width, max_height; static int response = -999; @@ -139,12 +140,14 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data) if (scale_factor >= 1.0) { preview_pixbuf = pixbuf; } else { - int scale_x = (int) (gdk_pixbuf_get_width (pixbuf) * scale_factor); - int scale_y = (int) (gdk_pixbuf_get_height (pixbuf) * scale_factor); - - /* Scale bigger dimension of image to max icon height/width */ - preview_pixbuf = gdk_pixbuf_scale_simple (pixbuf, scale_x, scale_y, - GDK_INTERP_BILINEAR); + int scale_x = (int) (gdk_pixbuf_get_width (pixbuf) * + scale_factor); + int scale_y = (int) (gdk_pixbuf_get_height (pixbuf) * + scale_factor); + + /* Scale bigger dimension to max icon height/width */ + preview_pixbuf = gdk_pixbuf_scale_simple (pixbuf, + scale_x, scale_y, GDK_INTERP_BILINEAR); } gtk_image_set_from_pixbuf (GTK_IMAGE (preview), preview_pixbuf); @@ -153,7 +156,8 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data) if (scale_factor != 1.0) gdk_pixbuf_unref (preview_pixbuf); - gtk_file_chooser_set_preview_widget_active (file_chooser, have_preview); + gtk_file_chooser_set_preview_widget_active (file_chooser, + have_preview); } } } @@ -172,7 +176,11 @@ browse_button_cb (GtkWidget *widget, gpointer data) NULL); if (current_pix != NULL && strcmp (photofile, current_pix)) - gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (file_dialog), current_pix); + gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (file_dialog), + current_pix); + else if (facedir != NULL && g_file_test (facedir, G_FILE_TEST_IS_DIR)) + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (file_dialog), + facedir); else gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (file_dialog), EXPANDED_DATADIR "/pixmaps"); @@ -235,6 +243,7 @@ main (int argc, char *argv[]) max_height = gnome_config_get_int (GDM_KEY_ICONHEIGHT); greeter = gnome_config_get_string (GDM_KEY_GREETER); remotegreeter = gnome_config_get_string (GDM_KEY_REMOTEGREETER); + facedir = gnome_config_get_string (GDM_KEY_FACEDIR); gnome_config_pop_prefix (); if ( ! gdm_check ()) { diff --git a/gui/gdmsetup.c b/gui/gdmsetup.c index 5e46d6cc..40deb71e 100644 --- a/gui/gdmsetup.c +++ b/gui/gdmsetup.c @@ -958,16 +958,16 @@ setup_greeter_option (const char *name, val = ve_config_get_string (ve_config_get (GDM_CONFIG_FILE), key); if (val != NULL && - strcmp (val, EXPANDED_BINDIR "/gdmlogin --disable-sound --disable-crash-dialog") == 0) { + strcmp (val, EXPANDED_LIBEXECDIR "/gdmlogin --disable-sound --disable-crash-dialog") == 0) { g_free (val); - val = g_strdup (EXPANDED_BINDIR "/gdmlogin"); + val = g_strdup (EXPANDED_LIBEXECDIR "/gdmlogin"); } menu = gtk_menu_new (); - add_menuitem (menu, EXPANDED_BINDIR "/gdmlogin", + add_menuitem (menu, EXPANDED_LIBEXECDIR "/gdmlogin", _("Standard greeter"), val, &selected); - add_menuitem (menu, EXPANDED_BINDIR "/gdmgreeter", + add_menuitem (menu, EXPANDED_LIBEXECDIR "/gdmgreeter", _("Graphical greeter"), val, &selected); if (val != NULL && diff --git a/gui/greeter/Makefile.am b/gui/greeter/Makefile.am index 2355c960..0f75f7a8 100644 --- a/gui/greeter/Makefile.am +++ b/gui/greeter/Makefile.am @@ -20,7 +20,7 @@ INCLUDES = \ # -DGNOME_DISABLE_DEPRECATED \ # -bin_PROGRAMS = \ +libexec_PROGRAMS = \ gdmgreeter bin_SCRIPTS = \ diff --git a/gui/greeter/greeter.c b/gui/greeter/greeter.c index dd2eea60..9e61ee9b 100644 --- a/gui/greeter/greeter.c +++ b/gui/greeter/greeter.c @@ -1285,7 +1285,7 @@ main (int argc, char *argv[]) gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); - execl (EXPANDED_BINDIR "/gdmlogin", EXPANDED_BINDIR "/gdmlogin", NULL); + execl (EXPANDED_LIBEXECDIR "/gdmlogin", EXPANDED_LIBEXECDIR "/gdmlogin", NULL); execlp ("gdmlogin", "gdmlogin", NULL); dialog = ve_hig_dialog_new (NULL /* parent */, |