Skip to content

tuna-os/decks

Repository files navigation

Decks

Presentation application for the TunaOS GNOME office suite.

Powered by Fabric.js for slide editing and Reveal.js for fullscreen presentations. Reads and writes PPTX and ODP files using python-pptx and odfpy. Exports to PDF via Pillow.

Shares the suite-common scaffold with Letters and Tables.

Features

  • Canvas editing: Text boxes, shapes, images on a Fabric.js canvas
  • Slide management: Add, delete, duplicate, reorder slides via sidebar
  • Layouts: Blank, Title, Title+Content, Two-Column presets
  • Transitions: Fade, Slide, Convex, Concave, Zoom (per-slide)
  • Present mode: Fullscreen via Reveal.js with B/W/. blank shortcuts
  • Undo/Redo: 30-level canvas action history (Ctrl+Z / Ctrl+Shift+Z)
  • Export: Multi-page PDF
  • Keyboard shortcuts: PowerPoint-compatible (Ctrl+M, Ctrl+Shift+D, F5, Home, End)

Install

flatpak remote-add tuna-os oci+https://tuna-os.github.io/flatpak-index
flatpak install tuna-os org.tunaos.decks

Build

git clone https://github.com/hanthor/decks.git
cd decks
just setup   # clones suite-common + vendors JS engines
just build   # builds & installs Flatpak
just run     # launches

Test

just lint       # syntax check
just l1test     # 11 adapter round-trip tests
just guitest    # AT-SPI dogtail GUI test (requires GTK4 a11y fix for OverlaySplitView)

License

GPL-3.0-or-later. Vendored JS engines: MIT (fabric.js), MIT (reveal.js).

About

Decks — a GNOME presentation app (PowerPoint-equivalent). libadwaita chrome wrapping Fabric.js + Reveal.js; pptx/odp via python-pptx/odfpy.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors