Skip to Main Content
Talk Intermediate CC BY-SA 4.0

Customizable Shortcuts and Command Infrastructure in a Desktop Qt/QML App

Proposal status is Rejected
Session Description

QML offers two convenient types for handling user interface commands: Action, which can be bound to menu items, toolbar buttons, and keyboard shortcuts, and Shortcut, which responds directly to key combinations. At first glance, they seem almost too easy to use.

But the moment you need context-sensitive behavior, user-customizable shortcuts, or a centralized command palette for quick access, the simplicity starts to show its limits. There is some real engineering involved in getting there.

In this talk, I will start by demonstrating a straightforward QML UI built with Action elements, and walk through exactly where and why the out-of-the-box model falls short. I will then show how the Scrite project extends the Action infrastructure to support context-sensitive trigger handling, runtime shortcut customization, and a command center that makes every action in the app instantly discoverable and accessible.

If you are building a serious desktop application in QML, this talk will save you from some painful surprises and give you a practical blueprint for a robust command and shortcut system.

Key Takeaways
  • How QML's Action and Shortcut types work and when to use each

  • Where the out-of-the-box Action model breaks down in real desktop apps

  • How to implement context-sensitive handling of action triggers

  • How to let users customize keyboard shortcuts at runtime

  • How to build a command center for quick access to all app actions

  • Practical patterns from Scrite's open-source action and shortcut infrastructure

References

Session Categories

Engineering practice - productivity, debugging
Technology architecture
Talk License: CC BY-SA 4.0

Which track are you applying for?

Main track

Speakers

Prashanth Udupa
Prashanth Udupa Creator | Scrite

I started coding in my teens, building a GUI framework in C/C++ for DOS and creating apps like an icon maker and freehand paint. In college, I discovered Linux and Qt—my "soulmate code"—and spent countless hours immersed in KDE, Qt, OpenGL, and VTK. That passion led to VTK Designer, an open-source visual pipeline editor, and GCF, a modular framework that powered a decade-long products and services company.

For the past eight years, I’ve been conducting Qt training and consulting across India. In 2020, I began building Scrite, a screenwriting app that helps writers visually structure stories. Built entirely with QML, Scrite is now used by over 35,000 writers worldwide and has transitioned to a sustainable, subscription-based model while staying open source.  Scrite has recently raised a grant from FOSSUnited to help cover some of the infrastructure and license costs.

I love films, stories, and recently, TWIM meditation.