public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in x11-misc/slim/files: Xsession-r2
@ 2011-08-16  2:18 Jeremy Olexa (darkside)
  0 siblings, 0 replies; 2+ messages in thread
From: Jeremy Olexa (darkside) @ 2011-08-16  2:18 UTC (permalink / raw
  To: gentoo-commits

darkside    11/08/16 02:18:37

  Added:                Xsession-r2
  Log:
  New Xsession script, bug 334111 by Ian Stakenvicius
  
  (Portage version: 2.1.10.6/cvs/Linux x86_64)

Revision  Changes    Path
1.1                  x11-misc/slim/files/Xsession-r2

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/slim/files/Xsession-r2?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/slim/files/Xsession-r2?rev=1.1&content-type=text/plain

Index: Xsession-r2
===================================================================
#!/bin/sh
#
# Slim login manager Xsession script
#

command="$@"

# this will go into slim.log along with all other echo's
# good for debugging where things go wrong
echo "$0: Beginning session setup..."

# First read /etc/profile and .profile
test -f /etc/profile && . /etc/profile
test -f "$HOME/.profile" && . "$HOME/.profile"
# Second read /etc/xprofile and .xprofile for X specific setup
test -f /etc/xprofile && . /etc/xprofile
test -f "$HOME/.xprofile" && . "$HOME/.xprofile"

# wrap possible arguments to determine whether to treat special or not
if [ "x$command" = "xcustom" ] || [ "x$command" = "xCustom" ] || [ "x$command" = "xdefault" ] || [ "x$command" = "xDefault" ]; then
  command="Xsession"
fi
if [ "x$command" = "x" ]; then
  # no default specified, check if Xsession will complete
  # and if not then assign XSESSION to command
  if [ -x "$HOME/.xsession" ] || [ -x "$HOME/.Xclients" ] || [ -x /etc/X11/xinit/Xclients ] || [ -x /etc/X11/Xclients ]; then
    command="Xsession"
  else
    command=$XSESSION
  fi
fi

# most of this is from /etc/X11/chooser.sh
sessionscript=""
if [ -n "${command}" ]; then
  # find a match for $command in /etc/X11/Sessions
  for x in /etc/X11/Sessions/* ; do
    if [ "`echo ${x##*/} | awk '{ print toupper($1) }'`" = "`echo ${command} | awk '{ print toupper($1) }'`" ]; then
      sessionscript=${x}
      break
    fi
  done
  if [ -n "${sessionscript}" ]; then
    if [ -x "${sessionscript}" ]; then
      command="${sessionscript}"
    else
      command="/bin/sh ${sessionscript}"
    fi
  else

    # find an executable for $command
    x=""
    y=""

    for x in "${command}" "`echo ${command} | awk '{ print toupper($1) }'`" "`echo ${command} | awk '{ print tolower($1) }'`"
    do
      # Fall through ...
      if [ -x "`which ${x} 2>/dev/null`" ]; then
	y="`which ${x} 2>/dev/null`"
	break
      fi
    done
    # note , if the command could not be found then $command will be empty
    command="$y"
    unset x
    unset y
  fi
fi

# call xrdb and xmodmap and such, since $command is not a session script
if [ -z "${sessionscript}" ]; then
  userresources="$HOME/.Xresources"
  usermodmap="$HOME/.Xmodmap"
  userxkbmap="$HOME/.Xkbmap"

  sysresources=/etc/X11/Xresources 
  sysmodmap=/etc/X11/Xmodmap 
  sysxkbmap=/etc/X11/Xkbmap

  rh6sysresources=/etc/X11/xinit/Xresources 
  rh6sysmodmap=/etc/X11/xinit/Xmodmap 

  # merge in defaults
  if [ -f "$rh6sysresources" ]; then
    xrdb -merge "$rh6sysresources"
  fi

  if [ -f "$sysresources" ]; then
    xrdb -merge "$sysresources"
  fi

  if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
  fi

  # merge in keymaps
  if [ -f "$sysxkbmap" ]; then
    setxkbmap `cat "$sysxkbmap"`
    XKB_IN_USE=yes
  fi

  if [ -f "$userxkbmap" ]; then
    setxkbmap `cat "$userxkbmap"`
    XKB_IN_USE=yes
  fi

  #
  # Eeek, this seems like too much magic here
  #
  if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then
    if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then
      xkbsymbols=`sed -n -e 's/^[     ]*XkbSymbols[   ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config`
      if [ -n "$xkbsymbols" ]; then
        setxkbmap -symbols "$xkbsymbols"
        XKB_IN_USE=yes
      fi
    fi
  fi

  # xkb and xmodmap don't play nice together
  if [ -z "$XKB_IN_USE" ]; then
    if [ -f "$rh6sysmodmap" ]; then
      xmodmap "$rh6sysmodmap"
    fi

    if [ -f "$sysmodmap" ]; then
      xmodmap "$sysmodmap"
    fi

    if [ -f "$usermodmap" ]; then
      xmodmap "$usermodmap"
    fi
  fi

  unset XKB_IN_USE
