diff --git a/bin/omarchy-capture-screenrecording-with-webcam b/bin/omarchy-capture-screenrecording-with-webcam new file mode 100755 index 00000000..6d3825a4 --- /dev/null +++ b/bin/omarchy-capture-screenrecording-with-webcam @@ -0,0 +1,36 @@ +#!/bin/bash + +# omarchy:summary=Pick a webcam and start a screen recording with it +# omarchy:examples=omarchy capture screenrecording-with-webcam + +set -o pipefail + +webcam_list() { + v4l2-ctl --list-devices 2>/dev/null | while IFS= read -r line; do + if [[ $line != $'\t'* && -n $line ]]; then + local name="$line" + local device + IFS= read -r device || break + device=$(tr -d '\t' <<<"$device" | head -1) + [[ -n $device ]] && echo "$device $name" + fi + done +} + +devices=$(webcam_list) +if [[ -z $devices ]]; then + omarchy-notification-send "No webcam devices found" -u critical -t 3000 + exit 1 +fi + +count=$(grep -c . <<<"$devices") +if (( count == 1 )); then + device="${devices%%[[:space:]]*}" +else + selection=$(omarchy-menu-select "Select Webcam" "$devices") || exit 1 + device="${selection%%[[:space:]]*}" +fi + +exec omarchy-capture-screenrecording \ + --with-desktop-audio --with-microphone-audio \ + --with-webcam --webcam-device="$device" diff --git a/bin/omarchy-install-and-launch b/bin/omarchy-install-and-launch new file mode 100755 index 00000000..d457a7f9 --- /dev/null +++ b/bin/omarchy-install-and-launch @@ -0,0 +1,17 @@ +#!/bin/bash + +# omarchy:summary=Install a packaged app and gtk-launch it once it finishes +# omarchy:args= +# omarchy:examples=omarchy install and-launch Cursor cursor-bin cursor + +name="${1-}" +packages="${2-}" +desktop_id="${3-}" + +if [[ -z $name || -z $packages || -z $desktop_id ]]; then + echo "Usage: omarchy-install-and-launch " >&2 + exit 1 +fi + +exec omarchy-launch-floating-terminal-with-presentation \ + "echo 'Installing ${name}...'; omarchy-pkg-add ${packages} && setsid gtk-launch ${desktop_id}" diff --git a/bin/omarchy-install-app b/bin/omarchy-install-app new file mode 100755 index 00000000..bae90897 --- /dev/null +++ b/bin/omarchy-install-app @@ -0,0 +1,15 @@ +#!/bin/bash + +# omarchy:summary=Install a packaged app, surfacing the install in a floating terminal +# omarchy:args= +# omarchy:examples=omarchy install app 'LM Studio' lmstudio-bin + +name="${1-}" +packages="${2-}" + +if [[ -z $name || -z $packages ]]; then + echo "Usage: omarchy-install-app " >&2 + exit 1 +fi + +exec omarchy-launch-floating-terminal-with-presentation "echo 'Installing ${name}...'; omarchy-pkg-add ${packages}" diff --git a/bin/omarchy-install-font b/bin/omarchy-install-font new file mode 100755 index 00000000..6f68892e --- /dev/null +++ b/bin/omarchy-install-font @@ -0,0 +1,17 @@ +#!/bin/bash + +# omarchy:summary=Install a Nerd Font package and switch the system to it +# omarchy:args= +# omarchy:examples=omarchy install font 'Cascadia Mono' ttf-cascadia-mono-nerd 'CaskaydiaMono Nerd Font' + +name="${1-}" +package="${2-}" +family="${3-}" + +if [[ -z $name || -z $package || -z $family ]]; then + echo "Usage: omarchy-install-font " >&2 + exit 1 +fi + +exec omarchy-launch-floating-terminal-with-presentation \ + "echo 'Installing ${name}...'; omarchy-pkg-add ${package} && sleep 2 && omarchy-font-set '${family}'" diff --git a/bin/omarchy-launch-config-editor b/bin/omarchy-launch-config-editor new file mode 100755 index 00000000..8f4bdcf9 --- /dev/null +++ b/bin/omarchy-launch-config-editor @@ -0,0 +1,15 @@ +#!/bin/bash + +# omarchy:summary=Open a config file in the user's editor and surface a toast +# omarchy:args= +# omarchy:examples=omarchy launch config-editor ~/.config/hypr/hyprlock.conf + +path="${1-}" + +if [[ -z $path ]]; then + echo "Usage: omarchy-launch-config-editor " >&2 + exit 1 +fi + +omarchy-notification-send -u low "Editing config file" "$path" +exec omarchy-launch-editor "$path" diff --git a/bin/omarchy-menu b/bin/omarchy-menu deleted file mode 100755 index e338fad9..00000000 --- a/bin/omarchy-menu +++ /dev/null @@ -1,821 +0,0 @@ -#!/bin/bash - -# omarchy:summary=Launch the Quickshell Omarchy menu or jump straight to a submenu/action -# omarchy:args=[menu-or-action|--json|--provider [menu-id]] -# omarchy:examples=omarchy menu | omarchy menu setup | omarchy menu style.theme | omarchy menu --json | omarchy menu --provider fonts style.font - -set -o pipefail - -OMARCHY_PATH=${OMARCHY_PATH:-$HOME/.local/share/omarchy} -DEFAULT_MENU="$OMARCHY_PATH/default/omarchy/omarchy-menu.jsonc" -USER_MENU="$HOME/.config/omarchy/extensions/omarchy-menu.jsonc" - -# Menu hooks users may edit -# Menu rows live in default/omarchy/omarchy-menu.jsonc. -# Keep Bash here only for multi-step actions or truly runtime-generated lists. - -# Action helpers available to omarchy-menu.jsonc - -terminal() { - xdg-terminal-exec --app-id=org.omarchy.terminal "$@" -} - -present_terminal() { - omarchy-launch-floating-terminal-with-presentation "$*" -} - -open_in_editor() { - omarchy-notification-send -u low "Editing config file" "$1" - omarchy-launch-editor "$1" -} - -hypr_config_file() { - local name="$1" - printf '%s/.config/hypr/%s.lua' "$HOME" "$name" -} - -install() { - present_terminal "echo 'Installing $1...'; omarchy-pkg-add $2" -} - -install_and_launch() { - present_terminal "echo 'Installing $1...'; omarchy-pkg-add $2 && setsid gtk-launch $3" -} - -install_font() { - present_terminal "echo 'Installing $1...'; omarchy-pkg-add $2 && sleep 2 && omarchy-font-set '$3'" -} - -install_terminal() { - present_terminal "omarchy-install-terminal $1" -} - -show_custom_reminder_input() { - local minutes - minutes=$(omarchy-menu-input "Remind in minutes") - - if [[ $minutes =~ ^[0-9]+$ ]] && (( minutes > 0 )); then - show_reminder_message_input "$minutes" - elif [[ -n $minutes ]]; then - omarchy-notification-send -g 󰔛 "Invalid reminder" "Enter the number of minutes" -u critical - show_custom_reminder_input - fi -} - -show_reminder_message_input() { - local minutes="$1" - local message - message=$(omarchy-menu-input "Reminder message") - - if [[ -n $message ]]; then - omarchy-reminder "$minutes" "$message" - else - omarchy-reminder "$minutes" - fi -} - -get_webcam_list() { - v4l2-ctl --list-devices 2>/dev/null | while IFS= read -r line; do - if [[ $line != $'\t'* && -n $line ]]; then - local name="$line" - local device - IFS= read -r device || break - device=$(tr -d '\t' <<<"$device" | head -1) - [[ -n $device ]] && echo "$device $name" - fi - done -} - -show_webcam_select_menu() { - local devices - local count - devices=$(get_webcam_list) - if [[ -z $devices ]]; then - count=0 - else - count=$(grep -c . <<<"$devices") - fi - - if [[ -z $devices ]] || (( count == 0 )); then - omarchy-notification-send "No webcam devices found" -u critical -t 3000 - return 1 - fi - - if (( count == 1 )); then - printf '%s\n' "${devices%%[[:space:]]*}" - else - local selection - selection=$(omarchy-menu-select "Select Webcam" "$devices") || return 1 - printf '%s\n' "${selection%%[[:space:]]*}" - fi -} - -stop_active_screenrecording() { - omarchy-capture-screenrecording --stop-recording -} - -screenrecord_with_webcam() { - local device - device=$(show_webcam_select_menu) || return 1 - omarchy-capture-screenrecording --with-desktop-audio --with-microphone-audio --with-webcam --webcam-device="$device" -} - - -# Runtime-generated providers users may edit -# Use provider:"fonts" only when a submenu calls provider_fonts (or a command) -# to return JSON. Normal submenus are inferred from dotted JSONC ids. - -provider_fonts() { - local menu_id="$1" - local current_font - local index=0 - local font - local label - current_font=$(omarchy-font-current 2>/dev/null) - - while IFS= read -r font; do - [[ -n $font ]] || continue - (( index++ )) - label="$font$(current_marker "$font" "$current_font")" - json_item "$menu_id.$index-$(slugify "$font")" "" "$label" "omarchy-font-set $(shell_quote "$font")" "$font typeface" - done < <(omarchy-font-list 2>/dev/null) -} - -provider_power_profiles() { - local menu_id="$1" - local current_profile - local profile - current_profile=$(powerprofilesctl get 2>/dev/null) - - while IFS= read -r profile; do - [[ -n $profile ]] || continue - json_item "$menu_id.$(slugify "$profile")" "󱐋" "$profile$(current_marker "$profile" "$current_profile")" "powerprofilesctl set $(shell_quote "$profile")" "$profile power profile" - done < <(omarchy-powerprofiles-list 2>/dev/null) -} - - -# Framework helpers below this line -# Most menu changes should not require editing below here. - -# Generic helpers - -shell_quote() { - printf "'%s'" "${1//\'/\'\\\'\'}" -} - -slugify() { - local value="${1,,}" - value="${value//[^a-z0-9]/-}" - - while [[ $value == *--* ]]; do - value="${value//--/-}" - done - - while [[ $value == -* ]]; do - value="${value#-}" - done - - while [[ $value == *- ]]; do - value="${value%-}" - done - - printf '%s' "${value:-item}" -} - -current_marker() { - if [[ $1 == $2 ]]; then - printf ' ✓' - fi -} - -declare -A CMD_PRESENT_CACHE=() -declare -A STATUS_CACHE=() - -cached_status() { - local key="$1" - shift - - if [[ -z ${STATUS_CACHE[$key]+x} ]]; then - "$@" >/dev/null 2>&1 - STATUS_CACHE[$key]=$? - fi - - return "${STATUS_CACHE[$key]}" -} - -omarchy-cmd-present() { - local cmd - - for cmd in "$@"; do - if [[ -z ${CMD_PRESENT_CACHE[$cmd]+x} ]]; then - if command -v "$cmd" >/dev/null 2>&1; then - CMD_PRESENT_CACHE[$cmd]=0 - else - CMD_PRESENT_CACHE[$cmd]=1 - fi - fi - - (( CMD_PRESENT_CACHE[$cmd] == 0 )) || return 1 - done - - return 0 -} - -omarchy-toggle-enabled() { - cached_status "toggle:$*" command omarchy-toggle-enabled "$@" -} - -omarchy-hibernation-available() { - cached_status hibernation command omarchy-hibernation-available -} - -omarchy-hw-hybrid-gpu() { - cached_status hw-hybrid-gpu command omarchy-hw-hybrid-gpu -} - -omarchy-hw-touchpad() { - cached_status hw-touchpad command omarchy-hw-touchpad -} - -omarchy-hw-touchscreen() { - cached_status hw-touchscreen command omarchy-hw-touchscreen -} - -omarchy-hw-dell-xps-haptic-touchpad() { - cached_status hw-dell-xps-haptic-touchpad command omarchy-hw-dell-xps-haptic-touchpad -} - -default_browser_is() { - if [[ -z ${DEFAULT_BROWSER_CACHE+x} ]]; then - DEFAULT_BROWSER_CACHE=$(command omarchy-default-browser 2>/dev/null || true) - fi - - [[ $DEFAULT_BROWSER_CACHE == "$1" ]] -} - -default_terminal_is() { - if [[ -z ${DEFAULT_TERMINAL_CACHE+x} ]]; then - DEFAULT_TERMINAL_CACHE=$(command omarchy-default-terminal 2>/dev/null || true) - fi - - [[ $DEFAULT_TERMINAL_CACHE == "$1" ]] -} - -default_editor_is() { - if [[ -z ${DEFAULT_EDITOR_CACHE+x} ]]; then - DEFAULT_EDITOR_CACHE=$(command omarchy-default-editor 2>/dev/null || true) - fi - - [[ $DEFAULT_EDITOR_CACHE == "$1" ]] -} - -haptic_touchpad_is() { - if [[ -z ${HAPTIC_TOUCHPAD_CACHE+x} ]]; then - HAPTIC_TOUCHPAD_CACHE=$(command dell-xps-touchpad-haptics get 2>/dev/null || true) - fi - - [[ $HAPTIC_TOUCHPAD_CACHE == "$1" ]] -} - -json_string() { - local value="${1-}" - value="${value//\\/\\\\}" - value="${value//\"/\\\"}" - value="${value//$'\t'/\\t}" - value="${value//$'\r'/\\r}" - value="${value//$'\n'/\\n}" - printf '"%s"' "$value" -} - -json_item() { - local id="$1" - local icon="$2" - local label="$3" - local action="${4:-}" - local keywords="${5:-}" - local description="${6:-}" - local target="${7:-}" - local provider="${8:-}" - - printf '{"id": ' - json_string "$id" - printf ', "icon": ' - json_string "$icon" - printf ', "label": ' - json_string "$label" - - if [[ -n $action ]]; then - printf ', "action": ' - json_string "$action" - fi - - if [[ -n $keywords ]]; then - printf ', "keywords": ' - json_string "$keywords" - fi - - if [[ -n $description ]]; then - printf ', "description": ' - json_string "$description" - fi - - if [[ -n $target ]]; then - printf ', "target": ' - json_string "$target" - fi - - if [[ -n $provider ]]; then - printf ', "provider": ' - json_string "$provider" - fi - - printf '}\n' -} - - -# Menu definition loading -menu_sources() { - local path - - for path in "$DEFAULT_MENU" "$USER_MENU"; do - [[ -f $path ]] || continue - jq -Rrs ' - # Our menu files are JSONC: full-line // comments plus trailing commas. - # Keep parsing in jq so the menu build path stays fast and dependency-free. - gsub("(?m)^\\s*//[^\\n]*(\\n|$)"; "") | - gsub(",(?\\s*[}\\]])"; "\(.tail)") | - fromjson | - if type == "object" then - (if has("items") and (.items | type) == "object" then .items else . end) - else - {} - end | - to_entries[] | - select(.value | type == "object") | - .value + { id: .key } - ' "$path" - done -} - -normalize_menu_json() { - jq -sc ' - def aliases_array: - if ((.aliases // []) | type) == "array" then (.aliases // []) - elif ((.aliases // "") != "") then [(.aliases // "")] - else [] end; - - def normalize_item: - def inferred_parent: - if has("parent") then .parent - elif (.id | contains(".")) then (.id | split(".")[:-1] | join(".")) - else "root" end; - - def inferred_kind: - if ((.action // "") != "") then "action" - elif ((.target // "") != "") then "link" - else "menu" end; - - def id_keywords: - .id | gsub("[._-]+"; " "); - - def alias_keywords: - aliases_array | map(gsub("[._-]+"; " ")) | join(" "); - - def keyword_string: - ([id_keywords, alias_keywords, (.keywords // "")] | join(" ") | split(" ") | map(select(. != ""))) as $terms | - reduce $terms[] as $term ([]; if index($term) then . else . + [$term] end) | - join(" "); - - { - id, - parent: (if .id == "root" then "" else inferred_parent end), - kind: inferred_kind, - icon: (.icon // ""), - label: (.label // .id), - target: (.target // ""), - keywords: keyword_string, - description: (.description // ""), - action: (.action // ""), - provider: (.provider // ""), - aliases: aliases_array, - when: (.when // ""), - checked: (.checked // "") - }; - - reduce (.[] | select(.id)) as $item ({ order: [], by_id: {} }; - if .by_id[$item.id] == null then .order += [$item.id] else . end | - .by_id[$item.id] = ((.by_id[$item.id] // {}) + $item) - ) | - { items: [ .order[] as $id | (.by_id[$id] + { id: $id }) | normalize_item ] } - ' -} - -menu_all_json() { - if [[ -z ${MENU_ALL_JSON_CACHE+x} ]]; then - MENU_ALL_JSON_CACHE=$(menu_sources | normalize_menu_json) || return - fi - - printf '%s\n' "$MENU_ALL_JSON_CACHE" -} - -menu_static_json() { - if [[ -z ${MENU_STATIC_JSON_CACHE+x} ]]; then - MENU_STATIC_JSON_CACHE=$(menu_all_json | jq ' - (.items | map({ key: .id, value: . }) | from_entries) as $by_id | - def ancestor_ids($id): - ($id | split(".")) as $parts | - [range(1; $parts | length) | $parts[0:.] | join(".")]; - def has_provider_ancestor($id): - any(ancestor_ids($id)[]; (($by_id[.] // {}).provider // "") != ""); - - { items: [.items[] | select(has_provider_ancestor(.id) | not)] } - ') || return - fi - - printf '%s\n' "$MENU_STATIC_JSON_CACHE" -} - -emit_config_items() { - local fields - local id - local icon - local label - local action - local keywords - local description - local target - local provider - local when - local checked - - while IFS= read -r fields; do - eval "set -- $fields" - id="$1" - icon="$2" - label="$3" - action="$4" - keywords="$5" - description="$6" - target="$7" - provider="$8" - when="$9" - checked="${10}" - - [[ -n $id ]] || continue - if [[ -n $when ]] && ! eval "$when" >/dev/null 2>&1; then - continue - fi - - if [[ -n $checked ]] && eval "$checked" >/dev/null 2>&1; then - label="$label ✓" - fi - - json_item "$id" "$icon" "$label" "$action" "$keywords" "$description" "$target" "$provider" - done < <(jq -r '.items[] | [ - (.id // ""), - (.icon // ""), - (.label // .id // ""), - (.action // ""), - (.keywords // ""), - (.description // ""), - (.target // ""), - (.provider // ""), - (.when // ""), - (.checked // "") - ] | @sh') -} - -menu_evaluated_json() { - if [[ -z ${MENU_EVALUATED_JSON_CACHE+x} ]]; then - MENU_EVALUATED_JSON_CACHE=$(menu_all_json | emit_config_items | normalize_menu_json) || return - fi - - printf '%s\n' "$MENU_EVALUATED_JSON_CACHE" -} - -menu_json() { - if [[ -z ${MENU_JSON_CACHE+x} ]]; then - MENU_JSON_CACHE=$(menu_static_json | emit_config_items | normalize_menu_json) || return - fi - - printf '%s\n' "$MENU_JSON_CACHE" -} - -# Provider dispatch -provider_mount_id() { - local provider="$1" - - menu_all_json | jq -r --arg provider "$provider" '.items[] | select(.provider == $provider) | .id' | head -n 1 -} - -provider_json() { - local provider="$1" - local menu_id="${2:-}" - local provider_function - - [[ -n $provider ]] || return 1 - menu_id=${menu_id:-$(provider_mount_id "$provider")} - [[ -n $menu_id ]] || return 1 - - if [[ $provider =~ ^[a-z0-9-]+$ ]]; then - provider_function="provider_${provider//-/_}" - case "$provider_function" in - provider_mount_id | provider_json) ;; - *) - if declare -F "$provider_function" >/dev/null; then - "$provider_function" "$menu_id" | normalize_menu_json - return - fi - ;; - esac - - if omarchy-cmd-present "$provider"; then - "$provider" "$menu_id" | normalize_menu_json - return - fi - fi - - echo "omarchy-menu: unknown provider '$provider'" >&2 - return 1 -} - - -# Routes and actions -route_target() { - local route="${1,,}" - local target - local all_json - route="${route//_/-}" - - if [[ -z $route || $route == "go" || $route == "menu" ]]; then - printf 'root' - return - fi - - all_json=$(menu_all_json) || return - target=$(jq -r --arg route "$route" ' - def aliases: - if (.aliases | type) == "array" then .aliases - elif (.aliases | type) == "string" then [.aliases] - else [] end; - - first(.items[] | select(any(aliases[]?; (ascii_downcase | gsub("_"; "-")) == $route)) | .id) // empty - ' <<<"$all_json") || return - - printf '%s' "${target:-$route}" -} - -route_field() { - local target="$1" - local field="$2" - local all_json - local fields - local when - local value - - all_json=$(menu_all_json) || return - fields=$(jq -r --arg id "$target" --arg field "$field" ' - first(.items[] | select(.id == $id) | [(.when // ""), (.[$field] // "")] | @sh) // empty - ' <<<"$all_json") || return - [[ -n $fields ]] || return - - eval "set -- $fields" - when="$1" - value="$2" - - if [[ -n $when ]] && ! eval "$when" >/dev/null 2>&1; then - return - fi - - printf '%s' "$value" -} - -route_kind() { - local target="$1" - - if [[ $target == "root" ]]; then - printf 'menu' - return - fi - - route_field "$target" kind -} - -route_link_target() { - route_field "$1" target -} - -route_action() { - route_field "$1" action -} - -run_action() { - local id="$1" - local action="${2:-}" - - if [[ -z $action ]]; then - action=$(route_action "$id") || return 0 - fi - - [[ -n $action ]] || return 0 - eval "$action" -} - - -# Quickshell launcher -ensure_menu_style_file() { - local toggles_dir="$HOME/.local/state/omarchy/toggles" - local style_file="$toggles_dir/quickshell-menu.json" - local radius=0 - - [[ -f $style_file ]] && return - - mkdir -p "$toggles_dir" - if [[ -f $toggles_dir/walker.css ]] && grep -q 'border-radius: 6px;' "$toggles_dir/walker.css"; then - radius=6 - fi - - printf '{ "radius": %s }\n' "$radius" >"$style_file" -} - -usage() { - cat < [menu-id] - -Launch the Quickshell Omarchy menu. Pass a menu name (install, style, system, -capture, toggle, etc.) to open there, or an action id to run it directly. - -Options: - --json Print the static menu JSON used by Quickshell - --provider [id] Print JSON rows from a runtime provider - -h, --help Show this help -USAGE -} - -menu_layer_visible() { - hyprctl layers -j 2>/dev/null | jq -e '.. | objects | select(.namespace? == "omarchy-menu")' >/dev/null -} - -menu_lock_path() { - printf '%s/omarchy-menu.lock' "${XDG_RUNTIME_DIR:-/run/user/$UID}" -} - -menu_payload_json() { - local menu_file="$1" - local initial_menu="$2" - local selection_file="$3" - local done_file="$4" - local colors_payload_base64="$5" - local font_family="$6" - - jq -nc \ - --arg menu_file "$menu_file" \ - --arg initial_menu "$initial_menu" \ - --arg selection_file "$selection_file" \ - --arg done_file "$done_file" \ - --arg colors_payload_base64 "$colors_payload_base64" \ - --arg font_family "$font_family" \ - '{ - menuJsonFile: $menu_file, - initialMenu: $initial_menu, - selectionFile: $selection_file, - doneFile: $done_file, - colorsRawBase64: $colors_payload_base64, - fontFamily: $font_family - }' -} - -close_visible_quickshell_menu() { - menu_layer_visible || return 1 - omarchy-shell-ipc shell hide omarchy.menu >/dev/null 2>&1 || return 1 -} - -open_quickshell_menu() { - local initial_menu="$1" - local menu_payload - local colors_file="$HOME/.config/omarchy/current/theme/colors.toml" - local colors_payload_base64="" - local font_family - local menu_file="" - local selection_file - local done_file - local selected_id - local selected_action - local menu_started=false - local lock_path - local lock_fd - local summon_result - local payload - - lock_path=$(menu_lock_path) - exec {lock_fd}>"$lock_path" || return 1 - if ! flock -n "$lock_fd"; then - close_visible_quickshell_menu && return 0 - flock "$lock_fd" || return 1 - fi - - if close_visible_quickshell_menu; then - return 0 - fi - - ensure_menu_style_file - - selection_file=$(mktemp) - done_file=$(mktemp) - rm -f "$done_file" - trap "rm -f $(shell_quote "$selection_file") $(shell_quote "$done_file")" EXIT - - menu_payload=$(menu_json) || return - if [[ $initial_menu != "root" ]] && ! jq -e --arg id "$initial_menu" '.items[] | select(.id == $id)' <<<"$menu_payload" >/dev/null; then - menu_payload=$(menu_evaluated_json) || return - fi - - if [[ -f $colors_file ]]; then - colors_payload_base64=$(base64 -w0 "$colors_file") - fi - - font_family=$(omarchy-font-current 2>/dev/null || true) - font_family=${font_family:-monospace} - - menu_file=$(mktemp) - printf '%s' "$menu_payload" >"$menu_file" - trap "rm -f $(shell_quote "$menu_file") $(shell_quote "$selection_file") $(shell_quote "$done_file")" EXIT - payload=$(menu_payload_json "$menu_file" "$initial_menu" "$selection_file" "$done_file" "$colors_payload_base64" "$font_family") || return - - summon_result=$(omarchy-shell-ipc shell summon omarchy.menu "$payload" 2>/dev/null || true) - if [[ $summon_result != "ok" ]]; then - echo "omarchy-menu: Omarchy shell did not accept the menu request" >&2 - return 1 - fi - - for (( i = 0; i < 500; i++ )); do - if [[ -e $done_file ]] || menu_layer_visible; then - menu_started=true - break - fi - sleep 0.01 - done - - if [[ $menu_started != true ]]; then - omarchy-shell-ipc shell hide omarchy.menu >/dev/null 2>&1 || true - echo "omarchy-menu: Quickshell menu did not open" >&2 - return 1 - fi - - while [[ ! -e $done_file ]]; do - menu_layer_visible || break - sleep 0.01 - done - - if [[ -s $selection_file ]]; then - IFS=$'\t' read -r selected_id selected_action <"$selection_file" - exec {lock_fd}>&- - run_action "$selected_id" "$selected_action" - fi -} - -# CLI dispatch -case "${1:-}" in ---help | -h) - usage - exit 0 - ;; ---json) - menu_json || exit $? - exit 0 - ;; ---provider) - provider_json "${2:-}" "${3:-}" - exit $? - ;; -screenrecord | screenrecording | screen-record) - close_visible_quickshell_menu || true - stop_active_screenrecording && exit 0 - ;; -esac - -if [[ -z ${1:-} ]]; then - open_quickshell_menu root - exit $? -fi - -target=$(route_target "${1:-}") || exit $? -kind=$(route_kind "$target") || exit $? - -case "$kind" in -action) - close_visible_quickshell_menu || true - run_action "$target" - ;; -menu) - open_quickshell_menu "$target" - ;; -link) - open_quickshell_menu "$(route_link_target "$target")" - ;; -*) - open_quickshell_menu root - ;; -esac diff --git a/bin/omarchy-reminder-set-interactive b/bin/omarchy-reminder-set-interactive new file mode 100755 index 00000000..6027f279 --- /dev/null +++ b/bin/omarchy-reminder-set-interactive @@ -0,0 +1,28 @@ +#!/bin/bash + +# omarchy:summary=Prompt for a reminder duration + message and schedule it +# omarchy:examples=omarchy reminder set-interactive + +set -e + +prompt_minutes() { + while :; do + minutes=$(omarchy-menu-input "Remind in minutes") || exit 0 + if [[ $minutes =~ ^[0-9]+$ ]] && (( minutes > 0 )); then + printf '%s' "$minutes" + return 0 + fi + [[ -z $minutes ]] && exit 0 + omarchy-notification-send "Invalid reminder" "Enter the number of minutes" -u critical + done +} + +minutes=$(prompt_minutes) +[[ -n $minutes ]] || exit 0 + +message=$(omarchy-menu-input "Reminder message") || exit 0 +if [[ -n $message ]]; then + omarchy-reminder "$minutes" "$message" +else + omarchy-reminder "$minutes" +fi diff --git a/default/hypr/bindings/utilities.lua b/default/hypr/bindings/utilities.lua index 505bcca9..19bafe59 100644 --- a/default/hypr/bindings/utilities.lua +++ b/default/hypr/bindings/utilities.lua @@ -1,12 +1,12 @@ hl.bind("SUPER + SPACE", hl.dsp.exec_cmd("omarchy-launch-walker"), { description = "Launch apps" }) hl.bind("SUPER + CTRL + E", hl.dsp.exec_cmd("omarchy-launch-walker -m symbols"), { description = "Emoji picker" }) -hl.bind("SUPER + CTRL + C", hl.dsp.exec_cmd("omarchy-menu capture"), { description = "Capture menu" }) -hl.bind("SUPER + CTRL + O", hl.dsp.exec_cmd("omarchy-menu toggle"), { description = "Toggle menu" }) -hl.bind("SUPER + CTRL + H", hl.dsp.exec_cmd("omarchy-menu hardware"), { description = "Hardware menu" }) -hl.bind("SUPER + ALT + SPACE", hl.dsp.exec_cmd("omarchy-menu"), { description = "Omarchy menu" }) -hl.bind("SUPER + SHIFT + code:201", hl.dsp.exec_cmd("omarchy-menu"), { description = "Omarchy menu" }) -hl.bind("SUPER + ESCAPE", hl.dsp.exec_cmd("omarchy-menu system"), { description = "System menu" }) -hl.bind("XF86PowerOff", hl.dsp.exec_cmd("omarchy-menu system"), { locked = true, description = "Power menu" }) +hl.bind("SUPER + CTRL + C", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon capture"), { description = "Capture menu" }) +hl.bind("SUPER + CTRL + O", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon toggle"), { description = "Toggle menu" }) +hl.bind("SUPER + CTRL + H", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon hardware"), { description = "Hardware menu" }) +hl.bind("SUPER + ALT + SPACE", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon root"), { description = "Omarchy menu" }) +hl.bind("SUPER + SHIFT + code:201", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon root"), { description = "Omarchy menu" }) +hl.bind("SUPER + ESCAPE", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon system"), { description = "System menu" }) +hl.bind("XF86PowerOff", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon system"), { locked = true, description = "Power menu" }) hl.bind("SUPER + K", hl.dsp.exec_cmd("omarchy-menu-keybindings"), { description = "Show key bindings" }) hl.bind("SUPER + ALT + K", hl.dsp.exec_cmd("omarchy-menu-tmux-keybindings"), { description = "Show Tmux key bindings" }) hl.bind("XF86Calculator", hl.dsp.exec_cmd("gnome-calculator"), { description = "Calculator" }) @@ -16,8 +16,8 @@ hl.bind("SUPER + SHIFT + CTRL + UP", hl.dsp.exec_cmd("omarchy-style-bar-position hl.bind("SUPER + SHIFT + CTRL + DOWN", hl.dsp.exec_cmd("omarchy-style-bar-position bottom"), { description = "Move bar to bottom" }) hl.bind("SUPER + SHIFT + CTRL + LEFT", hl.dsp.exec_cmd("omarchy-style-bar-position left"), { description = "Move bar to left" }) hl.bind("SUPER + SHIFT + CTRL + RIGHT", hl.dsp.exec_cmd("omarchy-style-bar-position right"), { description = "Move bar to right" }) -hl.bind("SUPER + CTRL + SPACE", hl.dsp.exec_cmd("omarchy-menu background"), { description = "Background switcher" }) -hl.bind("SUPER + SHIFT + CTRL + SPACE", hl.dsp.exec_cmd("omarchy-menu theme"), { description = "Theme menu" }) +hl.bind("SUPER + CTRL + SPACE", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon background"), { description = "Background switcher" }) +hl.bind("SUPER + SHIFT + CTRL + SPACE", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon theme"), { description = "Theme menu" }) hl.bind("SUPER + BACKSPACE", hl.dsp.exec_cmd("omarchy-hyprland-window-transparency-toggle"), { description = "Toggle window transparency" }) hl.bind("SUPER + SHIFT + BACKSPACE", hl.dsp.exec_cmd("omarchy-hyprland-window-gaps-toggle"), { description = "Toggle window gaps" }) hl.bind("SUPER + CTRL + BACKSPACE", hl.dsp.exec_cmd("omarchy-hyprland-window-single-square-aspect-toggle"), { description = "Toggle single-window square aspect" }) @@ -36,15 +36,15 @@ hl.bind("switch:on:Lid Switch", hl.dsp.exec_cmd("omarchy-hw-external-monitors && hl.bind("switch:off:Lid Switch", hl.dsp.exec_cmd("omarchy-hyprland-monitor-internal on"), { locked = true }) hl.bind("PRINT", hl.dsp.exec_cmd("omarchy-capture-screenshot"), { description = "Screenshot" }) -hl.bind("ALT + PRINT", hl.dsp.exec_cmd("omarchy-menu screenrecord"), { description = "Screenrecording" }) +hl.bind("ALT + PRINT", hl.dsp.exec_cmd("omarchy-capture-screenrecording --stop-recording || omarchy-shell-ipc menu summon trigger.capture.screenrecord"), { description = "Screenrecording" }) hl.bind("SUPER + PRINT", hl.dsp.exec_cmd("pkill hyprpicker || hyprpicker -a"), { description = "Color picker" }) hl.bind("SUPER + CTRL + PRINT", hl.dsp.exec_cmd("omarchy-capture-text-extraction"), { description = "Extract text (OCR) from screenshot" }) -hl.bind("SUPER + CTRL + S", hl.dsp.exec_cmd("omarchy-menu share"), { description = "Share" }) +hl.bind("SUPER + CTRL + S", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon share"), { description = "Share" }) hl.bind("SUPER + CTRL + PERIOD", hl.dsp.exec_cmd("omarchy-transcode"), { description = "Transcode" }) -hl.bind("SUPER + CTRL + R", hl.dsp.exec_cmd("omarchy-menu reminder-set"), { description = "Set reminder" }) +hl.bind("SUPER + CTRL + R", hl.dsp.exec_cmd("omarchy-shell-ipc menu summon reminder-set"), { description = "Set reminder" }) hl.bind("SUPER + CTRL + ALT + R", hl.dsp.exec_cmd("omarchy-reminder show"), { description = "Show reminders" }) hl.bind("SUPER + SHIFT + CTRL + R", hl.dsp.exec_cmd("omarchy-reminder clear"), { description = "Clear reminders" }) diff --git a/default/omarchy/omarchy-menu.jsonc b/default/omarchy/omarchy-menu.jsonc index dd969ebe..00ffc8f8 100644 --- a/default/omarchy/omarchy-menu.jsonc +++ b/default/omarchy/omarchy-menu.jsonc @@ -46,33 +46,33 @@ "trigger.reminder": {"icon":"󰔛","label":"Reminder","aliases":["reminder"],"keywords":"timer notification remind"}, "trigger.capture": {"icon":"","label":"Capture","aliases":["capture","screenshot","screenrecord","screen-record","screenrecording"],"keywords":"color text extraction"}, "trigger.capture.screenshot": {"icon":"","label":"Screenshot","keywords":"picture","action":"omarchy-capture-screenshot"}, - "trigger.capture.screenrecord.stop": {"icon":"","label":"Stop Screenrecording","keywords":"recording video","when":"pgrep -f '^gpu-screen-recorder' >/dev/null","action":"stop_active_screenrecording"}, + "trigger.capture.screenrecord.stop": {"icon":"","label":"Stop Screenrecording","keywords":"recording video","when":"pgrep -f '^gpu-screen-recorder' >/dev/null","action":"omarchy-capture-screenrecording --stop-recording"}, "trigger.capture.screenrecord": {"icon":"","label":"Screenrecord","keywords":"record screen video"}, "trigger.capture.text": {"icon":"󰴑","label":"Text Extraction","keywords":"ocr","action":"omarchy-capture-text-extraction"}, "trigger.capture.color": {"icon":"󰃉","label":"Color","keywords":"picker hyprpicker","action":"pkill hyprpicker || hyprpicker -a"}, "trigger.capture.screenrecord.no-audio": {"icon":"","label":"With no audio","action":"omarchy-capture-screenrecording"}, "trigger.capture.screenrecord.desktop-audio": {"icon":"","label":"With desktop audio","action":"omarchy-capture-screenrecording --with-desktop-audio"}, "trigger.capture.screenrecord.microphone": {"icon":"","label":"With desktop + microphone audio","keywords":"mic","action":"omarchy-capture-screenrecording --with-desktop-audio --with-microphone-audio"}, - "trigger.capture.screenrecord.webcam": {"icon":"","label":"With desktop + microphone audio + webcam","keywords":"camera","action":"screenrecord_with_webcam"}, + "trigger.capture.screenrecord.webcam": {"icon":"","label":"With desktop + microphone audio + webcam","keywords":"camera","action":"omarchy-capture-screenrecording-with-webcam"}, "trigger.transcode": {"icon":"󰧸","label":"Transcode","keywords":"convert image video","action":"omarchy-transcode"}, "trigger.share": {"icon":"","label":"Share","aliases":["share"],"keywords":"clipboard file folder localsend"}, "trigger.toggle": {"icon":"󰔎","label":"Toggle","aliases":["toggle","toggles"],"keywords":"screensaver nightlight idle notifications bar quickshell"}, "trigger.hardware": {"icon":"","label":"Hardware","aliases":["hardware","hw"],"keywords":"monitor touchpad touchscreen gpu"}, "trigger.hardware.laptop-display": {"icon":"󰛧","label":"Laptop Display","keywords":"monitor","action":"omarchy-hyprland-monitor-internal toggle"}, "trigger.hardware.mirror-display": {"icon":"󰍹","label":"Mirror Display","keywords":"monitor","action":"omarchy-hyprland-monitor-internal-mirror toggle"}, - "trigger.hardware.hybrid-gpu": {"icon":"","label":"Hybrid GPU","keywords":"graphics","when":"omarchy-hw-hybrid-gpu >/dev/null","action":"present_terminal omarchy-toggle-hybrid-gpu"}, + "trigger.hardware.hybrid-gpu": {"icon":"","label":"Hybrid GPU","keywords":"graphics","when":"omarchy-hw-hybrid-gpu >/dev/null","action":"omarchy-launch-floating-terminal-with-presentation omarchy-toggle-hybrid-gpu"}, "trigger.hardware.touchpad": {"icon":"󰟸","label":"Touchpad","keywords":"trackpad","when":"omarchy-hw-touchpad >/dev/null","action":"omarchy-toggle-touchpad"}, "trigger.hardware.touchpad-haptics": {"icon":"󰌌","label":"Touchpad Haptics","when":"omarchy-hw-dell-xps-haptic-touchpad >/dev/null && omarchy-cmd-present dell-xps-touchpad-haptics"}, - "trigger.hardware.touchpad-haptics.low": {"icon":"󰌌","label":"low","when":"omarchy-hw-dell-xps-haptic-touchpad >/dev/null && omarchy-cmd-present dell-xps-touchpad-haptics","checked":"haptic_touchpad_is low","action":"dell-xps-touchpad-haptics set low"}, - "trigger.hardware.touchpad-haptics.mid": {"icon":"󰌌","label":"mid","keywords":"medium","when":"omarchy-hw-dell-xps-haptic-touchpad >/dev/null && omarchy-cmd-present dell-xps-touchpad-haptics","checked":"haptic_touchpad_is mid","action":"dell-xps-touchpad-haptics set mid"}, - "trigger.hardware.touchpad-haptics.high": {"icon":"󰌌","label":"high","when":"omarchy-hw-dell-xps-haptic-touchpad >/dev/null && omarchy-cmd-present dell-xps-touchpad-haptics","checked":"haptic_touchpad_is high","action":"dell-xps-touchpad-haptics set high"}, + "trigger.hardware.touchpad-haptics.low": {"icon":"󰌌","label":"low","when":"omarchy-hw-dell-xps-haptic-touchpad >/dev/null && omarchy-cmd-present dell-xps-touchpad-haptics","checked":"[[ \"$(dell-xps-touchpad-haptics get)\" == \"low\" ]]","action":"dell-xps-touchpad-haptics set low"}, + "trigger.hardware.touchpad-haptics.mid": {"icon":"󰌌","label":"mid","keywords":"medium","when":"omarchy-hw-dell-xps-haptic-touchpad >/dev/null && omarchy-cmd-present dell-xps-touchpad-haptics","checked":"[[ \"$(dell-xps-touchpad-haptics get)\" == \"mid\" ]]","action":"dell-xps-touchpad-haptics set mid"}, + "trigger.hardware.touchpad-haptics.high": {"icon":"󰌌","label":"high","when":"omarchy-hw-dell-xps-haptic-touchpad >/dev/null && omarchy-cmd-present dell-xps-touchpad-haptics","checked":"[[ \"$(dell-xps-touchpad-haptics get)\" == \"high\" ]]","action":"dell-xps-touchpad-haptics set high"}, "trigger.hardware.touchscreen": {"icon":"󰆽","label":"Touchscreen","keywords":"tablet","when":"omarchy-hw-touchscreen >/dev/null","action":"omarchy-toggle-touchscreen"}, - "trigger.reminder.set": {"icon":"󰔛","label":"Set one","aliases":["reminder-set","remind"],"keywords":"timer","action":"show_custom_reminder_input"}, + "trigger.reminder.set": {"icon":"󰔛","label":"Set one","aliases":["reminder-set","remind"],"keywords":"timer","action":"omarchy-reminder-set-interactive"}, "trigger.reminder.show": {"icon":"󰔛","label":"Show all","keywords":"list","action":"omarchy-reminder show"}, "trigger.reminder.clear": {"icon":"󰔛","label":"Clear all","keywords":"delete","action":"omarchy-reminder clear"}, "trigger.share.clipboard": {"icon":"","label":"Clipboard","action":"omarchy-menu-share clipboard"}, - "trigger.share.file": {"icon":"","label":"File","action":"terminal bash -c 'omarchy-menu-share file'"}, - "trigger.share.folder": {"icon":"","label":"Folder","keywords":"directory","action":"terminal bash -c 'omarchy-menu-share folder'"}, + "trigger.share.file": {"icon":"","label":"File","action":"xdg-terminal-exec --app-id=org.omarchy.terminal bash -c 'omarchy-menu-share file'"}, + "trigger.share.folder": {"icon":"","label":"Folder","keywords":"directory","action":"xdg-terminal-exec --app-id=org.omarchy.terminal bash -c 'omarchy-menu-share folder'"}, "trigger.share.receive": {"icon":"󰥦","label":"Receive","keywords":"localsend","action":"uwsm-app -- localsend"}, "trigger.toggle.screensaver": {"icon":"󱄄","label":"Screensaver","action":"omarchy-toggle-screensaver"}, "trigger.toggle.nightlight": {"icon":"󰔎","label":"Nightlight","keywords":"night light hyprsunset","action":"omarchy-toggle-nightlight"}, @@ -83,8 +83,8 @@ "trigger.toggle.window-gaps": {"icon":"","label":"Window Gaps","action":"omarchy-hyprland-window-gaps-toggle"}, "trigger.toggle.one-window-ratio": {"icon":"","label":"1-Window Ratio","keywords":"square","action":"omarchy-hyprland-window-single-square-aspect-toggle"}, "trigger.toggle.monitor-scaling": {"icon":"󰍹","label":"Monitor Scaling","keywords":"display","action":"omarchy-hyprland-monitor-scaling-cycle"}, - "trigger.toggle.direct-boot": {"icon":"","label":"Direct Boot","action":"present_terminal omarchy-config-direct-boot"}, - "trigger.toggle.passwordless-sudo": {"icon":"󰟵","label":"Passwordless Sudo","action":"present_terminal omarchy-sudo-passwordless"}, + "trigger.toggle.direct-boot": {"icon":"","label":"Direct Boot","action":"omarchy-launch-floating-terminal-with-presentation omarchy-config-direct-boot"}, + "trigger.toggle.passwordless-sudo": {"icon":"󰟵","label":"Passwordless Sudo","action":"omarchy-launch-floating-terminal-with-presentation omarchy-sudo-passwordless"}, // Style "style.theme": {"icon":"󰸌","label":"Theme","aliases":["theme","themes"],"keywords":"colors","action":"theme=$(omarchy-theme-switcher); [[ -n $theme ]] && omarchy-theme-set \"$theme\""}, @@ -93,7 +93,7 @@ "style.background": {"icon":"","label":"Background","aliases":["background","wallpaper"],"action":"background=$(omarchy-theme-bg-switcher); [[ -n $background ]] && omarchy-theme-bg-set \"$background\""}, "style.bar": {"icon":"󰍜","label":"Bar","keywords":"quickshell top bottom left right settings"}, "style.corners": {"icon":"󰘇","label":"Corners","keywords":"sharp round rounded"}, - "style.hyprland": {"icon":"","label":"Hyprland","keywords":"look feel","action":"open_in_editor \"$(hypr_config_file looknfeel)\""}, + "style.hyprland": {"icon":"","label":"Hyprland","keywords":"look feel","action":"omarchy-launch-config-editor \"$HOME/.config/hypr/looknfeel.lua\""}, "style.screensaver": {"icon":"󱄄","label":"Screensaver","keywords":"branding"}, "style.about": {"icon":"","label":"About","keywords":"branding"}, "style.install": {"icon":"󰉉","label":"Install","keywords":"theme background font"}, @@ -109,15 +109,15 @@ "style.screensaver.text": {"icon":"","label":"Edit Text","keywords":"branding","action":"omarchy-branding-screensaver text"}, "style.screensaver.image": {"icon":"","label":"Set From Image","keywords":"branding","action":"omarchy-branding-screensaver image"}, "style.screensaver.default": {"icon":"","label":"Restore Default","keywords":"branding","action":"omarchy-branding-screensaver reset"}, - "style.install.theme": {"icon":"󰸌","label":"Theme","action":"present_terminal omarchy-theme-install"}, + "style.install.theme": {"icon":"󰸌","label":"Theme","action":"omarchy-launch-floating-terminal-with-presentation omarchy-theme-install"}, "style.install.background": {"icon":"","label":"Background","keywords":"wallpaper","action":"omarchy-theme-bg-install"}, "style.install.font": {"icon":"","label":"Font"}, - "style.install.font.cascadia": {"icon":"","label":"Cascadia Mono","action":"install_font 'Cascadia Mono' ttf-cascadia-mono-nerd 'CaskaydiaMono Nerd Font'"}, - "style.install.font.meslo": {"icon":"","label":"Meslo LG Mono","action":"install_font 'Meslo LG Mono' ttf-meslo-nerd 'MesloLGL Nerd Font'"}, - "style.install.font.fira": {"icon":"","label":"Fira Code","action":"install_font 'Fira Code' ttf-firacode-nerd 'FiraCode Nerd Font'"}, - "style.install.font.victor": {"icon":"","label":"Victor Code","action":"install_font 'Victor Code' ttf-victor-mono-nerd 'VictorMono Nerd Font'"}, - "style.install.font.bitstream": {"icon":"","label":"Bitstream Vera Mono","action":"install_font 'Bitstream Vera Code' ttf-bitstream-vera-mono-nerd 'BitstromWera Nerd Font'"}, - "style.install.font.iosevka": {"icon":"","label":"Iosevka","action":"install_font Iosevka ttf-iosevka-nerd 'Iosevka Nerd Font Mono'"}, + "style.install.font.cascadia": {"icon":"","label":"Cascadia Mono","action":"omarchy-install-font 'Cascadia Mono' ttf-cascadia-mono-nerd 'CaskaydiaMono Nerd Font'"}, + "style.install.font.meslo": {"icon":"","label":"Meslo LG Mono","action":"omarchy-install-font 'Meslo LG Mono' ttf-meslo-nerd 'MesloLGL Nerd Font'"}, + "style.install.font.fira": {"icon":"","label":"Fira Code","action":"omarchy-install-font 'Fira Code' ttf-firacode-nerd 'FiraCode Nerd Font'"}, + "style.install.font.victor": {"icon":"","label":"Victor Code","action":"omarchy-install-font 'Victor Code' ttf-victor-mono-nerd 'VictorMono Nerd Font'"}, + "style.install.font.bitstream": {"icon":"","label":"Bitstream Vera Mono","action":"omarchy-install-font 'Bitstream Vera Code' ttf-bitstream-vera-mono-nerd 'BitstromWera Nerd Font'"}, + "style.install.font.iosevka": {"icon":"","label":"Iosevka","action":"omarchy-install-font Iosevka ttf-iosevka-nerd 'Iosevka Nerd Font Mono'"}, // Setup "setup.audio": {"icon":"","label":"Audio","keywords":"sound","action":"omarchy-launch-audio"}, @@ -127,53 +127,53 @@ "setup.sleep": {"icon":"","label":"System Sleep","keywords":"suspend hibernate"}, "setup.sleep.suspend-enable": {"icon":"󰒲","label":"Enable Suspend","when":"omarchy-toggle-enabled suspend-off","action":"omarchy-toggle-suspend"}, "setup.sleep.suspend-disable": {"icon":"󰒲","label":"Disable Suspend","when":"! omarchy-toggle-enabled suspend-off","action":"omarchy-toggle-suspend"}, - "setup.sleep.hibernate-enable": {"icon":"󰤁","label":"Enable Hibernate","when":"! omarchy-hibernation-available","action":"present_terminal omarchy-hibernation-setup"}, - "setup.sleep.hibernate-disable": {"icon":"󰤁","label":"Disable Hibernate","when":"omarchy-hibernation-available","action":"present_terminal omarchy-hibernation-remove"}, - "setup.monitors": {"icon":"󰍹","label":"Monitors","keywords":"monitor display hyprland","action":"open_in_editor \"$(hypr_config_file monitors)\""}, - "setup.keybindings": {"icon":"","label":"Keybindings","keywords":"keyboard shortcuts","when":"[[ -f $(hypr_config_file bindings) ]]","action":"open_in_editor \"$(hypr_config_file bindings)\""}, - "setup.input": {"icon":"","label":"Input","keywords":"keyboard touchpad mouse","when":"[[ -f $(hypr_config_file input) ]]","action":"open_in_editor \"$(hypr_config_file input)\""}, + "setup.sleep.hibernate-enable": {"icon":"󰤁","label":"Enable Hibernate","when":"! omarchy-hibernation-available","action":"omarchy-launch-floating-terminal-with-presentation omarchy-hibernation-setup"}, + "setup.sleep.hibernate-disable": {"icon":"󰤁","label":"Disable Hibernate","when":"omarchy-hibernation-available","action":"omarchy-launch-floating-terminal-with-presentation omarchy-hibernation-remove"}, + "setup.monitors": {"icon":"󰍹","label":"Monitors","keywords":"monitor display hyprland","action":"omarchy-launch-config-editor \"$HOME/.config/hypr/monitors.lua\""}, + "setup.keybindings": {"icon":"","label":"Keybindings","keywords":"keyboard shortcuts","when":"[[ -f ~/.config/hypr/bindings.lua ]]","action":"omarchy-launch-config-editor \"$HOME/.config/hypr/bindings.lua\""}, + "setup.input": {"icon":"","label":"Input","keywords":"keyboard touchpad mouse","when":"[[ -f ~/.config/hypr/input.lua ]]","action":"omarchy-launch-config-editor \"$HOME/.config/hypr/input.lua\""}, "setup.default": {"icon":"","label":"Defaults","aliases":["default","defaults"],"keywords":"browser terminal editor"}, "setup.default.browser": {"icon":"","label":"Browser"}, - "setup.default.browser.chromium": {"icon":"","label":"Chromium","when":"omarchy-cmd-present chromium","checked":"default_browser_is chromium","action":"omarchy-default-browser chromium"}, - "setup.default.browser.chrome": {"icon":"󰊯","label":"Chrome","keywords":"google","when":"omarchy-cmd-present google-chrome-stable","checked":"default_browser_is chrome","action":"omarchy-default-browser chrome"}, - "setup.default.browser.brave": {"icon":"󰖟","label":"Brave","when":"omarchy-cmd-present brave","checked":"default_browser_is brave","action":"omarchy-default-browser brave"}, - "setup.default.browser.brave-origin": {"icon":"󰖟","label":"Brave Origin","when":"omarchy-cmd-present brave-origin-beta","checked":"default_browser_is brave-origin","action":"omarchy-default-browser brave-origin"}, - "setup.default.browser.edge": {"icon":"󰇩","label":"Edge","when":"omarchy-cmd-present microsoft-edge-stable","checked":"default_browser_is edge","action":"omarchy-default-browser edge"}, - "setup.default.browser.firefox": {"icon":"󰈹","label":"Firefox","when":"omarchy-cmd-present firefox","checked":"default_browser_is firefox","action":"omarchy-default-browser firefox"}, - "setup.default.browser.zen": {"icon":"󰖟","label":"Zen","when":"omarchy-cmd-present zen-browser","checked":"default_browser_is zen","action":"omarchy-default-browser zen"}, + "setup.default.browser.chromium": {"icon":"","label":"Chromium","when":"omarchy-cmd-present chromium","checked":"[[ \"$(omarchy-default-browser)\" == \"chromium\" ]]","action":"omarchy-default-browser chromium"}, + "setup.default.browser.chrome": {"icon":"󰊯","label":"Chrome","keywords":"google","when":"omarchy-cmd-present google-chrome-stable","checked":"[[ \"$(omarchy-default-browser)\" == \"chrome\" ]]","action":"omarchy-default-browser chrome"}, + "setup.default.browser.brave": {"icon":"󰖟","label":"Brave","when":"omarchy-cmd-present brave","checked":"[[ \"$(omarchy-default-browser)\" == \"brave\" ]]","action":"omarchy-default-browser brave"}, + "setup.default.browser.brave-origin": {"icon":"󰖟","label":"Brave Origin","when":"omarchy-cmd-present brave-origin-beta","checked":"[[ \"$(omarchy-default-browser)\" == \"brave-origin\" ]]","action":"omarchy-default-browser brave-origin"}, + "setup.default.browser.edge": {"icon":"󰇩","label":"Edge","when":"omarchy-cmd-present microsoft-edge-stable","checked":"[[ \"$(omarchy-default-browser)\" == \"edge\" ]]","action":"omarchy-default-browser edge"}, + "setup.default.browser.firefox": {"icon":"󰈹","label":"Firefox","when":"omarchy-cmd-present firefox","checked":"[[ \"$(omarchy-default-browser)\" == \"firefox\" ]]","action":"omarchy-default-browser firefox"}, + "setup.default.browser.zen": {"icon":"󰖟","label":"Zen","when":"omarchy-cmd-present zen-browser","checked":"[[ \"$(omarchy-default-browser)\" == \"zen\" ]]","action":"omarchy-default-browser zen"}, "setup.default.terminal": {"icon":"","label":"Terminal"}, - "setup.default.terminal.alacritty": {"icon":"","label":"Alacritty","when":"omarchy-cmd-present alacritty","checked":"default_terminal_is alacritty","action":"omarchy-default-terminal alacritty"}, - "setup.default.terminal.foot": {"icon":"","label":"Foot","when":"omarchy-cmd-present foot","checked":"default_terminal_is foot","action":"omarchy-default-terminal foot"}, - "setup.default.terminal.ghostty": {"icon":"","label":"Ghostty","when":"omarchy-cmd-present ghostty","checked":"default_terminal_is ghostty","action":"omarchy-default-terminal ghostty"}, - "setup.default.terminal.kitty": {"icon":"","label":"Kitty","when":"omarchy-cmd-present kitty","checked":"default_terminal_is kitty","action":"omarchy-default-terminal kitty"}, + "setup.default.terminal.alacritty": {"icon":"","label":"Alacritty","when":"omarchy-cmd-present alacritty","checked":"[[ \"$(omarchy-default-terminal)\" == \"alacritty\" ]]","action":"omarchy-default-terminal alacritty"}, + "setup.default.terminal.foot": {"icon":"","label":"Foot","when":"omarchy-cmd-present foot","checked":"[[ \"$(omarchy-default-terminal)\" == \"foot\" ]]","action":"omarchy-default-terminal foot"}, + "setup.default.terminal.ghostty": {"icon":"","label":"Ghostty","when":"omarchy-cmd-present ghostty","checked":"[[ \"$(omarchy-default-terminal)\" == \"ghostty\" ]]","action":"omarchy-default-terminal ghostty"}, + "setup.default.terminal.kitty": {"icon":"","label":"Kitty","when":"omarchy-cmd-present kitty","checked":"[[ \"$(omarchy-default-terminal)\" == \"kitty\" ]]","action":"omarchy-default-terminal kitty"}, "setup.default.editor": {"icon":"","label":"Editor"}, - "setup.default.editor.neovim": {"icon":"","label":"Neovim","keywords":"nvim","when":"omarchy-cmd-present nvim","checked":"default_editor_is nvim","action":"omarchy-default-editor nvim"}, - "setup.default.editor.vscode": {"icon":"","label":"VSCode","keywords":"code","when":"omarchy-cmd-present code","checked":"default_editor_is code","action":"omarchy-default-editor code"}, - "setup.default.editor.cursor": {"icon":"","label":"Cursor","when":"omarchy-cmd-present cursor","checked":"default_editor_is cursor","action":"omarchy-default-editor cursor"}, - "setup.default.editor.zed": {"icon":"","label":"Zed","when":"omarchy-cmd-present zeditor","checked":"default_editor_is zeditor","action":"omarchy-default-editor zed"}, - "setup.default.editor.sublime": {"icon":"","label":"Sublime Text","when":"omarchy-cmd-present sublime_text","checked":"default_editor_is sublime_text","action":"omarchy-default-editor sublime_text"}, - "setup.default.editor.helix": {"icon":"","label":"Helix","when":"omarchy-cmd-present helix","checked":"default_editor_is helix","action":"omarchy-default-editor helix"}, - "setup.default.editor.vim": {"icon":"","label":"Vim","when":"omarchy-cmd-present vim","checked":"default_editor_is vim","action":"omarchy-default-editor vim"}, - "setup.default.editor.emacs": {"icon":"","label":"Emacs","when":"omarchy-cmd-present emacs","checked":"default_editor_is emacs","action":"omarchy-default-editor emacs"}, - "setup.dns": {"icon":"󰱔","label":"DNS","keywords":"network","action":"present_terminal omarchy-setup-dns"}, + "setup.default.editor.neovim": {"icon":"","label":"Neovim","keywords":"nvim","when":"omarchy-cmd-present nvim","checked":"[[ \"$(omarchy-default-editor)\" == \"nvim\" ]]","action":"omarchy-default-editor nvim"}, + "setup.default.editor.vscode": {"icon":"","label":"VSCode","keywords":"code","when":"omarchy-cmd-present code","checked":"[[ \"$(omarchy-default-editor)\" == \"code\" ]]","action":"omarchy-default-editor code"}, + "setup.default.editor.cursor": {"icon":"","label":"Cursor","when":"omarchy-cmd-present cursor","checked":"[[ \"$(omarchy-default-editor)\" == \"cursor\" ]]","action":"omarchy-default-editor cursor"}, + "setup.default.editor.zed": {"icon":"","label":"Zed","when":"omarchy-cmd-present zeditor","checked":"[[ \"$(omarchy-default-editor)\" == \"zeditor\" ]]","action":"omarchy-default-editor zed"}, + "setup.default.editor.sublime": {"icon":"","label":"Sublime Text","when":"omarchy-cmd-present sublime_text","checked":"[[ \"$(omarchy-default-editor)\" == \"sublime_text\" ]]","action":"omarchy-default-editor sublime_text"}, + "setup.default.editor.helix": {"icon":"","label":"Helix","when":"omarchy-cmd-present helix","checked":"[[ \"$(omarchy-default-editor)\" == \"helix\" ]]","action":"omarchy-default-editor helix"}, + "setup.default.editor.vim": {"icon":"","label":"Vim","when":"omarchy-cmd-present vim","checked":"[[ \"$(omarchy-default-editor)\" == \"vim\" ]]","action":"omarchy-default-editor vim"}, + "setup.default.editor.emacs": {"icon":"","label":"Emacs","when":"omarchy-cmd-present emacs","checked":"[[ \"$(omarchy-default-editor)\" == \"emacs\" ]]","action":"omarchy-default-editor emacs"}, + "setup.dns": {"icon":"󰱔","label":"DNS","keywords":"network","action":"omarchy-launch-floating-terminal-with-presentation omarchy-setup-dns"}, "setup.security": {"icon":"","label":"Security","keywords":"fingerprint fido2"}, "setup.config": {"icon":"","label":"Config","keywords":"files hyprland bar quickshell walker"}, - "setup.security.fingerprint": {"icon":"󰈷","label":"Fingerprint","action":"present_terminal omarchy-setup-security-fingerprint"}, - "setup.security.fido2": {"icon":"","label":"Fido2","keywords":"key","action":"present_terminal omarchy-setup-security-fido2"}, - "setup.config.hyprland": {"icon":"","label":"Hyprland","action":"open_in_editor \"$(hypr_config_file hyprland)\""}, - "setup.config.hypridle": {"icon":"","label":"Hypridle","keywords":"idle","action":"open_in_editor ~/.config/hypr/hypridle.conf && omarchy-restart-hypridle"}, - "setup.config.hyprlock": {"icon":"","label":"Hyprlock","keywords":"lock","action":"open_in_editor ~/.config/hypr/hyprlock.conf"}, - "setup.config.hyprsunset": {"icon":"","label":"Hyprsunset","keywords":"night light","action":"open_in_editor ~/.config/hypr/hyprsunset.conf && omarchy-restart-hyprsunset"}, - "setup.config.swayosd": {"icon":"","label":"Swayosd","action":"open_in_editor ~/.config/swayosd/config.toml && omarchy-restart-swayosd"}, - "setup.config.walker": {"icon":"󰌧","label":"Walker","keywords":"launcher","action":"open_in_editor ~/.config/walker/config.toml && omarchy-restart-walker"}, + "setup.security.fingerprint": {"icon":"󰈷","label":"Fingerprint","action":"omarchy-launch-floating-terminal-with-presentation omarchy-setup-security-fingerprint"}, + "setup.security.fido2": {"icon":"","label":"Fido2","keywords":"key","action":"omarchy-launch-floating-terminal-with-presentation omarchy-setup-security-fido2"}, + "setup.config.hyprland": {"icon":"","label":"Hyprland","action":"omarchy-launch-config-editor \"$HOME/.config/hypr/hyprland.lua\""}, + "setup.config.hypridle": {"icon":"","label":"Hypridle","keywords":"idle","action":"omarchy-launch-config-editor ~/.config/hypr/hypridle.conf && omarchy-restart-hypridle"}, + "setup.config.hyprlock": {"icon":"","label":"Hyprlock","keywords":"lock","action":"omarchy-launch-config-editor ~/.config/hypr/hyprlock.conf"}, + "setup.config.hyprsunset": {"icon":"","label":"Hyprsunset","keywords":"night light","action":"omarchy-launch-config-editor ~/.config/hypr/hyprsunset.conf && omarchy-restart-hyprsunset"}, + "setup.config.swayosd": {"icon":"","label":"Swayosd","action":"omarchy-launch-config-editor ~/.config/swayosd/config.toml && omarchy-restart-swayosd"}, + "setup.config.walker": {"icon":"󰌧","label":"Walker","keywords":"launcher","action":"omarchy-launch-config-editor ~/.config/walker/config.toml && omarchy-restart-walker"}, "setup.config.bar": {"icon":"󰍜","label":"Bar","keywords":"quickshell shell config","action":"omarchy-launch-settings bar"}, - "setup.config.xcompose": {"icon":"󰞅","label":"XCompose","keywords":"compose key","action":"open_in_editor ~/.XCompose && omarchy-restart-xcompose"}, + "setup.config.xcompose": {"icon":"󰞅","label":"XCompose","keywords":"compose key","action":"omarchy-launch-config-editor ~/.XCompose && omarchy-restart-xcompose"}, // Install - "install.package": {"icon":"󰣇","label":"Package","keywords":"pacman aur","action":"terminal omarchy-pkg-install"}, - "install.aur": {"icon":"󰣇","label":"AUR","keywords":"package","action":"terminal omarchy-pkg-aur-install"}, - "install.webapp": {"icon":"","label":"Web App","keywords":"pwa","action":"present_terminal omarchy-webapp-install"}, - "install.tui": {"icon":"","label":"TUI","keywords":"terminal app","action":"present_terminal omarchy-tui-install"}, + "install.package": {"icon":"󰣇","label":"Package","keywords":"pacman aur","action":"xdg-terminal-exec --app-id=org.omarchy.terminal omarchy-pkg-install"}, + "install.aur": {"icon":"󰣇","label":"AUR","keywords":"package","action":"xdg-terminal-exec --app-id=org.omarchy.terminal omarchy-pkg-aur-install"}, + "install.webapp": {"icon":"","label":"Web App","keywords":"pwa","action":"omarchy-launch-floating-terminal-with-presentation omarchy-webapp-install"}, + "install.tui": {"icon":"","label":"TUI","keywords":"terminal app","action":"omarchy-launch-floating-terminal-with-presentation omarchy-tui-install"}, "install.service": {"icon":"","label":"Service","keywords":"dropbox tailscale vpn"}, "install.style": {"icon":"","label":"Style","keywords":"theme background font","target":"style.install"}, "install.development": {"icon":"󰵮","label":"Development","keywords":"languages programming"}, @@ -182,151 +182,151 @@ "install.browser": {"icon":"","label":"Browser","keywords":"web"}, "install.ai": {"icon":"󱚤","label":"AI","keywords":"dictation ollama lm studio crush"}, "install.gaming": {"icon":"","label":"Gaming","keywords":"steam retroarch minecraft lutris heroic"}, - "install.windows": {"icon":"󰍲","label":"Windows","keywords":"vm","action":"present_terminal 'omarchy-windows-vm install'"}, - "install.browser.chrome": {"icon":"","label":"Chrome","action":"present_terminal 'omarchy-install-browser chrome'"}, - "install.browser.edge": {"icon":"","label":"Edge","action":"present_terminal 'omarchy-install-browser edge'"}, - "install.browser.brave": {"icon":"","label":"Brave","action":"present_terminal 'omarchy-install-browser brave'"}, - "install.browser.brave-origin": {"icon":"","label":"Brave Origin","action":"present_terminal 'omarchy-install-browser brave-origin'"}, - "install.browser.firefox": {"icon":"","label":"Firefox","action":"present_terminal 'omarchy-install-browser firefox'"}, - "install.browser.zen": {"icon":"󰖟","label":"Zen","action":"present_terminal 'omarchy-install-browser zen'"}, - "install.service.dropbox": {"icon":"","label":"Dropbox","action":"present_terminal omarchy-install-dropbox"}, - "install.service.tailscale": {"icon":"","label":"Tailscale","keywords":"vpn","action":"present_terminal omarchy-install-tailscale"}, - "install.service.nordvpn": {"icon":"󱇱","label":"NordVPN [AUR]","keywords":"vpn","action":"present_terminal omarchy-install-nordvpn"}, - "install.service.once": {"icon":"󰏖","label":"ONCE","action":"present_terminal omarchy-install-once"}, - "install.service.bitwarden": {"icon":"󰟵","label":"Bitwarden","keywords":"password","action":"install_and_launch Bitwarden 'bitwarden bitwarden-cli' bitwarden"}, - "install.service.chromium-account": {"icon":"","label":"Chromium Account","keywords":"google","action":"present_terminal omarchy-install-chromium-google-account"}, - "install.editor.vscode": {"icon":"","label":"VSCode","keywords":"code","action":"present_terminal omarchy-install-vscode"}, - "install.editor.cursor": {"icon":"","label":"Cursor","action":"install_and_launch Cursor cursor-bin cursor"}, - "install.editor.zed": {"icon":"","label":"Zed","action":"present_terminal omarchy-install-zed"}, - "install.editor.sublime": {"icon":"","label":"Sublime Text","action":"install_and_launch 'Sublime Text' sublime-text-4 sublime_text"}, - "install.editor.helix": {"icon":"","label":"Helix","action":"present_terminal omarchy-install-helix"}, - "install.editor.vim": {"icon":"","label":"Vim","action":"install Vim vim"}, - "install.editor.emacs": {"icon":"","label":"Emacs","action":"install Emacs emacs-wayland && systemctl --user enable --now emacs.service"}, - "install.terminal.alacritty": {"icon":"","label":"Alacritty","action":"install_terminal alacritty"}, - "install.terminal.foot": {"icon":"","label":"Foot","action":"install_terminal foot"}, - "install.terminal.ghostty": {"icon":"","label":"Ghostty","action":"install_terminal ghostty"}, - "install.terminal.kitty": {"icon":"","label":"Kitty","action":"install_terminal kitty"}, - "install.ai.dictation": {"icon":"","label":"Dictation","keywords":"voice","action":"present_terminal omarchy-voxtype-install"}, - "install.ai.lm-studio": {"icon":"󱚤","label":"LM Studio","action":"install 'LM Studio' lmstudio-bin"}, + "install.windows": {"icon":"󰍲","label":"Windows","keywords":"vm","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-windows-vm install'"}, + "install.browser.chrome": {"icon":"","label":"Chrome","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-browser chrome'"}, + "install.browser.edge": {"icon":"","label":"Edge","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-browser edge'"}, + "install.browser.brave": {"icon":"","label":"Brave","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-browser brave'"}, + "install.browser.brave-origin": {"icon":"","label":"Brave Origin","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-browser brave-origin'"}, + "install.browser.firefox": {"icon":"","label":"Firefox","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-browser firefox'"}, + "install.browser.zen": {"icon":"󰖟","label":"Zen","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-browser zen'"}, + "install.service.dropbox": {"icon":"","label":"Dropbox","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-dropbox"}, + "install.service.tailscale": {"icon":"","label":"Tailscale","keywords":"vpn","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-tailscale"}, + "install.service.nordvpn": {"icon":"󱇱","label":"NordVPN [AUR]","keywords":"vpn","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-nordvpn"}, + "install.service.once": {"icon":"󰏖","label":"ONCE","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-once"}, + "install.service.bitwarden": {"icon":"󰟵","label":"Bitwarden","keywords":"password","action":"omarchy-install-and-launch Bitwarden 'bitwarden bitwarden-cli' bitwarden"}, + "install.service.chromium-account": {"icon":"","label":"Chromium Account","keywords":"google","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-chromium-google-account"}, + "install.editor.vscode": {"icon":"","label":"VSCode","keywords":"code","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-vscode"}, + "install.editor.cursor": {"icon":"","label":"Cursor","action":"omarchy-install-and-launch Cursor cursor-bin cursor"}, + "install.editor.zed": {"icon":"","label":"Zed","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-zed"}, + "install.editor.sublime": {"icon":"","label":"Sublime Text","action":"omarchy-install-and-launch 'Sublime Text' sublime-text-4 sublime_text"}, + "install.editor.helix": {"icon":"","label":"Helix","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-helix"}, + "install.editor.vim": {"icon":"","label":"Vim","action":"omarchy-install-app Vim vim"}, + "install.editor.emacs": {"icon":"","label":"Emacs","action":"omarchy-install-app Emacs emacs-wayland && systemctl --user enable --now emacs.service"}, + "install.terminal.alacritty": {"icon":"","label":"Alacritty","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-terminal alacritty'"}, + "install.terminal.foot": {"icon":"","label":"Foot","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-terminal foot'"}, + "install.terminal.ghostty": {"icon":"","label":"Ghostty","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-terminal ghostty'"}, + "install.terminal.kitty": {"icon":"","label":"Kitty","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-terminal kitty'"}, + "install.ai.dictation": {"icon":"","label":"Dictation","keywords":"voice","action":"omarchy-launch-floating-terminal-with-presentation omarchy-voxtype-install"}, + "install.ai.lm-studio": {"icon":"󱚤","label":"LM Studio","action":"omarchy-install-app 'LM Studio' lmstudio-bin"}, "install.ai.ollama": {"icon":"󱚤","label":"Ollama","action":"if omarchy-cmd-present nvidia-smi; then ollama_pkg=ollama-cuda; elif omarchy-cmd-present rocminfo; then ollama_pkg=ollama-rocm; else ollama_pkg=ollama; fi; install Ollama \"$ollama_pkg\""}, - "install.ai.crush": {"icon":"󱚤","label":"Crush","action":"install Crush crush-bin"}, - "install.gaming.steam": {"icon":"","label":"Steam","action":"present_terminal omarchy-install-gaming-steam"}, - "install.gaming.retroarch": {"icon":"󰯉","label":"RetroArch","action":"present_terminal omarchy-install-gaming-retroarch"}, - "install.gaming.minecraft": {"icon":"󰍳","label":"Minecraft","action":"install_and_launch Minecraft minecraft-launcher minecraft-launcher"}, - "install.gaming.geforce-now": {"icon":"󰢹","label":"NVIDIA GeForce NOW","action":"present_terminal omarchy-install-gaming-geforce-now"}, - "install.gaming.xbox-cloud": {"icon":"","label":"Xbox Cloud Gaming","action":"present_terminal omarchy-install-gaming-xbox-cloud"}, - "install.gaming.xbox-controller": {"icon":"󰂯","label":"Xbox Controller","action":"present_terminal omarchy-install-gaming-xbox-controllers"}, - "install.gaming.moonlight": {"icon":"󰍹","label":"Moonlight (GameStream)","action":"present_terminal omarchy-install-gaming-moonlight"}, - "install.gaming.lutris": {"icon":"","label":"Lutris (Battle.net)","action":"present_terminal omarchy-install-gaming-lutris"}, - "install.gaming.heroic": {"icon":"󱓟","label":"Heroic (Epic Games)","action":"present_terminal omarchy-install-gaming-heroic"}, + "install.ai.crush": {"icon":"󱚤","label":"Crush","action":"omarchy-install-app Crush crush-bin"}, + "install.gaming.steam": {"icon":"","label":"Steam","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-gaming-steam"}, + "install.gaming.retroarch": {"icon":"󰯉","label":"RetroArch","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-gaming-retroarch"}, + "install.gaming.minecraft": {"icon":"󰍳","label":"Minecraft","action":"omarchy-install-and-launch Minecraft minecraft-launcher minecraft-launcher"}, + "install.gaming.geforce-now": {"icon":"󰢹","label":"NVIDIA GeForce NOW","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-gaming-geforce-now"}, + "install.gaming.xbox-cloud": {"icon":"","label":"Xbox Cloud Gaming","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-gaming-xbox-cloud"}, + "install.gaming.xbox-controller": {"icon":"󰂯","label":"Xbox Controller","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-gaming-xbox-controllers"}, + "install.gaming.moonlight": {"icon":"󰍹","label":"Moonlight (GameStream)","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-gaming-moonlight"}, + "install.gaming.lutris": {"icon":"","label":"Lutris (Battle.net)","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-gaming-lutris"}, + "install.gaming.heroic": {"icon":"󱓟","label":"Heroic (Epic Games)","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-gaming-heroic"}, "install.gaming.retro-launcher": {"icon":"󰯉","label":"RetroArch Game Launcher","action":"omarchy-games-retro-install"}, - "install.development.rails": {"icon":"󰫏","label":"Ruby on Rails","action":"present_terminal 'omarchy-install-dev-env ruby'"}, - "install.development.docker-dbs": {"icon":"","label":"Docker DB","keywords":"databases","action":"present_terminal omarchy-install-docker-dbs"}, + "install.development.rails": {"icon":"󰫏","label":"Ruby on Rails","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env ruby'"}, + "install.development.docker-dbs": {"icon":"","label":"Docker DB","keywords":"databases","action":"omarchy-launch-floating-terminal-with-presentation omarchy-install-docker-dbs"}, "install.development.javascript": {"icon":"","label":"JavaScript","keywords":"node bun deno"}, - "install.development.go": {"icon":"","label":"Go","keywords":"golang","action":"present_terminal 'omarchy-install-dev-env go'"}, + "install.development.go": {"icon":"","label":"Go","keywords":"golang","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env go'"}, "install.development.php": {"icon":"","label":"PHP","keywords":"laravel symfony"}, - "install.development.python": {"icon":"","label":"Python","action":"present_terminal 'omarchy-install-dev-env python'"}, + "install.development.python": {"icon":"","label":"Python","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env python'"}, "install.development.elixir": {"icon":"","label":"Elixir","keywords":"phoenix"}, - "install.development.zig": {"icon":"","label":"Zig","action":"present_terminal 'omarchy-install-dev-env zig'"}, - "install.development.rust": {"icon":"","label":"Rust","action":"present_terminal 'omarchy-install-dev-env rust'"}, - "install.development.java": {"icon":"","label":"Java","action":"present_terminal 'omarchy-install-dev-env java'"}, - "install.development.dotnet": {"icon":"","label":".NET","action":"present_terminal 'omarchy-install-dev-env dotnet'"}, - "install.development.ocaml": {"icon":"","label":"OCaml","action":"present_terminal 'omarchy-install-dev-env ocaml'"}, - "install.development.clojure": {"icon":"","label":"Clojure","action":"present_terminal 'omarchy-install-dev-env clojure'"}, - "install.development.scala": {"icon":"","label":"Scala","action":"present_terminal 'omarchy-install-dev-env scala'"}, - "install.development.javascript.node": {"icon":"","label":"Node.js","action":"present_terminal 'omarchy-install-dev-env node'"}, - "install.development.javascript.bun": {"icon":"","label":"Bun","action":"present_terminal 'omarchy-install-dev-env bun'"}, - "install.development.javascript.deno": {"icon":"","label":"Deno","action":"present_terminal 'omarchy-install-dev-env deno'"}, - "install.development.php.php": {"icon":"","label":"PHP","action":"present_terminal 'omarchy-install-dev-env php'"}, - "install.development.php.laravel": {"icon":"","label":"Laravel","action":"present_terminal 'omarchy-install-dev-env laravel'"}, - "install.development.php.symfony": {"icon":"","label":"Symfony","action":"present_terminal 'omarchy-install-dev-env symfony'"}, - "install.development.elixir.elixir": {"icon":"","label":"Elixir","action":"present_terminal 'omarchy-install-dev-env elixir'"}, - "install.development.elixir.phoenix": {"icon":"","label":"Phoenix","action":"present_terminal 'omarchy-install-dev-env phoenix'"}, + "install.development.zig": {"icon":"","label":"Zig","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env zig'"}, + "install.development.rust": {"icon":"","label":"Rust","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env rust'"}, + "install.development.java": {"icon":"","label":"Java","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env java'"}, + "install.development.dotnet": {"icon":"","label":".NET","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env dotnet'"}, + "install.development.ocaml": {"icon":"","label":"OCaml","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env ocaml'"}, + "install.development.clojure": {"icon":"","label":"Clojure","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env clojure'"}, + "install.development.scala": {"icon":"","label":"Scala","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env scala'"}, + "install.development.javascript.node": {"icon":"","label":"Node.js","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env node'"}, + "install.development.javascript.bun": {"icon":"","label":"Bun","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env bun'"}, + "install.development.javascript.deno": {"icon":"","label":"Deno","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env deno'"}, + "install.development.php.php": {"icon":"","label":"PHP","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env php'"}, + "install.development.php.laravel": {"icon":"","label":"Laravel","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env laravel'"}, + "install.development.php.symfony": {"icon":"","label":"Symfony","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env symfony'"}, + "install.development.elixir.elixir": {"icon":"","label":"Elixir","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env elixir'"}, + "install.development.elixir.phoenix": {"icon":"","label":"Phoenix","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-install-dev-env phoenix'"}, // Remove - "remove.package": {"icon":"󰣇","label":"Package","keywords":"uninstall","action":"terminal omarchy-pkg-remove"}, - "remove.webapp": {"icon":"","label":"Web App","keywords":"uninstall","action":"present_terminal omarchy-webapp-remove"}, - "remove.tui": {"icon":"","label":"TUI","keywords":"uninstall terminal app","action":"present_terminal omarchy-tui-remove"}, + "remove.package": {"icon":"󰣇","label":"Package","keywords":"uninstall","action":"xdg-terminal-exec --app-id=org.omarchy.terminal omarchy-pkg-remove"}, + "remove.webapp": {"icon":"","label":"Web App","keywords":"uninstall","action":"omarchy-launch-floating-terminal-with-presentation omarchy-webapp-remove"}, + "remove.tui": {"icon":"","label":"TUI","keywords":"uninstall terminal app","action":"omarchy-launch-floating-terminal-with-presentation omarchy-tui-remove"}, "remove.development": {"icon":"󰵮","label":"Development","keywords":"uninstall languages"}, - "remove.theme": {"icon":"󰸌","label":"Theme","keywords":"uninstall","action":"present_terminal omarchy-theme-remove"}, + "remove.theme": {"icon":"󰸌","label":"Theme","keywords":"uninstall","action":"omarchy-launch-floating-terminal-with-presentation omarchy-theme-remove"}, "remove.browser": {"icon":"","label":"Browser","keywords":"uninstall"}, - "remove.dictation": {"icon":"","label":"Dictation","keywords":"uninstall voice","action":"present_terminal omarchy-voxtype-remove"}, + "remove.dictation": {"icon":"","label":"Dictation","keywords":"uninstall voice","action":"omarchy-launch-floating-terminal-with-presentation omarchy-voxtype-remove"}, "remove.gaming": {"icon":"","label":"Gaming","keywords":"uninstall steam retroarch minecraft"}, - "remove.windows": {"icon":"󰍲","label":"Windows","keywords":"uninstall vm","action":"present_terminal 'omarchy-windows-vm remove'"}, - "remove.preinstalls": {"icon":"󰏓","label":"Preinstalls","action":"present_terminal omarchy-remove-preinstalls"}, + "remove.windows": {"icon":"󰍲","label":"Windows","keywords":"uninstall vm","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-windows-vm remove'"}, + "remove.preinstalls": {"icon":"󰏓","label":"Preinstalls","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-preinstalls"}, "remove.security": {"icon":"","label":"Security","keywords":"fingerprint fido2"}, - "remove.security.fingerprint": {"icon":"󰈷","label":"Fingerprint","action":"present_terminal omarchy-remove-security-fingerprint"}, - "remove.security.fido2": {"icon":"","label":"Fido2","action":"present_terminal omarchy-remove-security-fido2"}, - "remove.browser.chrome": {"icon":"","label":"Chrome","action":"present_terminal 'omarchy-remove-browser chrome'"}, - "remove.browser.edge": {"icon":"","label":"Edge","action":"present_terminal 'omarchy-remove-browser edge'"}, - "remove.browser.brave": {"icon":"","label":"Brave","action":"present_terminal 'omarchy-remove-browser brave'"}, - "remove.browser.brave-origin": {"icon":"","label":"Brave Origin","action":"present_terminal 'omarchy-remove-browser brave-origin'"}, - "remove.browser.firefox": {"icon":"","label":"Firefox","action":"present_terminal 'omarchy-remove-browser firefox'"}, - "remove.browser.zen": {"icon":"","label":"Zen","action":"present_terminal 'omarchy-remove-browser zen'"}, - "remove.gaming.steam": {"icon":"","label":"Steam","action":"present_terminal omarchy-remove-gaming-steam"}, - "remove.gaming.retroarch": {"icon":"","label":"RetroArch","action":"present_terminal omarchy-remove-gaming-retroarch"}, - "remove.gaming.minecraft": {"icon":"󰍳","label":"Minecraft","action":"present_terminal omarchy-remove-gaming-minecraft"}, - "remove.gaming.geforce-now": {"icon":"󰢹","label":"NVIDIA GeForce NOW","action":"present_terminal omarchy-remove-gaming-geforce-now"}, - "remove.gaming.xbox-cloud": {"icon":"","label":"Xbox Cloud Gaming","action":"present_terminal omarchy-remove-gaming-xbox-cloud"}, - "remove.gaming.xbox-controller": {"icon":"󰖺","label":"Xbox Controller (󰂯)","action":"present_terminal omarchy-remove-gaming-xbox-controllers"}, - "remove.gaming.moonlight": {"icon":"󰍹","label":"Moonlight (GameStream)","action":"present_terminal omarchy-remove-gaming-moonlight"}, - "remove.gaming.lutris": {"icon":"","label":"Lutris (Battle.net)","action":"present_terminal omarchy-remove-gaming-lutris"}, - "remove.gaming.heroic": {"icon":"󱓟","label":"Heroic (Epic Games)","action":"present_terminal omarchy-remove-gaming-heroic"}, - "remove.development.rails": {"icon":"󰫏","label":"Ruby on Rails","action":"present_terminal 'omarchy-remove-dev-env ruby'"}, + "remove.security.fingerprint": {"icon":"󰈷","label":"Fingerprint","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-security-fingerprint"}, + "remove.security.fido2": {"icon":"","label":"Fido2","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-security-fido2"}, + "remove.browser.chrome": {"icon":"","label":"Chrome","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-browser chrome'"}, + "remove.browser.edge": {"icon":"","label":"Edge","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-browser edge'"}, + "remove.browser.brave": {"icon":"","label":"Brave","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-browser brave'"}, + "remove.browser.brave-origin": {"icon":"","label":"Brave Origin","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-browser brave-origin'"}, + "remove.browser.firefox": {"icon":"","label":"Firefox","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-browser firefox'"}, + "remove.browser.zen": {"icon":"","label":"Zen","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-browser zen'"}, + "remove.gaming.steam": {"icon":"","label":"Steam","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-steam"}, + "remove.gaming.retroarch": {"icon":"","label":"RetroArch","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-retroarch"}, + "remove.gaming.minecraft": {"icon":"󰍳","label":"Minecraft","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-minecraft"}, + "remove.gaming.geforce-now": {"icon":"󰢹","label":"NVIDIA GeForce NOW","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-geforce-now"}, + "remove.gaming.xbox-cloud": {"icon":"","label":"Xbox Cloud Gaming","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-xbox-cloud"}, + "remove.gaming.xbox-controller": {"icon":"󰖺","label":"Xbox Controller (󰂯)","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-xbox-controllers"}, + "remove.gaming.moonlight": {"icon":"󰍹","label":"Moonlight (GameStream)","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-moonlight"}, + "remove.gaming.lutris": {"icon":"","label":"Lutris (Battle.net)","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-lutris"}, + "remove.gaming.heroic": {"icon":"󱓟","label":"Heroic (Epic Games)","action":"omarchy-launch-floating-terminal-with-presentation omarchy-remove-gaming-heroic"}, + "remove.development.rails": {"icon":"󰫏","label":"Ruby on Rails","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env ruby'"}, "remove.development.javascript": {"icon":"","label":"JavaScript","keywords":"node bun deno"}, - "remove.development.go": {"icon":"","label":"Go","keywords":"golang","action":"present_terminal 'omarchy-remove-dev-env go'"}, + "remove.development.go": {"icon":"","label":"Go","keywords":"golang","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env go'"}, "remove.development.php": {"icon":"","label":"PHP","keywords":"laravel symfony"}, - "remove.development.python": {"icon":"","label":"Python","action":"present_terminal 'omarchy-remove-dev-env python'"}, + "remove.development.python": {"icon":"","label":"Python","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env python'"}, "remove.development.elixir": {"icon":"","label":"Elixir","keywords":"phoenix"}, - "remove.development.zig": {"icon":"","label":"Zig","action":"present_terminal 'omarchy-remove-dev-env zig'"}, - "remove.development.rust": {"icon":"","label":"Rust","action":"present_terminal 'omarchy-remove-dev-env rust'"}, - "remove.development.java": {"icon":"","label":"Java","action":"present_terminal 'omarchy-remove-dev-env java'"}, - "remove.development.dotnet": {"icon":"","label":".NET","action":"present_terminal 'omarchy-remove-dev-env dotnet'"}, - "remove.development.ocaml": {"icon":"","label":"OCaml","action":"present_terminal 'omarchy-remove-dev-env ocaml'"}, - "remove.development.clojure": {"icon":"","label":"Clojure","action":"present_terminal 'omarchy-remove-dev-env clojure'"}, - "remove.development.scala": {"icon":"","label":"Scala","action":"present_terminal 'omarchy-remove-dev-env scala'"}, - "remove.development.javascript.node": {"icon":"","label":"Node.js","action":"present_terminal 'omarchy-remove-dev-env node'"}, - "remove.development.javascript.bun": {"icon":"","label":"Bun","action":"present_terminal 'omarchy-remove-dev-env bun'"}, - "remove.development.javascript.deno": {"icon":"","label":"Deno","action":"present_terminal 'omarchy-remove-dev-env deno'"}, - "remove.development.php.php": {"icon":"","label":"PHP","action":"present_terminal 'omarchy-remove-dev-env php'"}, - "remove.development.php.laravel": {"icon":"","label":"Laravel","action":"present_terminal 'omarchy-remove-dev-env laravel'"}, - "remove.development.php.symfony": {"icon":"","label":"Symfony","action":"present_terminal 'omarchy-remove-dev-env symfony'"}, - "remove.development.elixir.elixir": {"icon":"","label":"Elixir","action":"present_terminal 'omarchy-remove-dev-env elixir'"}, - "remove.development.elixir.phoenix": {"icon":"","label":"Phoenix","action":"present_terminal 'omarchy-remove-dev-env phoenix'"}, + "remove.development.zig": {"icon":"","label":"Zig","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env zig'"}, + "remove.development.rust": {"icon":"","label":"Rust","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env rust'"}, + "remove.development.java": {"icon":"","label":"Java","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env java'"}, + "remove.development.dotnet": {"icon":"","label":".NET","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env dotnet'"}, + "remove.development.ocaml": {"icon":"","label":"OCaml","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env ocaml'"}, + "remove.development.clojure": {"icon":"","label":"Clojure","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env clojure'"}, + "remove.development.scala": {"icon":"","label":"Scala","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env scala'"}, + "remove.development.javascript.node": {"icon":"","label":"Node.js","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env node'"}, + "remove.development.javascript.bun": {"icon":"","label":"Bun","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env bun'"}, + "remove.development.javascript.deno": {"icon":"","label":"Deno","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env deno'"}, + "remove.development.php.php": {"icon":"","label":"PHP","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env php'"}, + "remove.development.php.laravel": {"icon":"","label":"Laravel","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env laravel'"}, + "remove.development.php.symfony": {"icon":"","label":"Symfony","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env symfony'"}, + "remove.development.elixir.elixir": {"icon":"","label":"Elixir","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env elixir'"}, + "remove.development.elixir.phoenix": {"icon":"","label":"Phoenix","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-remove-dev-env phoenix'"}, // Update - "update.omarchy": {"icon":"","label":"Omarchy","keywords":"system","action":"present_terminal omarchy-update"}, + "update.omarchy": {"icon":"","label":"Omarchy","keywords":"system","action":"omarchy-launch-floating-terminal-with-presentation omarchy-update"}, "update.channel": {"icon":"󰔫","label":"Channel","keywords":"stable rc edge dev"}, "update.config": {"icon":"","label":"Config","keywords":"refresh default"}, - "update.themes": {"icon":"󰸌","label":"Extra Themes","action":"present_terminal omarchy-theme-update"}, + "update.themes": {"icon":"󰸌","label":"Extra Themes","action":"omarchy-launch-floating-terminal-with-presentation omarchy-theme-update"}, "update.process": {"icon":"","label":"Process","keywords":"restart services"}, "update.hardware": {"icon":"󰇅","label":"Hardware","keywords":"restart audio wifi bluetooth trackpad"}, - "update.firmware": {"icon":"","label":"Firmware","keywords":"fwupd","action":"present_terminal omarchy-update-firmware"}, + "update.firmware": {"icon":"","label":"Firmware","keywords":"fwupd","action":"omarchy-launch-floating-terminal-with-presentation omarchy-update-firmware"}, "update.password": {"icon":"","label":"Password","keywords":"drive user"}, - "update.timezone": {"icon":"","label":"Timezone","keywords":"time zone","action":"present_terminal omarchy-tz-select"}, - "update.time": {"icon":"","label":"Time","keywords":"clock ntp","action":"present_terminal omarchy-update-time"}, - "update.channel.stable": {"icon":"🟢","label":"Stable","action":"present_terminal 'omarchy-channel-set stable'"}, - "update.channel.rc": {"icon":"🟡","label":"RC","keywords":"release candidate","action":"present_terminal 'omarchy-channel-set rc'"}, - "update.channel.edge": {"icon":"🟠","label":"Edge","action":"present_terminal 'omarchy-channel-set edge'"}, - "update.channel.dev": {"icon":"🔴","label":"Dev","keywords":"development","action":"present_terminal 'omarchy-channel-set dev'"}, + "update.timezone": {"icon":"","label":"Timezone","keywords":"time zone","action":"omarchy-launch-floating-terminal-with-presentation omarchy-tz-select"}, + "update.time": {"icon":"","label":"Time","keywords":"clock ntp","action":"omarchy-launch-floating-terminal-with-presentation omarchy-update-time"}, + "update.channel.stable": {"icon":"🟢","label":"Stable","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-channel-set stable'"}, + "update.channel.rc": {"icon":"🟡","label":"RC","keywords":"release candidate","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-channel-set rc'"}, + "update.channel.edge": {"icon":"🟠","label":"Edge","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-channel-set edge'"}, + "update.channel.dev": {"icon":"🔴","label":"Dev","keywords":"development","action":"omarchy-launch-floating-terminal-with-presentation 'omarchy-channel-set dev'"}, "update.process.hypridle": {"icon":"","label":"Hypridle","keywords":"restart","action":"omarchy-restart-hypridle"}, "update.process.hyprsunset": {"icon":"","label":"Hyprsunset","keywords":"restart","action":"omarchy-restart-hyprsunset"}, "update.process.swayosd": {"icon":"","label":"Swayosd","keywords":"restart","action":"omarchy-restart-swayosd"}, "update.process.walker": {"icon":"󰌧","label":"Walker","keywords":"restart launcher","action":"omarchy-restart-walker"}, "update.process.shell": {"icon":"󰍜","label":"Shell","keywords":"restart bar quickshell omarchy-shell","action":"omarchy-restart-shell"}, - "update.config.hyprland": {"icon":"","label":"Hyprland","keywords":"refresh","action":"present_terminal omarchy-refresh-hyprland"}, - "update.config.hypridle": {"icon":"","label":"Hypridle","keywords":"refresh","action":"present_terminal omarchy-refresh-hypridle"}, - "update.config.hyprlock": {"icon":"","label":"Hyprlock","keywords":"refresh","action":"present_terminal omarchy-refresh-hyprlock"}, - "update.config.hyprsunset": {"icon":"","label":"Hyprsunset","keywords":"refresh","action":"present_terminal omarchy-refresh-hyprsunset"}, - "update.config.plymouth": {"icon":"󱣴","label":"Plymouth","keywords":"refresh","action":"present_terminal omarchy-refresh-plymouth"}, - "update.config.swayosd": {"icon":"","label":"Swayosd","keywords":"refresh","action":"present_terminal omarchy-refresh-swayosd"}, - "update.config.tmux": {"icon":"","label":"Tmux","keywords":"refresh","action":"present_terminal omarchy-refresh-tmux"}, - "update.config.walker": {"icon":"󰌧","label":"Walker","keywords":"refresh","action":"present_terminal omarchy-refresh-walker"}, - "update.config.shell": {"icon":"󰍜","label":"Shell","keywords":"refresh bar quickshell","action":"present_terminal omarchy-refresh-shell"}, - "update.hardware.audio": {"icon":"","label":"Audio","keywords":"restart pipewire","action":"present_terminal omarchy-restart-pipewire"}, - "update.hardware.wifi": {"icon":"󱚾","label":"Wi-Fi","keywords":"restart wireless","action":"present_terminal omarchy-restart-wifi"}, - "update.hardware.bluetooth": {"icon":"󰂯","label":"Bluetooth","keywords":"restart","action":"present_terminal omarchy-restart-bluetooth"}, - "update.hardware.trackpad": {"icon":"󰟸","label":"Trackpad","keywords":"restart touchpad","action":"present_terminal omarchy-restart-trackpad"}, - "update.password.drive": {"icon":"","label":"Drive Encryption","action":"present_terminal omarchy-drive-password"}, - "update.password.user": {"icon":"","label":"User","keywords":"passwd","action":"present_terminal passwd"}, + "update.config.hyprland": {"icon":"","label":"Hyprland","keywords":"refresh","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-hyprland"}, + "update.config.hypridle": {"icon":"","label":"Hypridle","keywords":"refresh","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-hypridle"}, + "update.config.hyprlock": {"icon":"","label":"Hyprlock","keywords":"refresh","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-hyprlock"}, + "update.config.hyprsunset": {"icon":"","label":"Hyprsunset","keywords":"refresh","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-hyprsunset"}, + "update.config.plymouth": {"icon":"󱣴","label":"Plymouth","keywords":"refresh","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-plymouth"}, + "update.config.swayosd": {"icon":"","label":"Swayosd","keywords":"refresh","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-swayosd"}, + "update.config.tmux": {"icon":"","label":"Tmux","keywords":"refresh","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-tmux"}, + "update.config.walker": {"icon":"󰌧","label":"Walker","keywords":"refresh","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-walker"}, + "update.config.shell": {"icon":"󰍜","label":"Shell","keywords":"refresh bar quickshell","action":"omarchy-launch-floating-terminal-with-presentation omarchy-refresh-shell"}, + "update.hardware.audio": {"icon":"","label":"Audio","keywords":"restart pipewire","action":"omarchy-launch-floating-terminal-with-presentation omarchy-restart-pipewire"}, + "update.hardware.wifi": {"icon":"󱚾","label":"Wi-Fi","keywords":"restart wireless","action":"omarchy-launch-floating-terminal-with-presentation omarchy-restart-wifi"}, + "update.hardware.bluetooth": {"icon":"󰂯","label":"Bluetooth","keywords":"restart","action":"omarchy-launch-floating-terminal-with-presentation omarchy-restart-bluetooth"}, + "update.hardware.trackpad": {"icon":"󰟸","label":"Trackpad","keywords":"restart touchpad","action":"omarchy-launch-floating-terminal-with-presentation omarchy-restart-trackpad"}, + "update.password.drive": {"icon":"","label":"Drive Encryption","action":"omarchy-launch-floating-terminal-with-presentation omarchy-drive-password"}, + "update.password.user": {"icon":"","label":"User","keywords":"passwd","action":"omarchy-launch-floating-terminal-with-presentation passwd"}, } diff --git a/default/quickshell/omarchy-shell/plugins/bar/Bar.qml b/default/quickshell/omarchy-shell/plugins/bar/Bar.qml index 6740a5b1..a919c410 100644 --- a/default/quickshell/omarchy-shell/plugins/bar/Bar.qml +++ b/default/quickshell/omarchy-shell/plugins/bar/Bar.qml @@ -1388,7 +1388,7 @@ Item { tooltipText: "Omarchy Menu\n\nSuper + Alt + Space" onPressed: function(button) { if (button === Qt.RightButton) root.run("xdg-terminal-exec") - else root.run("env -u OMARCHY_PATH " + root.shellQuote(root.home + "/.local/share/omarchy/bin/omarchy-menu")) + else root.run("omarchy-shell-ipc menu summon root") } } @@ -1944,7 +1944,7 @@ Item { tooltipText: root.batteryTooltip() onPressed: function(button) { if (button === Qt.RightButton) root.run("omarchy-notification-send \"$(omarchy-battery-status)\"") - else root.run("omarchy-menu power") + else root.run("omarchy-shell-ipc menu summon power") } } }