LINUX.ORG.RU

Сделал пакет для смены обоины на случайную с wallhaven.cc

 , ,


3

1

Пакет добавил в aur:

$ yay -S random-wallpaper
$ sudo systemctl start random-wallpaper.timer && sudo systemctl enable random-wallpaper.timer

Исходный код тут.

И PKGBUILD:

# Maintainer: Sergey M <tz4678@gmail.com>
pkgname=random-wallpaper
pkgver=0.1.0
pkgrel=1
pkgdesc='Changes the desktop wallpaper to random from the site wallhaven.cc'
arch=('any')
url='https://github.com/tz4678/random-wallpaper'
license=('MIT')
depends=('jq')
source=('git+https://github.com/tz4678/random-wallpaper.git')
md5sums=('SKIP')

package() {
  cd "$srcdir/$pkgname"
  install -Dm755 $pkgname $pkgdir/usr/bin/$pkgname
  install -Dm644 $pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
  install -Dm644 $pkgname.timer $pkgdir/usr/lib/systemd/system/$pkgname.timer
  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
}

Как лучше всего сделать конфиги? Например, время обновления обоины 15 минут задается в /url/lib/systemd/system/random-wallpaper.timer, а я хочу в отдельном конфиге все задавать.

И другой вопрос: есть ли какие-то недочеты в моем коде?

★★

у меня что-то подобное на баше вертится. с девиантарта, фликра, симплдесктопса, вконтача, и ещё какой-то парочки обойных сайтиков…

piyavking ★★★★★
()

небольшие правки
.

И это, приучайте себя уже делать нормальные коммиты.

theNamelessOne ★★★★★
()

110 это без людей, так как часто вываливаются телки в ниглеже

Неглиже.

theNamelessOne ★★★★★
()

Используется как минимум: bash, xdpyinfo, grep, curl, jq, gsettings, systemd.

Вижу зависимость только от: jq.

surefire ★★★
()
Ответ на: комментарий от tz4678

Чем меньше васянких скриптов запускается от юзера, тем лучше.

theNamelessOne ★★★★★
()
Ответ на: комментарий от tz4678

остальное ‒ gnome и xorg.

И где в таком случае зависимость от gnome и xorg?
У меня установлен gnome и xorg, но xdpyinfo точно нет!

surefire ★★★
()
Последнее исправление: surefire (всего исправлений: 1)
Ответ на: комментарий от tz4678
Nov 04 00:51:45 sergey-pc random-wallpaper[584]: xdpyinfo:  unable to open display ":0".

да и с дисплеем ошибка. конфиги вынес (теперь можно мокрые писечки искать). версия пакета теперь берется из тегов репозитория с гитхаба. короче я хотел лишь попробовать свой пакет создать. эксперимент удачен. сам пакет вроде работает, а вроде какие-то ошибки.

$ vim /etc/conf.d/random-wallpaper
# Оно нужно?
DISPLAY=:0
# Обоину можно сохранять не во временную папку, если SSD не жалко
FILE=
# Про параметры можно почитать здесь:
# https://wallhaven.cc/help/api#search
# Для поиска +18
PARAM_API_KEY=
# поиск по словам, например, «мокрые писечки»
PARAM_Q=
PARAM_CATEGORIES=110
PARAM_PURITY=110
PARAM_COLORS=
tz4678 ★★
() автор топика

Мораль всей басни такова: нормально делай – нормально будет.

Siborgium ★★★★★
()
Ответ на: комментарий от tz4678

И другой вопрос: есть ли какие-то недочеты в моем коде?

у меня один монитор, то твои проблемы.

Давай, удачи.

surefire ★★★
()
Ответ на: комментарий от tz4678

Держи, последний раз помогаю.

rect.js:

imports.gi.versions.Gtk = "3.0";
imports.gi.versions.Gdk = "3.0";

const { Gdk, Gtk } = imports.gi;

Gtk.init(null);

const screen = Gdk.Screen.get_default();
const rect = screen.get_monitor_geometry(screen.get_primary_monitor());

print(`${rect.width}x${rect.height}`);
$ gjs rect.js
3840x2160

surefire ★★★
()
Ответ на: комментарий от anonymous

Да не смеши, он Hello World то пишет с трудом, о каких там может обоях идти речь?

anonymous
()
Ответ на: комментарий от tz4678

А если у меня сейчас дисплей имеет номер :0, а в другой раз - :1. Как конфиг поможет мне в таком случае?

eternal_sorrow ★★★★★
()

Картинки надо сохранять не в tmp. Иначе после перезагрузки синее полотно на столе.

Почему-то оно мне качает и ставить только два одинаковых стола.

xDShot ★★★★★
()
Ответ на: комментарий от xDShot
FILE=/usr/share/backgrounds/random-wallpaper.jpg

Так будет каждые 5 минут 1,5-6,5 Мб записываться. 400-500 мб в день выйдет.

Через systemd, наверное, неудачное решение это делать.

tz4678 ★★
() автор топика

Большое спасибо, не мог вспомнить название этого сайта)

Deleted
()

Добавь хоть проверку на код http, вернет API это 4xx и что делать :)

garik_keghen ★★★★★
()

у вас и весь код и сама идея менять обоину через системный юнит - один большой неисправимый недочёт

anonymous
()
Ответ на: комментарий от anonymous

язвительные мнения из под шконки (аононимные) мало волнуют

tz4678 ★★
() автор топика
Ответ на: комментарий от piyavking

на баше вертится

уж не при помощи ли feh случаем? в нем можно прикрутить - рандомную картинку показывать из заданой дирректории, но вот не пойму как так же ссылку прикрутить…

amd_amd ★★★★★
()
Последнее исправление: amd_amd (всего исправлений: 1)
Ответ на: комментарий от peregrine

фейспалм.jpeg

как через обоину, которая ставится через gsettings можно похекать твой анус? у нее прав на выполнение нет и чтобы те бинарник загрузить надо серваки сайта попячить. чушь пишешь.

tz4678 ★★
() автор топика
Ответ на: комментарий от tz4678

А это ты, например, у разрабов долфина спроси, которые автоматом при заходе в директорию специальный скрытый файл запускали, если он особым образом подготовлен, и плевать на флаги исполнения. Да, сейчас пофиксили, но сколько лет оно было и сколько подобного просто не найдено...

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от amd_amd

feh`у можно даже url картинки скармливать, он без скачивания обоину натянет.

piyavking ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.