WIP: kiosk #3
@@ -1,3 +1,6 @@
|
|||||||
|
gui-apps/swayidle
|
||||||
gui-wm/sway
|
gui-wm/sway
|
||||||
net-wireless/wpa_supplicant
|
media-gfx/feh
|
||||||
media-video/pipewire
|
media-video/pipewire
|
||||||
|
net-misc/curl
|
||||||
|
net-wireless/wpa_supplicant
|
||||||
|
|||||||
@@ -7,5 +7,13 @@ input * {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exec /usr/lib64/firefox/firefox
|
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 [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