Render the ice as long videos and play them as wallpapers
render_wallpaper.py drives headless Firefox frame by frame (four at a time, resuming where it stopped), then ffmpeg. Thirty seconds at 30 fps is exactly one plasma cycle, so frame 900 meets frame 0 and the loop has no seam. plasma-plugin/dev.emil.video is a minimal Plasma 6 video wallpaper: one file per screen, filling the screen, looping. H.264 is encoded Baseline because Qt here decodes through openh264, which rejects High profile and leaves a frozen frame; a new source also has to be played explicitly. The #shot hash learned info=0 to hide the on-screen hint for renders.
This commit is contained in:
@@ -79,6 +79,7 @@ const shot = location.hash.startsWith('#shot');
|
||||
const shotParams = new URLSearchParams(location.hash.slice(1));
|
||||
let mouseX = Number(shotParams.get('mx') ?? 0.5), mouseY = Number(shotParams.get('my') ?? 0.5);
|
||||
let speed = 1, time = Number(shotParams.get('t') ?? 0), previous;
|
||||
if (shotParams.get('info') === '0') document.getElementById('info').style.display = 'none';
|
||||
addEventListener('pointermove', e => { mouseX = e.clientX / innerWidth; mouseY = 1 - e.clientY / innerHeight; });
|
||||
addEventListener('keydown', e => {
|
||||
if (e.key === '-' || e.key === '_') speed = Math.max(0.125, speed / 2);
|
||||
|
||||
Reference in New Issue
Block a user