#!/bin/sh
#
# Copyright (c) 2011-2014 Mantas Kriaučiūnas. Some rights reserved.
grep -i "\[Desktop\]" ~/.dmrc >/dev/null 2>&1 || /bin/echo -e "\n[Desktop]" >> ~/.dmrc
# Jei bus gnome-2d (Ubuntu 11.04 be efektų) tuomet nereik ir perjunginėti į unity
# Visiems naudotojams pakeis komanda gksu /usr/lib/lightdm/lightdm-set-defaults -s ubuntu
USERNAME=`whoami`
USER_PATH=$(dbus-send --print-reply=literal --system --dest=org.freedesktop.Accounts /org/freedesktop/Accounts org.freedesktop.Accounts.FindUserByName string:`whoami`)
DE_NAME=""
de_not_installed ()
{
   zenity --no-wrap --info --text="$DE_NAME darbalaukio aplinka nepilnai įdiegta.\nNorimą darbalaukio aplinką galėsite pasirinkti kai\natsijungsite (logout), pasirinksite naudotoją „$USERNAME“\nir prisijungimo lange paspausite ant nustatymų ženkliuko." --title="Can't change desktop environment to $DE_NAME"
   exit 1
}

if grep -E -i "Session=gnome[-[:space:]]+[[:alnum:]]*$|Session=gnome$" ~/.dmrc >/dev/null 2>&1; then 
 if test -s /usr/share/xsessions/ubuntu.desktop; then
  test -w ~/.dmrc && sed -i -r 's/Session=gnome$/Session=ubuntu/' ~/.dmrc
  test -w ~/.dmrc && sed -i -r 's/Session=gnome[-[:space:]]+[[:alnum:]]*$/Session=ubuntu/' ~/.dmrc
  dbus-send --print-reply --system --dest=org.freedesktop.Accounts $USER_PATH org.freedesktop.Accounts.User.SetXSession string:'ubuntu'
  #Intuityviau būtų klausimas ir jei atsako OK - tada gnome-session-quit (ar kitą logout analogą, žr. gpoweroff):
  #zenity --no-wrap --question --ok-label "Prisijungti iš naujo kaip $USERNAME" --cancel-label "Neišjungti programų dabar" && gnome-session-quit --logout --no-prompt
  zenity --no-wrap --info --text="Nauja Ubuntu Unity darbalaukio aplinka bus paleista, kai\natsijungsite (logout) ir vėl prisijungsite naudotoju „$USERNAME“." --title="Desktop environment changed to Unity"
  else
   DE_NAME="Ubuntu Unity"
   de_not_installed
  fi
else
 if test -s /usr/share/xsessions/gnome-shell.desktop; then
   SHELLSESSION="gnome-shell"
 else
  if test -s /usr/share/xsessions/gnome.desktop; then
   SHELLSESSION="gnome"
  else
   DE_NAME="GNOME Shell"
   de_not_installed
  fi
 fi
 if grep -i "Session=gnome[[:space:]]*$" ~/.dmrc >/dev/null 2>&1; then 
  test -w ~/.dmrc && sed -i 's/Session=gnome[:space:]*$/Session=$SHELLSESSION/' ~/.dmrc
 else
  test -w ~/.dmrc && sed -i '/Session=/d' ~/.dmrc
  test -w ~/.dmrc && echo "Session=$SHELLSESSION" >>  ~/.dmrc
 fi
 dbus-send --print-reply --system --dest=org.freedesktop.Accounts $USER_PATH org.freedesktop.Accounts.User.SetXSession string:$SHELLSESSION
 zenity --no-wrap --window-icon=/usr/share/icons/gnome/scalable/places/gnome-foot.svg --info --text="GNOME darbalaukio aplinka bus paleista, kai atsijungsite (logout)\nir vėl prisijungsite naudotoju „$USERNAME“.\nJei norite klasikinės GNOME aplinkos (su apatiniu skydeliu) -\nprisijungimo lange paspauskite ant Ubuntu ar pėdutės ženkliuko,\nesančio šalia jūsų vardo ir pakeiskite seansą į „GNOME Classic“." --title="Desktop environment changed to GNOME"
fi
