himawari8 wallpaper для linux [xfce4]

от автора

Почитал я недавно про скрипт на PowerShell, который ставил фотки со спутника обоями на рабочий стол. Погуглив, не нашёл реализации под linux — коя ниже.


Возможные проблемы

По мелочи: сервер не всегда загружает изображения прямо совсем новые, так что есть шанс наткнуться на пустоту. Поэтому в скрипте я получаю фотки прошлого дня: nowday=$(date +%d -d -1day)

Сервер загружает новый пак фотографий раз в десять минут и требует округления времени до десятков. Поэтому

nowtime=$(date +%H%M | sed -r 's/.$//')
nowtime=$nowtime"000"

Особые проблемы тут в одном месте: в установке обоев на рабочий стол.

Для xfce4

Общий синтаксис

xfconf-query -c xfce4-desktop -p %desktoppath% -s %image%

Получение параметров

Открываешь /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml

Предположим, что там что-то типа:

<channel name="xfce4-desktop" version="1.0">   <property name="backdrop" type="empty">     <property name="screen0" type="empty">       <property name="monitorVGA-0" type="empty">         <property name="workspace0" type="empty">           <property name="color-style" type="int" value="2"/>           <property name="image-style" type="int" value="5"/>           <property name="last-image" type="string" value="/home/user/pictures/my_standart_wallpaper.png"/>         </property>       </property>     </property>   </property> </channel> 

Значит, вместо %desktoppath% надо указать /backdrop/screen0/monitorVGA-0/workspace0/last-image

Ну, а %image% — полный путь к файлу нового изображения.

Другие X-системы

?

Код

Код на bash

#!/bin/bash  delay=900 # seconds  while true do  	width=550 	level='4d' #Level can be 4d, 8d, 16d, 20d  	numblocks=4 #this apparently corresponds directly with the level, keep this exactly the same as level without the 'd'  	nowtime=$(date +%H%M | sed -r 's/.$//') 	nowtime=$nowtime"000" 	nowyear=$(date +%Y) 	nowmonth=$(date +%m) 	nowday=$(date +%d -d -1day)  	workdir="/home/cutemaj/.earthwallpaper"  	if [ ! -d $workdir ]; then 		mkdir -p $workdir 	fi  	cd $workdir  	outfile="latest.jpg"   	site="http://himawari8-dl.nict.go.jp/himawari8/img/D531106"  	url="$site/$level/$width/$nowyear/$nowmonth/$nowday/$nowtime" 	dash="_"  		for (( i=0; i<=$numblocks-1; ++i)) 		do 		    for (( j=0; j<=$numblocks-1; ++j)) 			do 				partialimageurl="$url$dash$i$dash$j.png" 				echo Downloading from $partialimageurl to $workdir 			    wget $partialimageurl -P $workdir 			done 			convert -append *_*_*.png img_$i.png 			rm *_*_*.png 		done 	convert +append img_*.png out.png 	rm img_*.png  	xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorVGA-0/workspace0/last-image -s $workdir/out.png   	sleep $delay done 

Похожее

С авторами не связывался, но, думаю, в открытый доступ они это не просто так грузили.

ссылка на оригинал статьи https://habrahabr.ru/post/276845/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *