# Copyright 2019 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Not running under sommelier?
if ! systemctl --user show-environment | grep -q '^SOMMELIER_VERSION='; then
  return 0
fi

# Helper function to export a variable if it isn't already set.
__sommelier_export() {
  local var="$1"
  # We have to resort to eval as POSIX doesn't support ${!var} indirection.
  if eval "[ -z \"\${${var}}\" ]"; then
    local setting
    # Only export the var if it's been defined.  This might be an account that
    # the user has setup or modified.  No point in spewing errors.
    if setting="$(systemctl --user show-environment | grep "^${var}=")"; then
      export "${setting}"
    fi
  fi
}

__sommelier_export DISPLAY
__sommelier_export DISPLAY_LOW_DENSITY
__sommelier_export XCURSOR_SIZE
__sommelier_export XCURSOR_SIZE_LOW_DENSITY
__sommelier_export WAYLAND_DISPLAY
__sommelier_export WAYLAND_DISPLAY_LOW_DENSITY

# No need to export this to the shell env.
unset -f __sommelier_export
