Как установить вывод tty-clock в качестве фона - PullRequest
1 голос
/ 07 марта 2019

Я хотел бы установить tty-clock в качестве фона для моей настройки i3.Я хочу знать, как отобразить вывод команды в качестве фона.

То, что я до сих пор пробовал:

  1. Запуск сценария, который предположительно запустит tty-clock и сделает его снимок экрана с помощью scrot один раз в минуту, и feh установит его в качестве фона.

    Проблема: tty-clock останется включенным, не позволяя запустить следующую команду, а scrot - утилита для скриншотов, и она будетзахватить все, что я смотрю.Или мне нужно было бы переключаться в это рабочее пространство каждую минуту, чтобы запускать, снимать, убивать, устанавливать в качестве фона.

tty-clock && killall tty-clock
scrot ~/Pictures/Wallpaper/background.png
feh ~/Pictures/Wallpaper/background.png
сохранить вывод tty-часов в файл, который предположительно будет преобразован в изображение с помощью convert (by imagemagick) и feh установит его в качестве фона.

Проблема: ttyвывод часов - это больше, чем просто часы, которые, я думаю, дают информацию о цветах или месте расположения символов.

tty-clock | cat > ~/TEMP/tty-clock-output

вывод tty-clock

[?1049h[22;0;0t[1;39r(B[m[4l[?7h[?1h=[39;49m[?25l[39;49m(B[m[H[2J[17;59H[H[2J[7;12H[17;59H
[64G[45m  
[Z  
[Z  
[Z  
[Z  [49m(B[m[18d [45m  [49m(B[m  [45m  
[67G  [49m(B[m  [45m  
[67G      

  [49m(B[m[18;79H[45m      [19;75H  [49m(B[m  [45m  [49m(B[m  [45m  
[79G  [49m(B[m  [45m  [21;75H  [49m(B[m  [45m  [49m(B[m  [45m  
[79G      [49m(B[m[18d [45m  [49m(B[m  [45m  
[86G  [49m(B[m  [45m  
[86G      

  [49m(B[m[22;66H   [22;85H[92G[22;66H  [22;85H[92G[22;66H  [22;85H[92G[22;66H  [22;85H[92G[22;66H  [22;85H[92G[22;66H  [22;85H[92G[22;66H  [22;85H[92G[39;1H[?12l[?25h[?1049l[23;0;0t
[?1l>[?1049h[22;0;0t[1;39r(B[m[4l[?7h[?1h=[39;49m[?25l[39;49m(B[m[H[2J[17;59H[H[2J[7;12H[17;59H
[64G[45m  
[Z  
[Z  
[Z  
[Z  [49m(B[m[18d [45m  [49m(B[m  [45m  
[67G  [49m(B[m  [45m  
[67G      

  [49m(B[m[18;79H[45m      [19;75H  [49m(B[m  [45m  [49m(B[m  [45m  
[79G  [49m(B[m  [45m  [21;75H  [49m(B[m  [45m  [49m(B[m  [45m  
[79G      [49m(B[m[18d [45m      
[86G  


[86G      [49m(B[m[22;66H   [22;85H[92G[22;66H  [22;85H[92G[39;1H[?12l[?25h[?1049l[23;0;0t
[?1l>

EDIT:

▞▀▖   ▜         ▌
▚▄ ▞▀▖▐ ▌ ▌▞▀▖▞▀▌
▖ ▌▌ ▌▐ ▐▐ ▛▀ ▌ ▌
▝▀ ▝▀  ▘ ▘ ▝▀▘▝▀▘

Я получил шрифт, подобный к тому, что мне было нужно, и изменил его, чтобы он соответствовал стилю tty-clock.

Вот сценарий, который я написал, который будетповторяется с watch -n 15 команда:

#! /bin/sh

echo "text 0,0 '" > /home/murteza/Pictures/Wallpaper/i3wm/time

date +%H\:%M | figlet -f /home/murteza/.local/share/figlet/ANSI\ Regular.flf >> /home/murteza/Pictures/Wallpaper/i3wm/time

echo \' >> /home/murteza/Pictures/Wallpaper/i3wm/time

convert -size 390x130 xc:black -font "DejaVu-Sans-Mono" -pointsize 20 -fill "#808080" -draw @/home/murteza/Pictures/Wallpaper/i3wm/time /home/murteza/Pictures/Wallpaper/i3wm/clock.png

composite /home/murteza/Pictures/Wallpaper/i3wm/clock.png -gravity center /home/murteza/Pictures/Wallpaper/i3wm/source.jpg /home/murteza/Pictures/Wallpaper/i3wm/result.jpg

feh --bg-scale /home/murteza/Pictures/Wallpaper/i3wm/result.jpg

Окончательный результат здесь

Благодаря @ ZeroCC

1 Ответ

0 голосов
/ 20 марта 2019

Вам вообще не нужно вызывать tty-clock: скрипт, который отправляет вывод date (отформатированный для соответствия) в текстовый файл, а затем запускает convert, что должно помочь.Вам нужно будет потратить некоторое время на игры с параметрами convert, чтобы получить желаемый вид.

...