home-manager/gui: Add brainrot screensavers
Some checks failed
CI / Check, build and cache nixfiles (push) Failing after 30m15s

This commit is contained in:
2025-03-24 15:00:28 +00:00
parent 584abd4991
commit bc74fb4968
2 changed files with 31 additions and 0 deletions

View File

@@ -86,6 +86,22 @@ class TTESaver(Screensaver):
self.running = False
self.proc.terminate()
class FFmpegCACASaver(Screensaver):
def __init__(self, video, weight=1.5):
super().__init__(
['@ffmpeg@/bin/ffmpeg', '-hide_banner', '-loglevel', 'error',
'-i', video,
'-pix_fmt', 'rgb24', '-window_size', '80x80',
'-f', 'caca', '-'],
env={
'CACA_DRIVER': 'ncurses',
},
weight=weight,
)
def stop(self):
super().stop(kill=True)
class MultiSaver:
savers = [
DoomSaver(0),
@@ -100,6 +116,9 @@ class MultiSaver:
TTESaver('ss -nltu'),
TTESaver('ss -ntu'),
TTESaver('jp2a --width=100 @enojy@'),
FFmpegCACASaver('@subwaySurfers@'),
FFmpegCACASaver('@minecraftParkour@'),
]
state_filename = 'screensaver.json'