Commit 1d361ad
committed
feat: launcher-style window APIs + global hotkeys + app icons (v0.4.11)
App config extensions: frameless, level, transparent, vibrancy, activationPolicy
on App({}) config object across macOS (NSWindow/NSVisualEffectView), Windows
(WS_POPUP/DWM Mica/HWND_TOPMOST), and Linux (GTK4 CSS/set_decorated).
Window management: win.hide(), win.setSize(w,h), win.onFocusLost(cb) as
instance methods plus windowHide/windowSetSize/onWindowFocusLost standalone
functions. macOS (orderOut/setFrame/NSNotificationCenter), Windows
(ShowWindow/SetWindowPos/WM_ACTIVATE), GTK4 (set_visible/set_default_size/
notify::is-active).
Global hotkeys: registerGlobalHotkey(key, modifiers, callback) for system-wide
shortcuts. macOS (NSEvent global+local monitors), Windows (RegisterHotKey +
WM_HOTKEY), Linux (stub with warning).
App icon extraction: getAppIcon(path) returns Image widget handle. macOS
(NSWorkspace.iconForFile), Linux (.desktop Icon= parsing + GTK icon theme),
Windows (stub).
No-op stubs on iOS, tvOS, watchOS, Android for all new APIs. Updated docs for
multi-window, events, system APIs, and UI overview.1 parent 89d591c commit 1d361ad
22 files changed
Lines changed: 1798 additions & 95 deletions
File tree
- crates
- perry-codegen/src
- perry-ui-android/src
- perry-ui-gtk4/src
- perry-ui-ios/src
- perry-ui-macos/src
- perry-ui-tvos/src
- perry-ui-watchos/src
- perry-ui-windows/src
- docs/src
- system
- ui
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
143 | 153 | | |
144 | 154 | | |
145 | 155 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
| 84 | + | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| |||
0 commit comments