Skip to content

Using HTML slideshows

HTML slideshow files can be opened directly in a browser. For a distraction-free, full-screen experience, Chromium's --app flag removes all browser chrome:

chromium --app=file:///path/to/output.html --start-maximized

Thunar custom action — to open any .html slideshow with a double-click, add a custom action in Thunar (Edit → Configure Custom Actions):

  • Command: chromium --app=%f --start-maximized
  • File pattern: *.html
Firefox "App Mode" (like Chromium's --app)
  1. Create a dedicated profile: launch Firefox with the -P option (for example, firefox -P). Create a new profile — you can name it "app".
  2. Enable customization: open the new profile, type about:config in the address bar, and accept the risk warning. Search for the preference toolkit.legacyUserProfileCustomizations.stylesheets and set it to true.
  3. Create the userChrome.css file:
    • Locate the folder for your new "app" profile (you can find it via about:profiles and look for the "Root Directory").
    • In this folder, create a subfolder named chrome (in lowercase).
    • Inside this chrome folder, create a text file named userChrome.css.
    Open this file and paste the following content into it:
    /* Hides the tab bar */
    #TabsToolbar {
      visibility: collapse !important;
    }
    
    /* Hides the navigation bar (address bar) */
    #nav-bar {
      visibility: collapse !important;
    }
    
    /* Hide the menu bar */
    #toolbar-menubar {
      visibility: collapse !important;
    }
    
    /* Hide the sidebar (bookmarks, history) */
    #sidebar-box {
      visibility: collapse !important;
    }
  4. Run your application: use the following command in the terminal, replacing /path/to/your/page.html with the path to your file.
    firefox -P app -no-remote file:///path/to/your/page.html
    • -P app: uses the "app" profile you just configured.
    • -no-remote: opens a separate instance, independent of your regular Firefox session.

What names the tab. The title: of the script, if it sets one — a slideshow shows it nowhere on screen, so the tab is where it is read. Failing that, the name of the file itself, minus its .html: a browser left to its own devices falls back to the address, and of a file:// path only the first inches are visible, which tells one slideshow from another not at all. The preview tab opened by automathon's Visualize, which has no file to be named after, takes the name of the entry.

A head for the tab name. An optional title_prefix: goes before it, separated by an em dash:

W01b:
  - preset: slideshow
  - title_prefix: "6e"

names the tab 6e — W01b. It heads whichever of the two names the tab — the title or the file — so a dozen slideshows open side by side say which class they belong to before saying which they are. automathon writes it into every slideshow it creates, with the grade level as its value. It is carried by the .atmxs snapshot, so a slideshow rendered from one keeps it (see atmxs).

Adjusting text size and position

The base on-screen text size and the vertical position of the content block are set in automath.yaml:

rendering:
  slideshow:
    font_size: "6vw"     # base text size (any CSS length)
    content_top: "24%"   # top edge of the content block
    line_height: 1.3     # spacing between wording lines

Individual slides can override these with per-question options: text_scale (a multiplier of font_size), raise (lifts the content block up by that many percent — handy when a wording spans several lines) and line_height (line spacing — prefer one \n per line plus this, rather than stacking two \n). See atmx for the full list of slideshow question options.

Running the slideshow

A slideshow opens on hold: the first slide is up, the timer bar of a timed question stays full, and nothing moves until you say so. Space, or a click on either play control, starts it.

The pause control, top right. The large, discreet symbol in the top-right corner tells the class the state: a pause sign means the slideshow is on hold, and nothing at all means it is running. It is also a button. Bring the pointer anywhere near it — the corner around it reacts, not just the symbol itself — and it shows the action instead: play while on hold, pause while running. Click to do it. While the slideshow runs and the pointer is elsewhere, the corner stays empty, so nothing sits on the projected slide.

Rewinding, on the last slide. Once Done! is up, a rewind button appears next to each play control — in the top-right corner, left of the pause symbol, and in the bottom bar, left of the play/pause button. It goes back to the very first slide and leaves the slideshow on hold, exactly as it opened, so the next run starts when you say so. It shows up on that last slide only, and the corner one follows the corner's rules: visible while on hold, and only under the pointer while the slideshow runs. Home does the same thing, and is likewise the last slide's alone: rewinding is what one wants once the class is over, and a stray keypress mid-slideshow would throw everyone back to the start.

The bottom bar keeps its own small play/pause button, left of the fullscreen one. It is always visible, which matters on a touch screen — an interactive whiteboard has no pointer to hover with, and no keyboard either.

Moving never resumes. Arrow keys, R and the preview change which slide is up, but never start or restart the timer: a slideshow on hold stays on hold, on whichever slide you land, with its bar full. Only Space and the play controls give the slideshow back. The one exception is the privacy pause (P), which resumes where it left off — hiding the slide and showing it again is a single gesture.

The back arrow, on a running question. Two seconds into it, starts the question over rather than leaving for the one before — the same as R, since that is what one reaches for when a class needs a moment more. In its first two seconds it still leaves, so a slide reached by mistake is left at once; and each slide it lands on starts afresh, so pressing again walks further back. On hold, and on any slide that is not a question, is plainly the slide before.

The preview (F9, or the button at the bottom left) lays out the question slides — the questions only, never the answers, so the grid can be shown to the class without giving anything away. Opening it holds the slideshow, so no timer runs on behind it. Clicking a slide goes to it and closes the grid, still on hold; Esc, F9 or a click outside closes it where you were. Either way the slideshow stays on hold afterwards.

The Steps button

On a correction slide whose question type knows how to detail its calculation, an Étapes / Steps button appears at the bottom right, to the left of the play/pause and fullscreen pair. Pressing it opens the whole calculation in a panel — the distribution of an expand_simple, the expansion and the two products of a multi_expand, the intermediate expression of an order_of_2ops — laid out as it is written on the board:

5 × 23 = 5 × 20 + 5 × 3
       = 100 + 15
       = 115

Nothing opens on its own: the slide keeps showing the bare result, and it is the teacher's call to lean on the steps while explaining, or to leave them alone. Esc, a click outside the panel, pressing the button again, or moving to another slide all close it.

The button shows up only where there is something more to show, so it is absent from a slide whose answer is the whole of it — and from every question slide. It works the same whether the slideshow was rendered from a script or from an .atmxs snapshot, which stores the members in its steps field (see atmxs).

Keyboard shortcuts

? opens the same table on the slideshow itself, in the language it was rendered in — key names included, where a keyboard prints another word on the cap (Espace, Échap on a French one). Home is not one of those, and stays.

Key Action
Space Start the slideshow / pause / resume
P Privacy pause: hide the current slide; press again to resume
Next slide
Restart the running question — previous slide in its first 2 s, and on hold
R Restart the current question (refill the timer bar)
Home On the last slide: back to the first one, on hold
F/F11 Toggle fullscreen
F9 Toggle preview
Esc Exit fullscreen / privacy pause / preview / help / steps
? Show / hide this help