# compose-for-desktop

JetBrains' Kotlin UI toolkit for creating desktop applications on Windows, macOS, and Linux.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## jetc.dev Newsletter Issue #331

DevFeed: [jetc.dev Newsletter Issue #331](<https://devfeed.tech/articles/jetc-dev-newsletter-issue-331-26633.md>)

Original publisher: [Read original article](<https://jetc.dev/issues/331.html>)

Author: CommonsWare

Published: 2026-09-15T14:00:00Z

Content type: article

Language: en

Sources: [jetc.dev | Issues](<https://devfeed.tech/sources/jetc-dev-issues.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [compose-for-desktop](<https://devfeed.tech/topics/compose-for-desktop.md>), [servo](<https://devfeed.tech/topics/servo.md>), [WebView](<https://devfeed.tech/topics/webview.md>)

Tags: [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [chromium](<https://devfeed.tech/tags/chromium.md>), [compose-for-desktop](<https://devfeed.tech/tags/compose-for-desktop.md>), [issue](<https://devfeed.tech/tags/issue.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [webview](<https://devfeed.tech/tags/webview.md>)

### AI overview

This newsletter reviews recent Jetpack Compose release changes and highlights related developer content. It covers Compose BOM updates, Material3 and other Compose library versions, a keyboard focus bug and workaround, keyed composition, dialog background blurring, and Compose for Desktop libraries including a CEF-based option and window chrome controls.

### Source excerpt

SideEffect keys! CEF-based WebView and window chrome controls for desktop apps! And... why does the keyboard flicker?!?

## Compose Multiplatform 1.12.0 Released

DevFeed: [Compose Multiplatform 1.12.0 Released](<https://devfeed.tech/articles/compose-multiplatform-1-12-0-released-8788.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/kotlin/2026/08/compose-multiplatform-1-12-0/>)

Author: Elvira Mustafina

Published: 2026-08-26T13:28:41Z

Content type: release

Language: en

Sources: [Kotlin : A concise multiplatform language developed by JetBrains | The JetBrains Blog](<https://devfeed.tech/sources/kotlin-a-concise-multiplatform-language-developed-by-jetbrains-the-jetbrains-blog.md>)

Topics: [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [compose-hot-reload](<https://devfeed.tech/topics/compose-hot-reload.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Web](<https://devfeed.tech/topics/web.md>), [compose-for-desktop](<https://devfeed.tech/topics/compose-for-desktop.md>), [Font](<https://devfeed.tech/topics/font.md>)

Tags: [compose-for-desktop](<https://devfeed.tech/tags/compose-for-desktop.md>), [compose-for-web](<https://devfeed.tech/tags/compose-for-web.md>), [compose-hot-reload](<https://devfeed.tech/tags/compose-hot-reload.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [fonts](<https://devfeed.tech/tags/fonts.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [model-context-protocol](<https://devfeed.tech/tags/model-context-protocol.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [releases](<https://devfeed.tech/tags/releases.md>), [ui](<https://devfeed.tech/tags/ui.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

Compose Multiplatform 1.12.0 introduces an experimental MCP server for Compose Hot Reload, enabling AI coding agents to reload applications, inspect rendered UI and semantic trees, simulate interactions, and read logs. The release also adds automatic web font fallback and a more flexible desktop window and dialog API.

### Source excerpt

Compose Multiplatform 1.12.0 is out! This version brings new tooling for AI assistants, improvements to web resource management, and finer control over desktop window states. Here are the highlights of this release: For a complete overview of the changes, check out What's new in Compose Multiplatform 1.12.0 or the release notes on GitHub. Get Started [...]

## jetc.dev Newsletter Issue #322

DevFeed: [jetc.dev Newsletter Issue #322](<https://devfeed.tech/articles/jetc-dev-newsletter-issue-322-22954.md>)

Original publisher: [Read original article](<https://jetc.dev/issues/322.html>)

Author: CommonsWare

Published: 2026-07-14T14:00:00Z

Content type: article

Language: en

Sources: [jetc.dev | Issues](<https://devfeed.tech/sources/jetc-dev-issues.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [compose-for-desktop](<https://devfeed.tech/topics/compose-for-desktop.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Android](<https://devfeed.tech/topics/android.md>), [navigation](<https://devfeed.tech/topics/navigation.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-for-desktop](<https://devfeed.tech/tags/compose-for-desktop.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [dev](<https://devfeed.tech/tags/dev.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [module](<https://devfeed.tech/tags/module.md>), [navigation](<https://devfeed.tech/tags/navigation.md>)

### AI overview

This newsletter issue rounds up recent Jetpack Compose developments and related community content, including Compose updates, TV Compose performance, navigation, filter bars, settings-screen DSLs, Compose Multiplatform with SwiftUI, and Compose for Desktop performance.

### Source excerpt

SubcomposeLayout! TV Compose! Nav3! Filter bars! Setting screens! And... can we make Compose for Desktop better?!?

## Minimal setup for Compose Desktop

DevFeed: [Minimal setup for Compose Desktop](<https://devfeed.tech/articles/minimal-setup-for-compose-desktop-39252.md>)

Original publisher: [Read original article](<https://kt.academy/article/compose-desktop>)

Published: 2025-12-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [compose-for-desktop](<https://devfeed.tech/topics/compose-for-desktop.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [compose](<https://devfeed.tech/tags/compose.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [fonts](<https://devfeed.tech/tags/fonts.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [icons](<https://devfeed.tech/tags/icons.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [material3](<https://devfeed.tech/tags/material3.md>), [reload](<https://devfeed.tech/tags/reload.md>), [resources](<https://devfeed.tech/tags/resources.md>), [setup](<https://devfeed.tech/tags/setup.md>), [ui](<https://devfeed.tech/tags/ui.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

A tutorial on setting up Compose Desktop for a minimal desktop application or script UI. It covers required Kotlin and Compose plugins and dependencies, optional Hot Reload, Material3 and Resources, resource organization, desktop preview limitations, and starter application code.

### Source excerpt

How to setup Compose to use it on desktop, for providing UI for scripts or a simple project.

## Introducing Compose-ur-Pres

DevFeed: [Introducing Compose-ur-Pres](<https://devfeed.tech/articles/introducing-compose-ur-pres-22861.md>)

Original publisher: [Read original article](<https://medium.com/kodein-koders/introducing-compose-ur-pres-090c95cbe1b7?source=rss----f311f45ef54---4>)

Author: Salomon BRYS

Published: 2024-06-25T11:35:42Z

Content type: release

Language: en

Sources: [Kodein Koders - Medium](<https://devfeed.tech/sources/kodein-koders-medium.md>)

Topics: [compose-for-desktop](<https://devfeed.tech/topics/compose-for-desktop.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Template](<https://devfeed.tech/topics/template.md>), [wasm](<https://devfeed.tech/topics/wasm.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [project](<https://devfeed.tech/tags/project.md>), [wasm](<https://devfeed.tech/tags/wasm.md>)

### AI overview

This article introduces Compose-ur-Pres, or CuP, an open-source presentation tool written in Kotlin with Compose for Desktop. It lets developers create and animate presentation slides as composable application screens, with features including slide navigation, transitions, an overview, speaker tools, and experimental web export.

### Source excerpt

A tool that allows you to write a presentation slide deck in Kotlin with Compose. https://medium.com/media/92b00e09e5e75db453796863708f60e6/href I've always been frustrated with regular presentation tools, such as Keynote, Powerpoint, or Google Slides. While I do not want to deny their quality, I simply do not believe these tools can implement everything that I have in mind. After all, as an application programmer, creating screens and animations is what I do. I have many ideas of how I want to present and animate my content, and I do not want to be constrained by a WYSIWYG editor. Since I program my screens, why not program my slides? When I first encountered Reveal.js, I thought "OK, that's what I want, but I want it in Kotlin". At that time, Compose multiplatform did not exist, so I wrote my first version with Kotlin-React. Then came Compose multiplatform and more specifically what was then known as Compose Web and is now named Compose HTML. So, of course, I rewrote the entire tool using that. I used it for several presentations (including my presentation at KotlinConf 23). At the same time Compose Desktop became stable and the new Compose Web with Wasm was introduced, my frustration with CSS (especially CSS animations) grew stronger. I wanted to position my content pixel by pixel, and frame by frame, just like Compose allowed me to. So I rewrote this presentation tool a third time, but this time for Compose desktop, and named it "Compose-ur-Pres", or "CuP" for short. A few weeks ago at Android Makers 24, I was thrilled to open source that tool. You can read its documentation, start creating your slides with a template project, and of course access its sources. The pitch of Compose-ur-Pres is very simple: write and animate your slides just like you would your application screens. Focus on your slide content, and CuP will take care of: Creating & managing the application window. Displaying your slides in order and animate transitions between them. Showing an overv

## Introducing FeedFlow, a minimalistic and opinionated RSS Reader

DevFeed: [Introducing FeedFlow, a minimalistic and opinionated RSS Reader](<https://devfeed.tech/articles/introducing-feedflow-a-minimalistic-and-opinionated-rss-reader-25570.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2023/introducing-feed-flow/>)

Author: Marco Gomiero

Published: 2023-07-31T00:00:00Z

Content type: release

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [RSS Feed](<https://devfeed.tech/topics/rss-feed.md>), [App](<https://devfeed.tech/topics/app.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [compose-for-desktop](<https://devfeed.tech/topics/compose-for-desktop.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [dogfooding](<https://devfeed.tech/topics/dogfooding.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [article](<https://devfeed.tech/tags/article.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [dogfooding](<https://devfeed.tech/tags/dogfooding.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [macos](<https://devfeed.tech/tags/macos.md>), [release](<https://devfeed.tech/tags/release.md>), [rss](<https://devfeed.tech/tags/rss.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

The article announces FeedFlow, a minimalistic RSS reader built for Android, iOS, and macOS. It opens articles on their respective websites, supports OPML imports, and was created partly to dogfood the RSSParser Android library.

### Source excerpt

After months of work, I can finally announce the release of FeedFlow, a minimalistic and opinionated RSS Reader that I've built for myself and that's now available on Android, iOS, and macOS. Motivation I've started (again) to stay up to date by building my own feed instead of relying on feeds ordered and decided by someone else. But I wasn't completely satisfied with the readers already out there ("I can build a better one"™). What I want for an RSS reader is the possibility of easily going through my feed and being able to open the article that I want to read on the respective website. Yes, you read it right.

## Card Soccer

DevFeed: [Card Soccer](<https://devfeed.tech/articles/card-soccer-38598.md>)

Original publisher: [Read original article](<https://krossovochkin.com/apps/card-soccer/>)

Published: 2022-07-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Vasya Drobushkov](<https://devfeed.tech/sources/vasya-drobushkov.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [ui](<https://devfeed.tech/topics/ui.md>), [compose-for-desktop](<https://devfeed.tech/topics/compose-for-desktop.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-ui](<https://devfeed.tech/tags/compose-ui.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [game](<https://devfeed.tech/tags/game.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [port](<https://devfeed.tech/tags/port.md>), [strategies](<https://devfeed.tech/tags/strategies.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

Card Soccer is a turn-based card game against an AI opponent. Players move a card-based ball through rows by matching its value or suit, using passes or shots to score goals. The author describes developing desktop and web versions with Kotlin Multiplatform and Jetpack Compose UI.

### Source excerpt

How to play The goal of the game is to win AI opponent by scoring more goals. The game is turn based. On your turn you should move the "ball" (card opened from your deck) to opponents goal. You start from the row that is close to your goal: you should select a card in a row and if it matches by value or suite - proceed to the next row up until the opponent's goal. If there is no match - your turn is over. You can select opened and closed cards. If the whole row is opened - you can skip it and procced to the next one. You score when your "ball" matches opponent goal.