refactor: snap clean environment

This commit is contained in:
Gustavo Carvalho
2025-12-11 09:46:59 -03:00
parent 361a985879
commit 9c327c96ad
4 changed files with 39 additions and 23 deletions

View File

@@ -5,21 +5,31 @@
# Binary location
BINARY="/usr/lib/win11-clipboard-history/win11-clipboard-history-bin"
# If running from a Snap-polluted environment, clean it
if [[ -n "$SNAP" ]] || [[ "$LD_LIBRARY_PATH" == */snap/* ]]; then
# Check for Snap-polluted environment (VS Code Snap, etc.)
# Look for any snap-related paths in critical environment variables
if [[ -n "$SNAP" ]] || \
[[ "$LD_LIBRARY_PATH" == */snap/* ]] || \
[[ "$GTK_PATH" == */snap/* ]] || \
[[ "$GIO_MODULE_DIR" == */snap/* ]] || \
[[ -n "$GTK_EXE_PREFIX" && "$GTK_EXE_PREFIX" == */snap/* ]]; then
# Run with clean environment, preserving only essential variables
exec env -i \
HOME="$HOME" \
USER="$USER" \
SHELL="$SHELL" \
TERM="$TERM" \
DISPLAY="${DISPLAY:-:0}" \
XAUTHORITY="$XAUTHORITY" \
WAYLAND_DISPLAY="$WAYLAND_DISPLAY" \
XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \
XDG_SESSION_TYPE="$XDG_SESSION_TYPE" \
XDG_CURRENT_DESKTOP="$XDG_CURRENT_DESKTOP" \
XDG_SESSION_CLASS="$XDG_SESSION_CLASS" \
DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" \
PATH="/usr/local/bin:/usr/bin:/bin" \
LANG="${LANG:-en_US.UTF-8}" \
LC_ALL="${LC_ALL:-}" \
"$BINARY" "$@"
else
exec "$BINARY" "$@"