feat: dress VLC down to an appliance screen
Stock VLC looks like a desktop media player, which is wrong for a room where the TV is the whole interface. VLC stays the backend because its dvdnav module is what provides the disc menus, and menus are the part that matters on a commercial disc. It is dressed down with documented VLC 3.x options, all verified against the 3.0.23 build in Debian Trixie: minimal view, dark palette, no cone, no tray, no now-playing popups, no resume prompt, no recent-disc history, no title banner. sway draws no border on the window either, so there is nothing above the video. The auto-hiding fullscreen controller is deliberately kept: it is not persistent chrome, and it is the only way a volunteer with a mouse can pause or change chapter. No skin is involved. Skins replace the interface wholesale and take the keyboard and mouse handling that DVD menu navigation depends on with them, as would --intf dummy. Also drops --no-qt-updates-notif, which was not an option in Debian's VLC at all. It made VLC exit before it started, so the DVD button could never have launched a disc. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
428eb27a74
commit
c81fc1b0b9
+32
-2
@@ -43,12 +43,42 @@ def notify(title, message, urgency="normal"):
|
||||
|
||||
|
||||
def player_command(device):
|
||||
"""VLC, dressed down to look like an appliance rather than a desktop app.
|
||||
|
||||
All of these are documented VLC 3.x options, verified against the
|
||||
3.0.23 build in Debian Trixie. No skin is involved: skins replace the
|
||||
interface wholesale and break DVD menu input, which is the one thing
|
||||
that has to keep working.
|
||||
|
||||
Note that --no-qt-updates-notif, which earlier builds passed, is not
|
||||
an option in Debian's VLC and made it refuse to start at all.
|
||||
"""
|
||||
return [
|
||||
PLAYER,
|
||||
# Fullscreen first: the disc opens straight onto the TV.
|
||||
"--fullscreen",
|
||||
"--no-video-title-show",
|
||||
# No menu bar or extended panels, and a dark window instead of
|
||||
# the default light grey one.
|
||||
"--qt-minimal-view",
|
||||
"--qt-dark-palette",
|
||||
# No orange cone, and no album-art panel, behind the video.
|
||||
"--no-qt-bgcone",
|
||||
# Nothing that behaves like a desktop application.
|
||||
"--no-qt-system-tray",
|
||||
"--no-qt-name-in-title",
|
||||
"--no-qt-video-autoresize",
|
||||
"--qt-notification=0",
|
||||
# Never offer to resume, and never accumulate a list of the
|
||||
# discs a classroom has played.
|
||||
"--qt-continue=0",
|
||||
"--no-qt-recentplay",
|
||||
# No first-run privacy dialog, no title banner over the video.
|
||||
"--no-qt-privacy-ask",
|
||||
"--no-qt-updates-notif",
|
||||
"--no-video-title-show",
|
||||
# dvd:// selects VLC's dvdnav module, which is what provides the
|
||||
# disc menus. The Qt interface is kept for exactly that reason:
|
||||
# --intf dummy would be cleaner still but takes the keyboard and
|
||||
# mouse handling that menu navigation depends on with it.
|
||||
f"dvd://{device}",
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user