#!/usr/bin/bash

# THIS SCRIPT IS A UTILITY TO SET ENVIRONMENT VARIABLES PERMANENTLY USING
# THE WINDOWS REGISTRY.
# USES 'REGTOOL' TO MODIFY THE WINDOWS REGISTRY.
# 'REGTOOL' IS PART OF THE CYGWIN DISTRIBUTION PROVIDED BY RED HAT
#
# THERE'S ONE SLIGHT PROBLEM IN THAT AFTER YOU CHANGE THE REGISTRY
# WITH 'REGTOOL' EXPLORER DOESN'T REALIZE THAT IT HAS BEEN CHANGED,
# SO PROCESSES CREATED AFTER
# TO NOTIFY EXPLORER (AND OTHER APPS) THAT THE ENVIRONMENT HAS CHANGED
# WE CALL A LITTLE 1-LINE Win32 UTIL PROGRAM '_UPDATEREGENV'

# SEE ALSO 'PRINTREGENV', 'SETREGENV'

USERENV="/user/Environment"
GLOBENV="/machine/SYSTEM/CurrentControlSet/Control/Session Manager/Environment"

MSG="Environment modified in registry.  Restart apps to pick up the change."

ENV=$USERENV

TYPE="-s"

function usage()
{
  echo "Usage: " `basename $0` " VAR";
  exit;
}


if [ $# = 0 ]; then
  usage
fi


if [ $# = 1 ]; then
   regtool -q unset "$USERENV"/"$1" 
   regtool -q unset "$GLOBENV"/"$1"
   _updateregenv
   echo $MSG
else 
   echo "Wrong number of arguments"
   usage
fi