Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,13 @@ binary, so normal installation does not require a Rust toolchain.
| Brightness, volume, settings, and update commands | ✅ | ✅ | ✅ | ✅ |
| Brightness desktop dialog | ✅ | ✅ | ✅ | ✅ |

The default `auto` backend uses GNOME when compatible, then falls back to
`swayidle` when installed. Native Wayland is currently opt-in:
The default `auto` backend prefers a complete GNOME session, then native
Wayland when the compositor provides `ext_idle_notifier_v1` version 2 or newer
and at least one seat. It uses `swayidle` only as a deprecated compatibility
fallback when native monitoring is unavailable. Inspect the decision with:

```bash
lg-buddy settings set screen.backend wayland
lg-buddy settings describe screen.backend
```

See the [user guide](docs/user-guide.md#automatic-screen-blanking) for backend
Expand All @@ -44,30 +46,30 @@ The native `lg_webos` control path does not require Python. Native-only packages
can omit the Python client, `venv`, and `pip`. The current fresh-install flow
still provisions `bscpylgtv` as a compatibility fallback and installs the
brightness dialog, so release-bundle installation checks for Python 3 with a
`venv` that provisions `pip`, plus `zenity`. `swayidle` is required only when
using that desktop backend.
`venv` that provisions `pip`, plus `zenity`. `swayidle` is needed only by an
existing explicit selection or as the deprecated compatibility fallback.

### Debian, Ubuntu, and Pop!_OS

```bash
sudo apt install python3-venv python3-pip zenity
# Optional swayidle backend:
# Deprecated compatibility fallback only:
sudo apt install swayidle
```

### Fedora

```bash
sudo dnf install python3 python3-pip python3-virtualenv zenity
# Optional swayidle backend:
# Deprecated compatibility fallback only:
sudo dnf install swayidle
```

### Arch Linux

```bash
sudo pacman -S python python-pip python-virtualenv zenity
# Optional swayidle backend:
# Deprecated compatibility fallback only:
sudo pacman -S swayidle
```

Expand Down
23 changes: 18 additions & 5 deletions configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ if [ "${LG_BUDDY_NONINTERACTIVE:-0}" = "1" ]; then
exit 1
}
validate_backend "$screen_backend" || {
echo "LG_BUDDY_SCREEN_BACKEND must be one of auto, gnome, wayland, or swayidle."
echo "LG_BUDDY_SCREEN_BACKEND must be auto, gnome, wayland, or the deprecated compatibility value swayidle."
exit 1
}
validate_screen_idle_blank "$screen_idle_blank" || {
Expand Down Expand Up @@ -310,7 +310,11 @@ else
echo " 1) auto"
echo " 2) gnome"
echo " 3) wayland"
echo " 4) swayidle"
backend_choice_range="1-3"
if [ "$existing_config_loaded" -eq 1 ] && [ "$current_screen_backend" = "swayidle" ]; then
echo " 4) swayidle (deprecated compatibility backend; preserve existing selection)"
backend_choice_range="1-4"
fi

case "$current_screen_backend" in
auto) default_backend_choice="1" ;;
Expand All @@ -321,13 +325,19 @@ else
esac

while true; do
BACKEND_CHOICE="$(prompt_with_default "Enter number (1-4)" "$default_backend_choice")"
BACKEND_CHOICE="$(prompt_with_default "Enter number ($backend_choice_range)" "$default_backend_choice")"
case "$BACKEND_CHOICE" in
1) screen_backend="auto"; break ;;
2) screen_backend="gnome"; break ;;
3) screen_backend="wayland"; break ;;
4) screen_backend="swayidle"; break ;;
*) echo " Please enter a number between 1 and 4." ;;
4)
if [ "$backend_choice_range" = "1-4" ]; then
screen_backend="swayidle"
break
fi
echo " Please enter a number between 1 and 3."
;;
*) echo " Please enter a number in $backend_choice_range." ;;
esac
done

Expand Down Expand Up @@ -383,6 +393,9 @@ echo " System Sleep/Wake: $system_sleep_wake_policy"
echo " Update Checks: $update_auto_check"
echo " Update Channel: $update_channel"
echo " Config File: $CONFIG_FILE"
if [ "$screen_backend" = "swayidle" ]; then
echo " Warning: swayidle is a deprecated compatibility backend planned for removal in LG Buddy 2.0.0; use auto or wayland."
fi
echo ""

if [ "${LG_BUDDY_NONINTERACTIVE:-0}" != "1" ]; then
Expand Down
Loading