Build a Pomodoro Timer & Package It as a DMG — Compose Desktop | Kotlin Desktop Lesson 20

33views
3likes
0
17:53
T
Taught by Celeste AI - AI Coding Coach
View on YouTube
Description
Learn how to package Compose Desktop apps as native installers! We build a Pomodoro Timer with a circular Canvas progress ring, phase-specific colors, and auto-advancing work/break cycles — then configure nativeDistributions in Gradle to produce a DMG installer with one command. What You'll Learn: - nativeDistributions block to configure native packaging in Gradle - targetFormats for DMG (macOS), MSI (Windows), and DEB (Linux) installers - Package metadata: packageName, packageVersion, vendor, and description - Platform-specific config: macOS bundleID, Windows menuGroup, Linux debMaintainer - Running ./gradlew packageDmg to build a native macOS installer - Canvas drawArc for circular progress indicators with StrokeCap.Round - LaunchedEffect for countdown timer with auto-advance between phases - Pomodoro pattern: Work (25min) → Short Break (5min) → Long Break (15min) after 4 sessions - Session tracking dots with filled/outlined Canvas circles - Toolkit.getDefaultToolkit().beep() for phase completion alerts Timestamps: 0:00 - Introduction 0:15 - Preview: Pomodoro Timer App 0:45 - Project Setup & Pomodoro Models 3:23 - Timer Circle with Canvas drawArc 5:30 - AppContent, Main & Compile 12:18 - Packaging with nativeDistributions 14:58 - Live Demo: Pomodoro Timer 15:53 - Recap & Key Takeaways 16:53 - Thanks for Watching Key Takeaways: 1. nativeDistributions — Configure targetFormats to build DMG, MSI, and DEB installers from Gradle 2. Package Metadata — Set packageName, version, vendor, and description for professional distribution 3. Platform Config — macOS bundleID, Windows menuGroup, Linux debMaintainer for each target OS 4. Gradle Tasks — Run packageDmg, packageMsi, or packageDeb to build platform-specific installers 5. Canvas drawArc — Create circular progress indicators with Canvas, drawArc, and StrokeCap.Round Source Code: https://github.com/GoCelesteAI/kotlin_desktop_pomodoro_timer
Back to tutorials

Duration

17:53

Published

February 26, 2026

Added to Codegiz

March 15, 2026

Open in YouTube