Native modules
Every API in Owear lives in api/<name>/ and is declared by a manifest
(owear.module.json), which is the single source of truth. A module is either a
.owm dynamic library loaded at runtime or a builtin linked into the
kernel.
From your code, both are called the same way:
// renderer
const text = await ow.invoke<string>('fs', 'readText', '/etc/hostname')
// main process
import { invokeNative } from '@owear/core'
const text = await invokeNative<string>('fs', 'readText', '/etc/hostname')
Modules in this reference
| Module | Kind | Summary |
|---|---|---|
app |
builtin | Single-instance lock, relaunch, badge |
capturer |
module | Screen capture and sources (X11) |
clipboard |
module | Clipboard text and images |
crashreporter |
builtin | Signal handlers and backtraces |
dialog |
module | Native file/message dialogs |
fs |
module | Filesystem, handles, watchers |
globalshortcut |
module (optional) | Global keyboard shortcuts (X11) |
installer |
builtin | Installer/uninstaller operations |
menu |
module | Context menus |
net |
module | Native HTTP(S) without CORS |
node |
builtin | Renderer → main-process bridge |
notification |
module | System notifications |
path |
module | Path math and standard directories |
power |
module | Battery, idle, suspend, inhibitors |
process |
module | Child processes and PTYs |
safestorage |
module | OS-backed encryption |
screen |
module | Monitors and cursor |
session |
builtin | Cookies, cache, proxy, downloads |
shell |
module | Open URLs, paths, folders |
theme |
module | Light/dark preference |
tray |
module (optional) | System tray icon |
updater |
module | Auto-update primitives |
webview |
builtin | Embedded child webviews |
window |
builtin | Window extras and ow-window |
How to read a module page
Each page documents the module's functions with their argument shapes, return
values, emitted events, and platform notes. Internally, arguments and results
cross the bridge as a JSON array; a function's first positional argument is
args[0], and so on.