chiark / gitweb /
Merge remote-tracking branch 'crybaby'
authorMark Wooding <mdw@distorted.org.uk>
Sat, 4 Jun 2011 13:22:57 +0000 (14:22 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 4 Jun 2011 13:22:57 +0000 (14:22 +0100)
* crybaby:
  dot/bashrc: Fix `rootly' to make a shell on demand.
  dot/emacs: Use `sudo' for local editing.
  Gnome hacking: Introduce a custom session file.

1  2 
dot/xinitrc
setup

diff --combined dot/xinitrc
index 4f691872271d341b378834deb0e0952f53298c0b,314136784ef3bf8ef5f6b5c0551c82a3700b7540..8fce589db011b56d1213649c07b13c3b44b79d24
@@@ -70,13 -70,6 +70,13 @@@ EO
    esac
  done
  
 +###--------------------------------------------------------------------------
 +### Preliminary hook.
 +
 +if [ -r $HOME/.xinitrc-prehook ]; then
 +  . $HOME/.xinitrc-prehook
 +fi
 +
  ###--------------------------------------------------------------------------
  ### Iniitial settings.
  
@@@ -105,7 -98,7 +105,7 @@@ initialize () 
  ###--------------------------------------------------------------------------
  ### Start a window manager.
  
 -wm=$(pick_program window-manager enlightenment e16 twm)
 +wm=$(pick_program window-manager e16 compiz enlightenment e17 twm)
  wmopts=""
  case "$wm,$vnc" in
    enlightenment,yes | e16,yes)
@@@ -151,8 -144,18 +151,18 @@@ start-window-manager () 
  start-clients-local () { :; }
  
  start-clients () {
    ## Gnome session.
-   case $vnc in no) run bginit gnome-session ;; esac
+   case "$vnc,$(gnome-session --version 2>&1)" in
+     no,gnome-session\ 2.3[2-9].* | \
+     no,gnome-session\ 2.4[0-9].* | \
+     no,gnome-session\ 2.[1-9][0-9][0-9]*)
+       run bginit gnome-session --session mdw
+       ;;
+     no,*)
+       run bginit gnome-session
+       ;;
+   esac
  
    ## Local clients.
    start-clients-local
@@@ -326,28 -329,6 +336,28 @@@ EO
    done
  }
  
 +###--------------------------------------------------------------------------
 +### Gnome session care and feeding.
 +
 +session-running-p () {
 +  dbus-send --session --print-reply --dest=org.freedesktop.DBus / \
 +    org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager \
 +    >/dev/null 2>&1
 +}
 +
 +kill-gnome-session () {
 +  if session-running-p; then
 +    info "killing Gnome session manager"
 +    dbus-send --session \
 +      --dest=org.gnome.SessionManager /org/gnome/SessionManager \
 +      org.gnome.SessionManager.Logout uint32:2
 +    for i in 1 2 3 4 5; do
 +      sleep 1
 +      if ! session-running-p; then break; fi
 +    done
 +  fi
 +}
 +
  ###--------------------------------------------------------------------------
  ### Actually start things up.
  
@@@ -372,7 -353,6 +382,7 @@@ esa
  case "$wait" in
    yes)
      xwait
 +    kill-gnome-session
      ;;
    no)
      info "not waiting before exit"
diff --combined setup
index 6e1cfed8f38f76c82c28d6cb35bfcc670e2abbca,3df6067ed0ecf7d7079e44b2419993b813b1e503..307e3d001055584d6907f1e3493d62b95a4d8229
--- 1/setup
--- 2/setup
+++ b/setup
@@@ -10,7 -10,7 +10,7 @@@ umask 00
  sub=
  mkdir -p $HOME$sub
  
 -: ${REPO=http://ftp.distorted.org.uk/ftp/pub/mdw/profile}
 +: ${REPO=http://ftp.distorted.org.uk/pub/mdw/profile}
  
  export PATH=/usr/local/bin:$HOME$sub/bin:/usr/bin:/usr/ccs/bin:/bin
  
@@@ -151,6 -151,7 +151,7 @@@ dotfiles=
    fonts.conf
    stalonetrayrc
    putty-defaults:.putty/sessions/Default%20Settings
+   mdw.session:.config/gnome-session/sessions/mdw.session
    eterm-theme.cfg:.Eterm/themes/Eterm/theme.cfg
    e-keybindings.cfg:.enlightenment/keybindings.cfg
    evnc-keybindings.cfg:.enlightenment-vnc/keybindings.cfg
@@@ -230,7 -231,6 +231,7 @@@ scripts=
    mdw-build
    emacsclient-hack
    movemail-hack
 +  sendmail-hack
    aspell-hack
    emerge-hack
    lesspipe.sh