app-launcher to just launcher
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
-- Keep the bar instant: no layer-shell fade/slide animation.
|
||||
hl.layer_rule({ match = { namespace = "omarchy-bar" }, no_anim = true, animation = "none" })
|
||||
|
||||
-- App launcher, image selector, emoji picker, and clipboard overlays should also pop without animation.
|
||||
hl.layer_rule({ match = { namespace = "^(omarchy-menu|omarchy-app-launcher|omarchy-image-selector|omarchy-emoji-picker|omarchy-clipboard-picker)$" }, no_anim = true, animation = "none" })
|
||||
-- Launcher, image selector, emoji picker, and clipboard overlays should also pop without animation.
|
||||
hl.layer_rule({ match = { namespace = "^(omarchy-menu|omarchy-launcher|omarchy-image-selector|omarchy-emoji-picker|omarchy-clipboard-picker)$" }, no_anim = true, animation = "none" })
|
||||
|
||||
-- Bar settings floats centered with a sensible default size instead of
|
||||
-- tiling — it's a transient dialog, not a workspace surface.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
o.bind("SUPER + SPACE", "Launch apps", "omarchy-shell shell toggle omarchy.app-launcher \"{}\"")
|
||||
o.bind("SUPER + SPACE", "Launch apps", "omarchy-shell shell toggle omarchy.launcher \"{}\"")
|
||||
o.bind("SUPER + CTRL + E", "Emoji picker", "omarchy-shell shell toggle omarchy.emoji-picker \"{}\"")
|
||||
o.bind("SUPER + CTRL + C", "Capture menu", "omarchy-shell menu toggle capture")
|
||||
o.bind("SUPER + CTRL + O", "Toggle menu", "omarchy-shell menu toggle toggle")
|
||||
|
||||
@@ -78,7 +78,7 @@ Omarchy is built on:
|
||||
| **Arch Linux** | Base OS | `/etc/`, `~/.config/` |
|
||||
| **Hyprland** | Wayland compositor/WM | `~/.config/hypr/` |
|
||||
| **Omarchy shell** | Status bar + notifications (Quickshell) | `~/.config/omarchy/shell.json` |
|
||||
| **App launcher** | Quickshell app launcher | `~/.config/omarchy/shell.json` |
|
||||
| **Launcher** | Quickshell launcher | `~/.config/omarchy/shell.json` |
|
||||
| **Alacritty/Foot/Kitty/Ghostty** | Terminals | `~/.config/<terminal>/` |
|
||||
| **Omarchy OSD** | On-screen display | Quickshell plugin |
|
||||
|
||||
@@ -201,7 +201,7 @@ cp ~/.config/hypr/bindings.conf ~/.config/hypr/bindings.conf.bak.$(date +%s)
|
||||
# 4. Apply changes
|
||||
# - Hyprland: auto-reloads on save, but MUST validate with `hyprctl reload` and `hyprctl configerrors`
|
||||
# - Omarchy shell: shell.json hot-reloads; use `omarchy-restart-shell` for plugin/widget code changes
|
||||
# - App launcher: restart with `omarchy restart shell`
|
||||
# - Launcher: restart with `omarchy restart shell`
|
||||
# - Terminals: MUST restart with `omarchy restart terminal`
|
||||
```
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
// checked shell condition; append ✓ when it succeeds
|
||||
|
||||
// Root Menu
|
||||
"apps": {"icon":"","label":"Apps","aliases":["app","applications"],"keywords":"launch launcher quickshell","action":"omarchy-shell shell summon omarchy.app-launcher '{}'"},
|
||||
"apps": {"icon":"","label":"Apps","aliases":["app","applications"],"keywords":"launch launcher quickshell","action":"omarchy-shell shell summon omarchy.launcher '{}'"},
|
||||
"learn": {"icon":"","label":"Learn","keywords":"manual docs help reference"},
|
||||
"trigger": {"icon":"","label":"Trigger","keywords":"actions capture share toggle hardware reminder"},
|
||||
"style": {"icon":"","label":"Style","keywords":"theme background font bar quickshell hyprland appearance"},
|
||||
|
||||
@@ -127,8 +127,8 @@ border = "{{ accent }}"
|
||||
border-alpha = 1.0
|
||||
countdown = "{{ accent }}"
|
||||
|
||||
[app-launcher]
|
||||
# Same six tokens as [menu], applied to the app launcher overlay. Alpha
|
||||
[launcher]
|
||||
# Same six tokens as [menu], applied to the launcher overlay. Alpha
|
||||
# companions go from 0 (invisible) to 1 (opaque). scrim is the full-screen
|
||||
# dim layer behind the card; background is the card itself. Defaults
|
||||
# mirror [menu] with the card at 0.95 to preserve the legacy translucency.
|
||||
|
||||
@@ -116,7 +116,7 @@ The shell exposes these tokens to QML via two singletons in
|
||||
- `Color` — palette (`foreground`, `background`, `accent`, `urgent`)
|
||||
and per-surface roles (`Color.bar.*`, `Color.popups.*`,
|
||||
`Color.tooltip.*`, `Color.notifications.*`, `Color.menu.*`,
|
||||
`Color.appLauncher.*`, `Color.imagePicker.*`, `Color.polkit.*`,
|
||||
`Color.launcher.*`, `Color.imagePicker.*`, `Color.polkit.*`,
|
||||
`Color.lock.*`). The clipboard and emoji pickers share `Color.menu.*`.
|
||||
- `Style` — structural tokens (`cornerRadius`), shared interactive
|
||||
state tokens/helpers, spacing (`Style.spacing.*` / `Style.space(px)`),
|
||||
@@ -131,7 +131,7 @@ and `selected`. State colors accept palette roles (`foreground`,
|
||||
`accent`, `urgent`, `background`) or hex strings; the default template
|
||||
ships hex values. Fill/border alphas are applied to that state's color.
|
||||
|
||||
Surfaces like `[menu]`, `[app-launcher]`, and `[image-picker]` define
|
||||
Surfaces like `[menu]`, `[launcher]`, and `[image-picker]` define
|
||||
their own `selected-*` tokens and do **not** inherit from `[controls]`.
|
||||
`[controls]` only governs the shared button/dropdown chrome.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
echo "Remove Walker app-launcher services and Elephant providers"
|
||||
echo "Remove Walker launcher services and Elephant providers"
|
||||
|
||||
pkill elephant 2>/dev/null || true
|
||||
systemctl --user disable --now elephant.service 2>/dev/null || true
|
||||
@@ -10,7 +10,7 @@ sudo rm -f /etc/pacman.d/hooks/walker-restart.hook
|
||||
|
||||
for bindings_file in ~/.config/hypr/bindings/utilities.lua ~/.config/hypr/bindings.lua; do
|
||||
if [[ -f $bindings_file ]]; then
|
||||
sed -i 's#omarchy-launch-walker#omarchy-shell shell toggle omarchy.app-launcher \\"{}\\"#g' "$bindings_file"
|
||||
sed -i 's#omarchy-launch-walker#omarchy-shell shell toggle omarchy.launcher \\"{}\\"#g' "$bindings_file"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
echo "Rename app launcher shell plugin to launcher"
|
||||
|
||||
config_files=(
|
||||
"$HOME/.config/hypr/bindings/utilities.lua"
|
||||
"$HOME/.config/hypr/bindings.lua"
|
||||
"$HOME/.config/hypr/apps/omarchy-shell.lua"
|
||||
"$HOME/.config/omarchy/omarchy-menu.jsonc"
|
||||
"$HOME/.config/omarchy/current/theme/shell.toml"
|
||||
)
|
||||
|
||||
for config_file in "${config_files[@]}"; do
|
||||
if [[ -f $config_file ]]; then
|
||||
sed -i \
|
||||
-e 's/omarchy\.app-launcher/omarchy.launcher/g' \
|
||||
-e 's/omarchy-app-launcher/omarchy-launcher/g' \
|
||||
-e 's/\[app-launcher\]/[launcher]/g' \
|
||||
-e 's/app-launcher\./launcher./g' \
|
||||
"$config_file"
|
||||
fi
|
||||
done
|
||||
@@ -66,14 +66,14 @@ QtObject {
|
||||
property color border: root.composed("notifications.border", "notifications.border-alpha", root.accent, 1.0)
|
||||
property color countdown: root.pick("notifications.countdown", root.accent)
|
||||
}
|
||||
readonly property QtObject appLauncher: QtObject {
|
||||
property color background: root.composed("app-launcher.background", "app-launcher.background-alpha", root.background, 1.0)
|
||||
property color text: root.pick("app-launcher.text", root.foreground)
|
||||
property color border: root.composed("app-launcher.border", "app-launcher.border-alpha", root.foreground, 1.0)
|
||||
property color scrim: root.composed("app-launcher.scrim", "app-launcher.scrim-alpha", root.background, 0.5)
|
||||
property color selectedBackground: root.composed("app-launcher.selected-background", "app-launcher.selected-background-alpha", root.foreground, 0.08)
|
||||
property color selectedText: root.pick("app-launcher.selected-text", root.accent)
|
||||
property color selectedBorder: root.composed("app-launcher.selected-border", "app-launcher.selected-border-alpha", root.foreground, 0.0)
|
||||
readonly property QtObject launcher: QtObject {
|
||||
property color background: root.composed("launcher.background", "launcher.background-alpha", root.background, 1.0)
|
||||
property color text: root.pick("launcher.text", root.foreground)
|
||||
property color border: root.composed("launcher.border", "launcher.border-alpha", root.foreground, 1.0)
|
||||
property color scrim: root.composed("launcher.scrim", "launcher.scrim-alpha", root.background, 0.5)
|
||||
property color selectedBackground: root.composed("launcher.selected-background", "launcher.selected-background-alpha", root.foreground, 0.08)
|
||||
property color selectedText: root.pick("launcher.selected-text", root.accent)
|
||||
property color selectedBorder: root.composed("launcher.selected-border", "launcher.selected-border-alpha", root.foreground, 0.0)
|
||||
}
|
||||
readonly property QtObject menu: QtObject {
|
||||
property color background: root.composed("menu.background", "menu.background-alpha", root.background, 1.0)
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ shell/
|
||||
plugins/
|
||||
bar/ first-party plugins (see plugins/README.md)
|
||||
settings/
|
||||
app-launcher/
|
||||
launcher/
|
||||
image-picker/
|
||||
menu/
|
||||
notifications/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -343,7 +343,7 @@ Panel {
|
||||
KeyboardPanel {
|
||||
id: panel
|
||||
anchorItem: button
|
||||
owner: ctrl
|
||||
owner: root
|
||||
bar: root.bar
|
||||
open: root.opened
|
||||
focusTarget: keyCatcher
|
||||
|
||||
@@ -351,7 +351,7 @@ Panel {
|
||||
KeyboardPanel {
|
||||
id: panel
|
||||
anchorItem: button
|
||||
owner: ctrl
|
||||
owner: root
|
||||
bar: root.bar
|
||||
open: root.opened
|
||||
focusTarget: keyCatcher
|
||||
|
||||
@@ -643,7 +643,7 @@ fi
|
||||
KeyboardPanel {
|
||||
id: panel
|
||||
anchorItem: button
|
||||
owner: ctrl
|
||||
owner: root
|
||||
bar: root.bar
|
||||
open: root.opened
|
||||
focusTarget: keyCatcher
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user