# ─────────────────────────────────────────────────────────────────────────────
# uwsm environment — general (toolkit / theming / cursor)
#
# Why this file exists, and why it duplicates hypr/env.lua:
#
# The session logs in via "Hyprland (uwsm-managed)", which runs the compositor
# under the systemd user manager. Variables set with hl.env() in hyprland.lua
# are exported into the COMPOSITOR's environment -- but NOT into the systemd
# user manager. Anything started as a user unit (vicinae.service,
# hyprpolkitagent.service, hyprpaper.service, hyprsunset.service) and every app
# those units launch would therefore not see them.
#
# uwsm sources this file into the systemd activation environment before the
# session starts, which covers both. Keep the two in sync; hypr/env.lua remains
# the fallback for the plain (non-uwsm) "Hyprland" session.
#
# Format is plain shell: `export KEY=VALUE`.
# ─────────────────────────────────────────────────────────────────────────────

# ── Cursor ───────────────────────────────────────────────────────────────────
# No HYPRCURSOR_THEME: oreo_blue_cursors is a plain XCursor theme with no
# hyprcursors/ directory, so hyprcursor would resolve it to nothing.
export XCURSOR_THEME=oreo_blue_cursors
export XCURSOR_SIZE=24

# ── Toolkits ─────────────────────────────────────────────────────────────────
export QT_QPA_PLATFORM="wayland;xcb"
# Derives the Qt palette from the live GTK3 theme (adw-gtk3-dark). Single
# value, not a list -- Qt splits on ":" and uses only the first token.
export QT_QPA_PLATFORMTHEME=gtk3
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export QT_AUTO_SCREEN_SCALE_FACTOR=1

export GDK_BACKEND=wayland,x11
export SDL_VIDEODRIVER=wayland
export CLUTTER_BACKEND=wayland
export MOZ_ENABLE_WAYLAND=1

# Electron apps (Slack, Obsidian, Claude, Codex, BlueBubbles, Podman Desktop)
# pick Wayland from this rather than needing per-app flags.
export ELECTRON_OZONE_PLATFORM_HINT=auto

# The systemd user manager can survive a GNOME logout, leaving this stale as
# `gnome` even after uwsm updates XDG_CURRENT_DESKTOP. Vicinae checks both and
# otherwise waits for a GNOME clipboard extension before falling back to the
# native Wayland data-control backend.
export XDG_SESSION_DESKTOP=Hyprland
export DESKTOP_SESSION=hyprland
export GDMSESSION=hyprland

# ── Selection overlay theming ────────────────────────────────────────────────
# slurp is used by screenshot tooling; match Tokyo Night Moon so the region
# picker doesn't flash a default-blue box.
export SLURP_ARGS="-d -c 82aaffff -b 2e2f3d99 -s 82aaff22 -B 2e2f3d55 -w 2"

# XDG_CURRENT_DESKTOP and XDG_SESSION_TYPE are set by uwsm itself.
