LinuxCommandLibrary

komac

Generate Winget manifest files

TLDR

Create a new package from scratch

$ komac new [Package.Identifier] [[-v|--version]] [1.2.3] [[-u|--urls]] [https://example.com/app.exe]
copy

Update an existing package with a new version
$ komac update [Package.Identifier] [[-v|--version]] [1.2.3] [[-u|--urls]] [https://example.com/app.exe]
copy

Update a package with multiple URLs and automatically submit
$ komac update [Package.Identifier] [[-v|--version]] [1.2.3] [[-u|--urls]] [https://example.com/app.exe https://example.com/app.msi ...] [[-s|--submit]]
copy

Remove a version from winget-pkgs
$ komac remove [Package.Identifier] [[-v|--version]] [1.2.3]
copy

List all versions for a package
$ komac [[list|list-versions]] [Package.Identifier]
copy

Sync your fork of winget-pkgs with the upstream repository
$ komac [[sync|sync-fork]]
copy

Update the stored GitHub token
$ komac token [[add|update]] [[-t|--token]] [your_github_token]
copy

Generate shell autocompletion script
$ komac [[complete|autocomplete]] [bash|elvish|fish|powershell|zsh]
copy

SYNOPSIS

komac [-v] [-h] <input.kmc> [<output.kml>]

PARAMETERS

-v
    Enable verbose output during compilation

-h
    Display usage help and exit

DESCRIPTION

komac is a utility from early KDE environments (KDE 1.x and 2.x) that compiles human-readable KDE macro files with the .kmc extension into binary macro libraries (.kml files). These macros enable advanced keyboard automation and scripting in KDE applications such as kwrite, konsole, and other widgets supporting the KDE macro system.

The tool parses macro definitions, resolves symbol dependencies across multiple input files, and generates compact bytecode interpretable by KDE's runtime macro engine. Macros could capture sequences of keystrokes, mouse events, or application commands for replay.

Usage typically involved recording macros via application interfaces, editing .kmc files manually, then compiling with komac before loading into apps. It supported verbose logging for debugging compilation issues.

Modern KDE Plasma has deprecated this system in favor of KGlobalAccel, QKeySequence, and scripting via JavaScript/Python, rendering komac obsolete.

CAVEATS

Deprecated and removed from KDE 3+; unavailable in modern distributions. Requires legacy KDE libraries.

EXAMPLE

komac -v macros.kmc macros.kml
Compiles macros.kmc to macros.kml with verbose info.

HISTORY

Introduced with KDE 1.0 (1998) for macro support; enhanced in KDE 2.x; phased out by KDE 3.0 (2002) as scripting evolved.

SEE ALSO

kwrite(1), konsole(1), kglobalaccel(1)

Copied to clipboard