fi
unset sessionscript

# start failsafe session
if [ -z "${command}" ]; then
  echo "$0: Failed to find a command to start the session, so starting a failsafe xterm."
  exec xterm -geometry 80x24+0+0
fi

# run all system xinitrc shell scripts which will update command
if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for i in /etc/X11/xinit/xinitrc.d/* ; do
    if [ -x "$i" ]; then
      . "$i"
    fi
  done
  unset i
fi

echo "$0: Setup done, will execute: $command"
exec $command

# vim:ts=4






^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gentoo-commits] gentoo-x86 commit in x11-misc/slim/files: Xsession-r2
@ 2011-08-19 19:55 Jeremy Olexa (darkside)
  0 siblings, 0 replies; 2+ messages in thread
From: Jeremy Olexa (darkside) @ 2011-08-19 19:55 UTC (permalink / raw
  To: gentoo-commits

darkside    11/08/19 19:55:10

  Modified:             Xsession-r2
  Log:
  revbump for consolekit fixes by Ian Stakenvicius
  
  (Portage version: 2.1.10.3/cvs/Linux i686)

Revision  Changes    Path
1.2                  x11-misc/slim/files/Xsession-r2

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/slim/files/Xsession-r2?rev=1.2&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/slim/files/Xsession-r2?rev=1.2&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/slim/files/Xsession-r2?r1=1.1&r2=1.2

Index: Xsession-r2
===================================================================
RCS file: /var/cvsroot/gentoo-x86/x11-misc/slim/files/Xsession-r2,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Xsession-r2	16 Aug 2011 02:18:37 -0000	1.1
+++ Xsession-r2	19 Aug 2011 19:55:10 -0000	1.2
@@ -142,6 +142,9 @@
   exec xterm -geometry 80x24+0+0
 fi
 
+# temporarily unset XDG_SESSION_COOKIE so consolekit launches a new session
+realxdgcookie="$XDG_SESSION_COOKIE"
+XDG_SESSION_COOKIE=
 # run all system xinitrc shell scripts which will update command
 if [ -d /etc/X11/xinit/xinitrc.d ]; then
   for i in /etc/X11/xinit/xinitrc.d/* ; do
@@ -151,6 +154,9 @@
   done
   unset i
 fi
+# restore XDG_SESSION_COOKIE
+XDG_SESSION_COOKIE="$realxdgcookie"
+unset realxdgcookie
 
 echo "$0: Setup done, will execute: $command"
 exec $command






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-08-19 19:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-16  2:18 [gentoo-commits] gentoo-x86 commit in x11-misc/slim/files: Xsession-r2 Jeremy Olexa (darkside)
  -- strict thread matches above, loose matches on Subject: below --
2011-08-19 19:55 Jeremy Olexa (darkside)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox