From bc631fd4e03fd0d09e57e81926b2e0b58196ad97 Mon Sep 17 00:00:00 2001
From: Mikhail Tergoev <fidel@altlinux.org>
Date: Fri, 7 Mar 2025 14:14:49 +0300
Subject: [PATCH] fixed use winehelper -i with pipe

---
 CHANGELOG  |  2 ++
 winehelper | 13 ++++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 5cbe4b6..f64f551 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,8 @@
 История изменений:
 0.2.7:
 * удалена команда обновления ситемы "dist-upgrade" при установке зависимостей
+* исправлено отображение списка возможных установок при использовании перенаправления
+Например: "winehelper -i | less"
 
 0.2.6:
 * добавлена информация о "Лицензионных соглашениях" перед запуском автоустановок программ
diff --git a/winehelper b/winehelper
index 325d511..ef8347e 100755
--- a/winehelper
+++ b/winehelper
@@ -833,14 +833,21 @@ wine_run_install () {
 }
 
 run_autoinstall () {
+    [[ -p /dev/stdout ]] && local USE_PIPE="1"
     AI_SCRIPT="${1,,}"
     if [[ $AI_SCRIPT == "list" ]] || [[ -z "$AI_SCRIPT" ]] ; then
-        print_info "Список программ с возможностью автоматической установки:"
+        if [[ $USE_PIPE == 1 ]]
+        then echo "Список программ с возможностью автоматической установки:"
+        else print_info "Список программ с возможностью автоматической установки:"
+        fi
         for list in $(ls "$WH_AUTOINSTALL_DIR") ; do
             AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
             AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
-            printf "\E[36m%s $SCRIPT_NAME install $list  -  $AI_PROGNAME %s\e[0m\n"
-            echo -e "$AI_INFO\n"
+            if [[ $USE_PIPE == 1 ]]
+            then echo -e "\n$SCRIPT_NAME install $list  -  $AI_PROGNAME"
+            else printf "\n\E[36m%s $SCRIPT_NAME install $list  -  $AI_PROGNAME %s\e[0m\n"
+            fi
+            echo -e "$AI_INFO"
         done
         echo
     elif [[ -f "$WH_AUTOINSTALL_DIR/$AI_SCRIPT" ]] ; then