WIP: kiosk #3
@@ -1,3 +1,6 @@
|
||||
gui-apps/swayidle
|
||||
gui-wm/sway
|
||||
net-wireless/wpa_supplicant
|
||||
media-gfx/feh
|
||||
media-video/pipewire
|
||||
net-misc/curl
|
||||
net-wireless/wpa_supplicant
|
||||
|
||||
@@ -7,5 +7,13 @@ input * {
|
||||
}
|
||||
|
||||
exec /usr/lib64/firefox/firefox
|
||||
exec /usr/bin/photoframe stream
|
||||
|
||||
exec swayidle -w \
|
||||
timeout 120 'photoframe show' resume 'photoframe hide'
|
||||
|
||||
for_window [title="Mozilla Firefox"] fullscreen
|
||||
for_window [class="photoframe"] fullscreen
|
||||
|
||||
assign [title="Mozilla Firefox"] 1
|
||||
assign [class="photoframe"] 2
|
||||
|
||||
46
overlay/usr/bin/photoframe
Executable file
46
overlay/usr/bin/photoframe
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
photoframe_hide() {
|
||||
swaymsg 'workspace 1'
|
||||
}
|
||||
|
||||
photoframe_show() {
|
||||
# Run on a separate workspace so Firefox can stay fullscreen, too
|
||||
swaymsg 'workspace 2'
|
||||
if [ -f /tmp/photoframe.pid ]; then
|
||||
# feh is already running
|
||||
return 0
|
||||
fi
|
||||
if [ ! -f /tmp/photoframe-current ]; then
|
||||
cp /usr/share/feh/images/feh.png /tmp/photoframe-current
|
||||
fi
|
||||
feh -FZ --draw-exif --class photoframe /tmp/photoframe-current &
|
||||
# Wait for the feh window to actually appear ...
|
||||
swaymsg -t subscribe '["window"]'
|
||||
# Sometimes, Sway's `for_window ... fullscreen` doesn't work?
|
||||
swaymsg fullscreen
|
||||
echo $! > /tmp/photoframe.pid
|
||||
}
|
||||
|
||||
photoframe_stream() {
|
||||
while :; do
|
||||
curl -NsS https://photos.pyrocufflink.blue/stream |
|
||||
while read url; do
|
||||
curl -fsL -o /tmp/photoframe-next "${url}" || continue
|
||||
mv /tmp/photoframe-next /tmp/photoframe-current
|
||||
done
|
||||
sleep 30
|
||||
done
|
||||
}
|
||||
|
||||
case $1 in
|
||||
show)
|
||||
photoframe_show
|
||||
;;
|
||||
hide)
|
||||
photoframe_hide
|
||||
;;
|
||||
stream)
|
||||
photoframe_stream
|
||||
;;
|
||||
esac
|
||||
5
portage/package.use/photoframe
Normal file
5
portage/package.use/photoframe
Normal file
@@ -0,0 +1,5 @@
|
||||
gui-apps/swayidle -systemd
|
||||
gui-libs/wlroots X
|
||||
gui-wm/sway X
|
||||
media-gfx/feh exif inotify
|
||||
net-misc/curl -alt-svc -ftp -hsts -http3 -imap -pop3 -progress-meter -psl -quic -smtp -tftp -websockets -adns -http2 CURL_QUIC: -*
|
||||
Reference in New Issue
Block a user