Skip to content

Commit

Permalink
Replaceable banner
Browse files Browse the repository at this point in the history
  • Loading branch information
betcher committed Mar 14, 2023
1 parent 867f690 commit ff0af8d
Show file tree
Hide file tree
Showing 12 changed files with 95 additions and 48 deletions.
5 changes: 3 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,6 @@ install:
install -m 755 setup-helpers/termhelper-estimate-speed.sh $(DESTDIR)$(BINDIR)/termhelper-estimate-speed
mkdir -p $(DESTDIR)$(UNITDIR)
install -m 644 setup-helpers/termhelper-estimate-speed.service $(DESTDIR)$(UNITDIR)


mkdir -p $(DESTDIR)$(DATADIR)/termhelper/header_logo
cp header_logo/* $(DESTDIR)$(DATADIR)/termhelper/header_logo/

6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,11 @@
не более 60 символов (по умолчанию) и отцентрован.
- функция "_" - запись текста в две колонки. Например описание команд и сама команда. Принимает два параметра,
в обоих текст в кавычках.
- функция long - разбивает переданный текст на строки по словам, каждая строка завершается обратным слэшем.
- функция = - меняет цвет текста. Доступные значения: black, red, green, yellow, brown, blue, light_blue, magenta,
cyan, white, purple, default
И несколько переменных, которыми можно управлять работой встроенных функций.

И несколько переменных, которыми можно управлять работой встроенных функций:
- mark_color=green цвет выделенного, иначе говоря цвет второй колонки для функции "_"
- def_color=default цвет по умолчанию, mark_color - работате только когда текущий цвет эквивалентен дефолтному
иначе все будет отображаться тем цветом котрый установлен с "="
Expand All @@ -62,7 +64,7 @@ cyan, white, purple, default
```
= magenta # устанавливаем цвет для заголовка
+ "ЭТО ЗАГОЛОВОК"
+ "-------------" # подчеркнутый заголовок
+ "-------------" # подчеркнутый заголовок
= default # возвращаем цвет на место, иначе до упора мажента будет
separ='.' # меняем разделитель на точки
column_width=40 # уменьшаем ширину первого столбца до 40 (середина)
Expand Down
6 changes: 6 additions & 0 deletions header_logo/MagOS_Linux_2021
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
▀██ ██▀ ▄▄█▀▀██ ▄█▀▀▀▄█
███ ███ ▄▄▄▄ ▄▄▄ ▄ ▄█▀ ██ ██▄▄ ▀
█▀█▄▄▀██ ▀▀ ▄██ ██ ██ ██ ██ ▀▀███▄
█ ▀█▀ ██ ▄█▀ ██ █▀▀ ▀█▄ ██ ▄ ▀██
▄█▄ █ ▄██▄ ▀█▄▄▀█▀ ▀████▄ ▀▀█▄▄▄█▀ █▀▄▄▄▄█▀
▄█▄▄▄▄▀
6 changes: 6 additions & 0 deletions header_logo/ROSA_BARIUM
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
██████╗ █████╗ ██████╗ ██╗██╗ ██╗███╗ ███╗
██╔══██╗██╔══██╗██╔══██╗██║██║ ██║████╗ ████║
██████╔╝███████║██████╔╝██║██║ ██║██╔████╔██║
██╔══██╗██╔══██║██╔══██╗██║██║ ██║██║╚██╔╝██║
██████╔╝██║ ██║██║ ██║██║╚██████╔╝██║ ╚═╝ ██║
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝
6 changes: 6 additions & 0 deletions header_logo/rosa
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
██████╗ ██████╗ ███████╗ █████╗
██╔══██╗██╔═══██╗██╔════╝██╔══██╗
██████╔╝██║ ██║███████╗███████║
██╔══██╗██║ ██║╚════██║██╔══██║
██║ ██║╚██████╔╝███████║██║ ██║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝
14 changes: 7 additions & 7 deletions helps/en/help
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
+ Help
+
echo "\
██████╗ ██████╗ ███████╗ █████╗ How to use it:
██╔══██╗██╔═══██╗██╔════╝██╔══██╗ - find catalogue page by meaning
██████╔╝██║ ██║███████╗███████║ - select a command with the left mouse button
██╔══██╗██║ ██║╚════██║██╔══██║ - paste with middle mouse button
██║ ██║╚██████╔╝███████║██║ ██║ - edit command (if needed)
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ - Enter
How to use it:
- find catalogue page by meaning
- select a command with the left mouse button
- paste with middle mouse button
- edit command (if needed)
- Enter
"

= default
Expand All @@ -27,6 +27,6 @@ _ "- OS version:" "cat /etc/os-release"
+
separ=' '
mark_color=magenta
_ "To disable banner \"ROSA\" please add HELLO=no to:" "$HOME/.config/termhelper"
_ "To disable banner terminal startup please add HELLO=no to:" "$HOME/.config/termhelper"
_ "To disable the search in repo for undetected commands, you may add BINRYSEARCH=no to:" "$HOME/.config/termhelper"
mark_color=default
12 changes: 4 additions & 8 deletions helps/en/help.header
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
mark_color=default
echo "
██████╗ ██████╗ ███████╗ █████╗
██╔══██╗██╔═══██╗██╔════╝██╔══██╗
██████╔╝██║ ██║███████╗███████║
██╔══██╗██║ ██║╚════██║██╔══██║
██║ ██║╚██████╔╝███████║██║ ██║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝
_th_logo
mark_color=default

Hello!
echo "
Hello!
To get help please enter: termhelper"

14 changes: 7 additions & 7 deletions helps/it/aiuto
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
+ Aiuto
+
echo "\
██████╗ ██████╗ ███████╗ █████╗ Come usarlo:
██╔══██╗██╔═══██╗██╔════╝██╔══██╗ - trovare una pagina di catalogo in base al nome
██████╔╝██║ ██║███████╗███████║ - selezionare un comando con il bottone sinistro del mouse
██╔══██╗██║ ██║╚════██║██╔══██║ - incollarlo con il bottone centrale del mouse
██║ ██║╚██████╔╝███████║██║ ██║ - modificare il comando (se necessario)
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ - premere Invio
Come usarlo:
- trovare una pagina di catalogo in base al nome
- selezionare un comando con il bottone sinistro del mouse
- incollarlo con il bottone centrale del mouse
- modificare il comando (se necessario)
- premere Invio
"

= default
Expand All @@ -27,5 +27,5 @@ _ "- Versione del SO:" "cat /etc/os-release"
+
separ=' '
mark_color=magenta
_ "Per disabilitare il banner \"ROSA\" aggiungere HELLO=0 a:" "$HOME/.config/termhelper"
_ "Per disabilitare il banner aggiungere HELLO=0 a:" "$HOME/.config/termhelper"
mark_color=default
11 changes: 3 additions & 8 deletions helps/it/aiuto.header
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
mark_color=default
_th_logo
mark_color=default
echo "
██████╗ ██████╗ ███████╗ █████╗
██╔══██╗██╔═══██╗██╔════╝██╔══██╗
██████╔╝██║ ██║███████╗███████║
██╔══██╗██║ ██║╚════██║██╔══██║
██║ ██║╚██████╔╝███████║██║ ██║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝

Salve!
Salve!
Per avere aiuto digitare: aiuto"
16 changes: 9 additions & 7 deletions helps/ru/справка
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
+ Справка
+
echo "\
██████╗ ██████╗ ███████╗ █████╗ Как пользоваться:
██╔══██╗██╔═══██╗██╔════╝██╔══██╗ - найти по смыслу раздел справки
██████╔╝██║ ██║███████╗███████║ - выделить команду левой кнопкой мыши
██╔══██╗██║ ██║╚════██║██╔══██║ - вставить средней кнопкой мыши
██║ ██║╚██████╔╝███████║██║ ██║ - поправить (если требуется)
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ - нажать Enter
Как пользоваться:
- найти по смыслу раздел справки
- выделить команду левой кнопкой мыши
- вставить средней кнопкой мыши
- поправить (если требуется)
- нажать Enter
"

= default
Expand All @@ -27,6 +27,8 @@ _ "- Версия OC:" "cat /etc/os-release"
+
separ=' '
mark_color=magenta
_ "Для отключения приветствия \"ROSA\" при открытии терминала запишите HELLO=no в файл:" "$HOME/.config/termhelper"
_ "Для отключения приветствия при открытии терминала запишите HELLO=no в файл:" "$HOME/.config/termhelper"
_ "Для отключения поиска в репозитории не найденных комманд запишите BINARYSEARCH=no в файл:" "$HOME/.config/termhelper"
_ "Для замены логотипа в приветствии запишите HEADER_LOGO="/path/file-logo" в файл:" "$HOME/.config/termhelper"
_ "Либо поместите файл-логотип c именем logo в каталог:" "/usr/share/termhelper/header_logo/"
mark_color=default
10 changes: 3 additions & 7 deletions helps/ru/справка.header
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
mark_color=default
echo "
██████╗ ██████╗ ███████╗ █████╗
██╔══██╗██╔═══██╗██╔════╝██╔══██╗
██████╔╝██║ ██║███████╗███████║
██╔══██╗██║ ██║╚════██║██╔══██║
██║ ██║╚██████╔╝███████║██║ ██║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝
_th_logo
mark_color=default

echo "
Добро пожаловать!
Для получения помощи введите в консоли: справка"

37 changes: 37 additions & 0 deletions termhelper-functions
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,40 @@ _th_gettext(){
TEXTDOMAINDIR=/usr/share/locale \
gettext -s "$@"
}

_th_logo(){
[ "$HEADER_LOGO" ] || HEADER_LOGO='logo:NAME:ID'
# HEADER_LOGO is a ':' separated list of values to find in /usr/share/termhelper/header_logo/
# "ID" is a special value, it will be replaced with $ID from /etc/os-release
echo $HEADER_LOGO |grep -Eq 'ID|NAME' && [ -f '/etc/os-release' ] && . /etc/os-release
for val in $(echo "$HEADER_LOGO" |sed 's/:/ /g') ; do

This comment has been minimized.

Copy link
@mikhailnov

mikhailnov Mar 14, 2023

Collaborator

здесь grep и sed можно на чистый bash переписать, быстрее будет. а то такими темпами консоль начнет медленно открываться

This comment has been minimized.

Copy link
@betcher

betcher Mar 14, 2023

Owner

Это одноразовое действие, не цикл же. Не думаю что сколько нибудь заметно будет.

This comment has been minimized.

Copy link
@betcher

betcher Mar 14, 2023

Owner

https://bugzilla.rosalinux.ru/show_bug.cgi?id=13158
Тут собранный пакет. Попробуй.

This comment has been minimized.

Copy link
@mikhailnov

mikhailnov Mar 14, 2023

Collaborator

А поясни логику этого кода, не пойму, зачем разделение двоеточиями и зачем так сложно в целом?

This comment has been minimized.

Copy link
@betcher

betcher Mar 15, 2023

Owner

Может и перестарался с возможностями. Логика в том что в одной переменной задается последовательность поиска. Поиск до первого совпадения. logo:NAME:ID, тут logo это файл с именем logo в папке с логотипами. ID это ID из /etc/os-release, NAME тоже из os-release, только пробелы заменены подчеркиванием ибо файлы с пробелами зло.
То есть получается: сперва ищем файл /usr/share/termhelper/header_logo/logo

This comment has been minimized.

Copy link
@betcher

betcher Mar 15, 2023

Owner

Если такого нет то файл с именем как NAME из os-release, если нет то с ID из os-relelease, если нет то пишем HELLO.

This comment has been minimized.

Copy link
@betcher

betcher Mar 15, 2023

Owner

Если через конфиг в эту переменную занести имя файла будет использовать его.

This comment has been minimized.

Copy link
@betcher

betcher Mar 15, 2023

Owner

Можно файл с путем, можно просто имя файла если он в /usr/share/termhelper/header_logo

This comment has been minimized.

Copy link
@betcher

betcher Mar 15, 2023

Owner

Можно аналогично несколько файлов через ":" и не использовать ID и NAME. Короче с запасом возможностей ))

if [ $val == "ID" ] ; then
if [ -f "/usr/share/termhelper/header_logo/$ID" ] ; then
LOGO_="/usr/share/termhelper/header_logo/$ID"
break
fi
elif [ $val == "NAME" ] ; then
FNAME=$(echo $NAME |sed 's/ /_/g')
if [ -f "/usr/share/termhelper/header_logo/$FNAME" ] ; then
LOGO_="/usr/share/termhelper/header_logo/$FNAME"
break
fi
elif [ -f "$val" ] ; then
LOGO_="$val"
break
elif [ -f "/usr/share/termhelper/header_logo/$val" ] ; then
LOGO_="/usr/share/termhelper/header_logo/$val"
break
fi
done
if [ "$LOGO_" ] ; then
zcat "$LOGO_" 2>/dev/null || cat "$LOGO_"
else
echo "
__ __ _____ __ __ _____
| | | __| | | | | |
| | __| |__| |__| | |
|__|__|_____|_____|_____|_____|"
fi
}

0 comments on commit ff0af8d

Please sign in to comment.