app-launcher to just launcher

This commit is contained in:
David Heinemeier Hansson
2026-05-20 13:57:22 +02:00
parent ea1b0e7ced
commit 41425481db
20 changed files with 75 additions and 55 deletions
+3 -3
View File
@@ -13,7 +13,7 @@ User-installed plugins live alongside these conceptually but on disk under
|---------------|---------------------------|-----------|---------------------------------------|
| Bar | `omarchy.bar` | `bar` | `bar/Bar.qml` |
| Bar settings | `omarchy.settings` | `panel` | `settings/SettingsPanel.qml` |
| App launcher | `omarchy.app-launcher` | `overlay` | `app-launcher/AppLauncher.qml` |
| Launcher | `omarchy.launcher` | `overlay` | `launcher/Launcher.qml` |
| Image picker | `omarchy.image-picker` | `overlay` | `image-picker/ImagePicker.qml` |
| Emoji picker | `omarchy.emoji-picker` | `overlay` | `emoji-picker/EmojiPicker.qml` |
| Clipboard mgr | `omarchy.clipboard-picker`| `overlay` | `clipboard-picker/ClipboardPicker.qml`|
@@ -45,9 +45,9 @@ Visual editor for the bar layout. Summoned by
- dynamic per-widget settings forms that write inline back to the
corresponding shell.json entry
## App launcher
## Launcher
Quickshell-powered app launcher. It uses Quickshell's native
Quickshell-powered launcher. It uses Quickshell's native
`DesktopEntries` model for discovery/activation and renders inside the
long-running shell with the legacy launcher card dimensions, colors, row
spacing, icon sizing, and keyboard behavior. Summoned directly over shell IPC
-15
View File
@@ -1,15 +0,0 @@
{
"schemaVersion": 1,
"id": "omarchy.app-launcher",
"name": "App launcher",
"version": "1.0.0",
"author": "Omarchy",
"description": "A Quickshell-powered application launcher",
"kinds": [
"overlay"
],
"keepLoaded": true,
"entryPoints": {
"overlay": "AppLauncher.qml"
}
}
@@ -26,16 +26,16 @@ Item {
property string launchOsdMessage: ""
property var hiddenEntryIds: ({})
// Bound to the central [app-launcher] section in shell.toml via Color.qml.
// Bound to the central [launcher] section in shell.toml via Color.qml.
// Each color already includes its alpha companion (composed in the
// singleton), so consumers can drop them straight into a Rectangle.
property color background: Color.appLauncher.background
property color foreground: Color.appLauncher.text
property color border: Color.appLauncher.border
property color scrim: Color.appLauncher.scrim
property color selectedBackground: Color.appLauncher.selectedBackground
property color selectedText: Color.appLauncher.selectedText
property color selectedBorder: Color.appLauncher.selectedBorder
property color background: Color.launcher.background
property color foreground: Color.launcher.text
property color border: Color.launcher.border
property color scrim: Color.launcher.scrim
property color selectedBackground: Color.launcher.selectedBackground
property color selectedText: Color.launcher.selectedText
property color selectedBorder: Color.launcher.selectedBorder
property string fontFamily: Quickshell.env("OMARCHY_MENU_FONT") || "monospace"
property int cardWidth: 644
@@ -75,7 +75,7 @@ Item {
function dismiss() {
root.opened = false
if (root.shell && typeof root.shell.hide === "function")
root.shell.hide((root.manifest && root.manifest.id) || "omarchy.app-launcher")
root.shell.hide((root.manifest && root.manifest.id) || "omarchy.launcher")
}
function iconSource(icon) {
@@ -127,7 +127,7 @@ Item {
function hiddenEntryScanCommand() {
var desktop = [Quickshell.env("XDG_CURRENT_DESKTOP"), Quickshell.env("XDG_SESSION_DESKTOP"), Quickshell.env("DESKTOP_SESSION")].filter(function(v) { return String(v || "").length > 0 }).join(":")
var script = root.omarchyPath + "/shell/scripts/app-launcher-hidden-entries.sh"
var script = root.omarchyPath + "/shell/scripts/launcher-hidden-entries.sh"
return Util.shellQuote(script) + " " + Util.shellQuote(desktop)
}
@@ -318,7 +318,7 @@ Item {
visible: root.opened
anchors { top: true; bottom: true; left: true; right: true }
color: "transparent"
WlrLayershell.namespace: "omarchy-app-launcher"
WlrLayershell.namespace: "omarchy-launcher"
WlrLayershell.layer: WlrLayer.Overlay
WlrLayershell.keyboardFocus: WlrKeyboardFocus.Exclusive
exclusionMode: ExclusionMode.Ignore
+15
View File
@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"id": "omarchy.launcher",
"name": "Launcher",
"version": "1.0.0",
"author": "Omarchy",
"description": "A Quickshell-powered launcher",
"kinds": [
"overlay"
],
"keepLoaded": true,
"entryPoints": {
"overlay": "Launcher.qml"
}
}
+1 -1
View File
@@ -568,7 +568,7 @@ for block in re.split(r"(?m)^Sink #", sys.stdin.read())[1:]:
KeyboardPanel {
id: panel
anchorItem: button
owner: ctrl
owner: root
bar: root.bar
open: root.opened
focusTarget: keyCatcher
+1 -1
View File
@@ -343,7 +343,7 @@ Panel {
KeyboardPanel {
id: panel
anchorItem: button
owner: ctrl
owner: root
bar: root.bar
open: root.opened
focusTarget: keyCatcher
+1 -1
View File
@@ -351,7 +351,7 @@ Panel {
KeyboardPanel {
id: panel
anchorItem: button
owner: ctrl
owner: root
bar: root.bar
open: root.opened
focusTarget: keyCatcher
+1 -1
View File
@@ -643,7 +643,7 @@ fi
KeyboardPanel {
id: panel
anchorItem: button
owner: ctrl
owner: root
bar: root.bar
open: root.opened
focusTarget: keyCatcher
+1 -1
View File
@@ -165,7 +165,7 @@ printf 'time\t%s\n' "$($OMARCHY_PATH/bin/omarchy-battery-remaining-time 2>/dev/n
KeyboardPanel {
id: panel
anchorItem: button
owner: ctrl
owner: root
bar: root.bar
open: root.opened
focusTarget: keyCatcher