clone

a desktop tv and program guide for over-the-air broadcasts: what's on air, what your tuner gets, live tv, recordings

F goes full screen, Shift F favorites

FelineStateMachine committed 419914f
The two keys swap: full screen, used more, takes the plain key, in every
view; favoriting the channel (on TV and in the guide) takes Shift F. The
hints, the on-screen controls, Settings' key list and the README follow.
commit
419914f8ce8ec5175cf6e4f983a563110f80f8c5
parent
1ab62381ae9c6420af4d6a7f71ca721dacdd9973
author
FelineStateMachine <226808055+FelineStateMachine@users.noreply.github.com>
kind
feat risk score 2.0 of 3, Jev's estimate
2 files changed, +9 -9
MREADME.md6+++---
Mfrontend/dist/app.js12++++++------
M README.md +3 -3
@@ -152,13 +152,13 @@ had.
152152 | R / Shift R / N | Record this show / every episode / new episodes |153153 | C | Closed captions on or off |154154 | V | Next audio track (second language, described video) |155-| f | Favorite this channel |155+| Shift F | Favorite this channel |156156 | I | Info banner; again for the measured signal, again to hide |157-| M / Shift F | Mute / fullscreen |157+| M / F | Mute / fullscreen |158158 159159 | Key | Elsewhere |160160 | --- | --- |161-| G | Guide: arrows move, and Up and Down wrap round the channels. The filters (Favorites, Sports...; also `[` `]`) are Down from the top bar, which is Left from the earliest program. Enter watches what's on, or shows a program to come's actions; hold Enter, or I, for any program's: watch, record, series, new episodes only, favorite, hide. Home jumps to now, R / Shift R / N record, f favorite, H hide (U undoes) |161+| G | Guide: arrows move, and Up and Down wrap round the channels. The filters (Favorites, Sports...; also `[` `]`) are Down from the top bar, which is Left from the earliest program. Enter watches what's on, or shows a program to come's actions; hold Enter, or I, for any program's: watch, record, series, new episodes only, favorite, hide. Home jumps to now, R / Shift R / N record, Shift F favorite, H hide (U undoes) |162162 | D | Recordings: Left (or `[` `]`) for Library, Coming up, Series. Enter shows a recording's actions: resume, from the start, watched, delete (press twice); for one recording now, watch from the start, 30 more minutes, stop (keeping it) and delete; Shift Enter starts over, W marks watched, Delete twice removes; on a series K sets how many to keep, N new episodes only |163163 | A | Reception: what the tuners measured, by RF channel (the ones the scan found first), with the transmitters licensed on each. Up and Down pick one, Enter watches its first channel; Left for the tuner, Measure now, which reads every RF channel on a free tuner and shows its progress, and Scan for channels (press twice) |164164 | W | Weather: current conditions, alerts, the next 24 hours, 7-day, radar loop and satellite; Up and Down move through them, Left to watch the weather channel |
M frontend/dist/app.js +6 -6
@@ -870,7 +870,7 @@ const OSD_BUTTONS = [
870870 ['guide', 'Guide'], ['play', 'Pause'], ['back', '-10 s'], ['ahead', '+30 s'], ['live', 'Live'],871871 ['captions', 'Captions'], ['audio', 'Audio'], ['record', 'Record'], ['favorite', 'Favorite'], ['last', 'Last channel'],872872 ];873-const OSD_KEYS = { guide: 'G', play: 'Space', back: 'Left', ahead: 'Right', live: 'End', captions: 'C', audio: 'V', record: 'R', favorite: 'F', last: 'L' };873+const OSD_KEYS = { guide: 'G', play: 'Space', back: 'Left', ahead: 'Right', live: 'End', captions: 'C', audio: 'V', record: 'R', favorite: 'Shift F', last: 'L' };874874 const ICON_TEXT = 'text-anchor="middle" font-family="Plex Mono, Menlo, monospace" font-weight="700"';875875 const OSD_ICONS = {876876 guide: '<path d="M3 4h18v3.5H3zm0 6.25h7.5v3.5H3zm9.5 0H21v3.5h-8.5zM3 16.5h11V20H3zm13 0h5V20h-5z"/>',
@@ -1276,7 +1276,7 @@ function wireKeys() {
12761276 state.lastHidden = null;12771277 return unhide([key]).then(() => toast('Channel shown again', 1800));12781278 }1279- if (k === 'F') return toggleFullscreen();1279+ if (k === 'f') return toggleFullscreen();12801280 12811281 if (state.view === 'guide') return guideKey(e);12821282 if (state.view === 'antenna') return antennaKey(e);
@@ -1302,7 +1302,7 @@ function wireKeys() {
13021302 case 'n': case 'N': return recordNow('series', true);13031303 case 'c': case 'C': return toggleCaptions();13041304 case 'v': case 'V': return cycleAudio();1305- case 'f': return toggleFavorite(state.current);1305+ case 'F': return toggleFavorite(state.current);13061306 default:13071307 }13081308 });
@@ -1916,7 +1916,7 @@ function guideKey(e) {
19161916 return guideActivate();19171917 case 'i': case 'I': e.preventDefault(); return guideOpenActions();19181918 case 'r': e.preventDefault(); recordSelected('once'); return;1919- case 'f': e.preventDefault(); toggleFavorite(list[state.gRow]); return;1919+ case 'F': e.preventDefault(); toggleFavorite(list[state.gRow]); return;19201920 case 'h': case 'H': e.preventDefault(); hideChannel(list[state.gRow]); return;19211921 case 'R': e.preventDefault(); recordSelected('series', false); return;19221922 case 'n': case 'N': e.preventDefault(); recordSelected('series', true); return;
@@ -2113,7 +2113,7 @@ function renderGuide() {
21132113 // guideStatusHints names the guide's keys beside its filters.21142114 function guideStatusHints() {21152115 if (androidTV && !prompts.pad) return 'Filters: Left to the top bar, then Down';2116- return hints([['i', 'I', 'more'], ['f', 'F', 'favorite'], ['h', 'H', 'hide'], ['[', '[ ]', 'filter']]);2116+ return hints([['i', 'I', 'more'], ['', 'Shift F', 'favorite'], ['h', 'H', 'hide'], ['[', '[ ]', 'filter']]);21172117 }21182118 21192119 // moveGuideSelection marks the selected row and program in rows already
@@ -2952,7 +2952,7 @@ function renderSettings() {
29522952 if (settingsUI.sub === 'controls' && androidTV) {29532953 html += '<p class="s-note">On the remote: OK brings up the controls over the picture, with Guide first, so OK twice opens the guide. In them Left and Right move along a row, Up and Down between rows: the timeline (Left and Right skip), the buttons (play, captions, record, last channel and more), and the views at the top. On live TV Up and Down change channel, and Left and Right skip. In the guide OK watches what\'s on, and holding OK offers more: record, series, favorite, hide. Back goes back. Remotes with them: digits tune a channel, Channel up and down change channel, Play/Pause pauses.</p>';29542954 } else if (settingsUI.sub === 'controls') {2955- html += '<p class="s-note">Enter on TV brings up the controls, with the guide, captions, recording, the last channel and the views; Esc puts them away. Digits tune a channel. The remote\'s Fast forward and Rewind skip, Record records. Keyboard only: L last channel, C captions, V audio track, F favorite, R record, D recordings, A reception, Shift F full screen. In the guide hold Enter, or press I, for a program\'s actions. In Steam, give Airwaves the Gamepad controller layout, not a keyboard one.</p>';2955+ html += '<p class="s-note">Enter on TV brings up the controls, with the guide, captions, recording, the last channel and the views; Esc puts them away. Digits tune a channel. The remote\'s Fast forward and Rewind skip, Record records. Keyboard only: L last channel, C captions, V audio track, Shift F favorite, R record, D recordings, A reception, F full screen. In the guide hold Enter, or press I, for a program\'s actions. In Steam, give Airwaves the Gamepad controller layout, not a keyboard one.</p>';29562956 }29572957 const keep = list.scrollTop;29582958 list.innerHTML = html;