diff --git a/bin/omarchy-font-list b/bin/omarchy-font-list index 6bf504b..32150d9 100755 --- a/bin/omarchy-font-list +++ b/bin/omarchy-font-list @@ -1,3 +1,3 @@ #!/bin/bash -fc-list :spacing=100 -f "%{family[0]}\n" | grep -v -i -E 'emoji|signwriting' | sort -u +fc-list :spacing=100 -f "%{family[0]}\n" | grep -v -i -E 'emoji|signwriting|omarchy' | sort -u diff --git a/bin/omarchy-launch-browser b/bin/omarchy-launch-browser index 5b9f86c..86904af 100755 --- a/bin/omarchy-launch-browser +++ b/bin/omarchy-launch-browser @@ -1,3 +1,3 @@ #!/bin/bash -exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,/usr}/share/applications/$(xdg-settings get default-web-browser) 2>/dev/null | head -1) ${args[@]} $@ +exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$(xdg-settings get default-web-browser) 2>/dev/null | head -1) ${args[@]} $@ diff --git a/bin/omarchy-launch-webapp b/bin/omarchy-launch-webapp index 24f48e9..0276d96 100755 --- a/bin/omarchy-launch-webapp +++ b/bin/omarchy-launch-webapp @@ -7,4 +7,4 @@ google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi*) ;; *) browser="chromium.desktop" ;; esac -exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}" +exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}" diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 8e702b8..b4e0a82 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -315,7 +315,7 @@ show_remove_menu() { } show_update_menu() { - case $(menu "Update" "󰣇 Omarchy\n Config\n󰸌 Themes\n Process\n Timezone") in + case $(menu "Update" " Omarchy\n Config\n󰸌 Themes\n Process\n Timezone") in *Omarchy*) present_terminal omarchy-update ;; *Config*) show_update_config_menu ;; *Themes*) present_terminal omarchy-theme-update ;; diff --git a/bin/omarchy-tui-remove b/bin/omarchy-tui-remove index 47ef7c2..b2bb072 100755 --- a/bin/omarchy-tui-remove +++ b/bin/omarchy-tui-remove @@ -3,8 +3,8 @@ ICON_DIR="$HOME/.local/share/applications/icons" DESKTOP_DIR="$HOME/.local/share/applications/" -if [ "$#" -ne 1 ]; then - # Find all web apps +if [ "$#" -eq 0 ]; then + # Find all TUIs while IFS= read -r -d '' file; do if grep -q '^Exec=.*alacritty.*-e' "$file"; then TUIS+=("$(basename "${file%.desktop}")") @@ -14,23 +14,28 @@ if [ "$#" -ne 1 ]; then if ((${#TUIS[@]})); then IFS=$'\n' SORTED_TUIS=($(sort <<<"${TUIS[*]}")) unset IFS - APP_NAME=$(gum choose --header "Select TUI to remove..." "${SORTED_TUIS[@]}") + APP_NAMES_STRING=$(gum choose --no-limit --header "Select TUI to remove..." --selected-prefix="✗ " "${SORTED_TUIS[@]}") + # Convert newline-separated string to array + APP_NAMES=() + while IFS= read -r line; do + [[ -n "$line" ]] && APP_NAMES+=("$line") + done <<< "$APP_NAMES_STRING" else echo "No TUIs to remove." exit 1 fi else - APP_NAME="$1" + # Use array to preserve spaces in app names + APP_NAMES=("$@") fi -if [[ -z "$APP_NAME" ]]; then - echo "You must provide TUI name." +if [[ ${#APP_NAMES[@]} -eq 0 ]]; then + echo "You must provide TUI names." exit 1 fi -rm "$DESKTOP_DIR/$APP_NAME.desktop" -rm "$ICON_DIR/$APP_NAME.png" - -if [ "$#" -ne 1 ]; then - echo -e "Removed $APP_NAME\n" -fi +for APP_NAME in "${APP_NAMES[@]}"; do + rm -f "$DESKTOP_DIR/$APP_NAME.desktop" + rm -f "$ICON_DIR/$APP_NAME.png" + echo "Removed $APP_NAME" +done diff --git a/bin/omarchy-webapp-remove b/bin/omarchy-webapp-remove index ceb9bca..833e898 100755 --- a/bin/omarchy-webapp-remove +++ b/bin/omarchy-webapp-remove @@ -14,21 +14,27 @@ if [ "$#" -eq 0 ]; then if ((${#WEB_APPS[@]})); then IFS=$'\n' SORTED_WEB_APPS=($(sort <<<"${WEB_APPS[*]}")) unset IFS - APP_NAMES=$(gum choose --no-limit --header "Select web app to remove..." "${SORTED_WEB_APPS[@]}") + APP_NAMES_STRING=$(gum choose --no-limit --header "Select web app to remove..." --selected-prefix="✗ " "${SORTED_WEB_APPS[@]}") + # Convert newline-separated string to array + APP_NAMES=() + while IFS= read -r line; do + [[ -n "$line" ]] && APP_NAMES+=("$line") + done <<< "$APP_NAMES_STRING" else echo "No web apps to remove." exit 1 fi else - APP_NAMES="$*" + # Use array to preserve spaces in app names + APP_NAMES=("$@") fi -if [[ -z "$APP_NAMES" ]]; then +if [[ ${#APP_NAMES[@]} -eq 0 ]]; then echo "You must provide web app names." exit 1 fi -for APP_NAME in $APP_NAMES; do +for APP_NAME in "${APP_NAMES[@]}"; do rm -f "$DESKTOP_DIR/$APP_NAME.desktop" rm -f "$ICON_DIR/$APP_NAME.png" echo "Removed $APP_NAME" diff --git a/default/hypr/apps.conf b/default/hypr/apps.conf index 9833fb6..07c7ec5 100644 --- a/default/hypr/apps.conf +++ b/default/hypr/apps.conf @@ -1,6 +1,6 @@ # App-specific tweaks source = ~/.local/share/omarchy/default/hypr/apps/pip.conf -source = ~/.local/share/omarchy/default/hypr/apps/chromium.conf +source = ~/.local/share/omarchy/default/hypr/apps/browser.conf source = ~/.local/share/omarchy/default/hypr/apps/hyprshot.conf source = ~/.local/share/omarchy/default/hypr/apps/retroarch.conf source = ~/.local/share/omarchy/default/hypr/apps/steam.conf diff --git a/default/hypr/apps/browser.conf b/default/hypr/apps/browser.conf new file mode 100644 index 0000000..c24f284 --- /dev/null +++ b/default/hypr/apps/browser.conf @@ -0,0 +1,13 @@ +# Browser types +windowrule = tag +chromium-based-browser, class:([cC]hrom(e|ium)|[bB]rave-browser|Microsoft-edge|Vivaldi-stable) +windowrule = tag +firefox-based-browser, class:(Firefox|zen|librewolf) + +# Force chromium-based browsers into a tile to deal with --app bug +windowrule = tile, tag:chromium-based-browser + +# Only a subtle opacity change, but not for video sites +windowrule = opacity 1 0.97, tag:chromium-based-browser +windowrule = opacity 1 0.97, tag:firefox-based-browser + +# Some video sites should never have opacity applied to them +windowrule = opacity 1.0 1.0, initialTitle:(youtube\.com_/|app\.zoom\.us_/wc/home) diff --git a/default/hypr/apps/chromium.conf b/default/hypr/apps/chromium.conf deleted file mode 100644 index 67d9421..0000000 --- a/default/hypr/apps/chromium.conf +++ /dev/null @@ -1,6 +0,0 @@ -# Force chromium into a tile to deal with --app bug -windowrule = tile, class:^(Chromium)$ - -# Only slight opacity when unfocused -windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable|Brave-browser|brave-browser)$ -windowrule = opacity 1 1, initialTitle:(youtube.com_/|app.zoom.us_/wc/home) diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index caad61a..0a53b01 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -39,8 +39,8 @@ bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9 bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10 # Tab between workspaces -bind = SUPER, TAB, workspace, e+1 -bind = SUPER SHIFT, TAB, workspace, e-1 +bindd = SUPER, TAB, Next workspace, workspace, e+1 +bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1 # Swap active window with the one next to it with SUPER + SHIFT + arrow keys bindd = SUPER SHIFT, left, Swap window to the left, swapwindow, l diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 65ccd0d..1dee6fe 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -1,6 +1,6 @@ # Menus bindd = SUPER, SPACE, Launch apps, exec, walker -p "Start…" -bindd = SUPER CTRL, E, Show clipboard, exec, walker -m Emojis +bindd = SUPER CTRL, E, Emoji picker, exec, walker -m Emojis bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system diff --git a/migrations/1756203383.sh b/migrations/1756203383.sh new file mode 100644 index 0000000..a21e2aa --- /dev/null +++ b/migrations/1756203383.sh @@ -0,0 +1,5 @@ +echo "Remove old About, Activity, Audio Settings apps that are in Omarchy Menu or hotkey" + +rm -f ~/.local/share/applications/About.desktop +rm -f ~/.local/share/applications/Activity.desktop +rm -f ~/.local/share/applications/wiremix.desktop