diff --git a/applications/nvim.desktop b/applications/nvim.desktop index ce0a131..ed11859 100644 --- a/applications/nvim.desktop +++ b/applications/nvim.desktop @@ -2,7 +2,7 @@ Name=Neovim GenericName=Text Editor Comment=Edit text files -Exec=alacritty --class=nvim --title=nvim -e nvim -- %F +Exec=$TERMINAL --class=nvim --title=nvim -e nvim -- %F Terminal=false Type=Application Keywords=Text;editor; diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index e336c8b..42b9a67 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -7,7 +7,7 @@ screensaver_in_focus() { exit_screensaver() { hyprctl keyword cursor:invisible false pkill -x tte 2>/dev/null - pkill -f "alacritty --class Screensaver" 2>/dev/null + pkill -f "$TERMINAL --class Screensaver" 2>/dev/null exit 0 } diff --git a/bin/omarchy-font-current b/bin/omarchy-font-current index c3dc4c9..feea8d6 100755 --- a/bin/omarchy-font-current +++ b/bin/omarchy-font-current @@ -1,3 +1,3 @@ #!/bin/bash -grep -oP 'family\s*=\s*"\K[^"]+' ~/.config/alacritty/alacritty.toml | head -n1 +grep -oP 'font-family:\s*["'\'']?\K[^;"'\'']+' ~/.config/waybar/style.css | head -n1 diff --git a/bin/omarchy-font-set b/bin/omarchy-font-set index a45467d..eabdfc2 100755 --- a/bin/omarchy-font-set +++ b/bin/omarchy-font-set @@ -4,7 +4,15 @@ font_name="$1" if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then if fc-list | grep -iq "$font_name"; then - sed -i "s/family = \".*\"/family = \"$font_name\"/g" ~/.config/alacritty/alacritty.toml + if [[ -f ~/.config/alacritty/alacritty.toml ]]; then + sed -i "s/family = \".*\"/family = \"$font_name\"/g" ~/.config/alacritty/alacritty.toml + fi + + if [[ -f ~/.config/kitty/kitty.conf ]]; then + sed -i "s/^font_family .*/font_family $font_name/g" ~/.config/kitty/kitty.conf + pkill -USR1 kitty + fi + sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css xmlstarlet ed -L \ diff --git a/bin/omarchy-launch-about b/bin/omarchy-launch-about new file mode 100755 index 0000000..f02f9e2 --- /dev/null +++ b/bin/omarchy-launch-about @@ -0,0 +1,3 @@ +#!/bin/bash + +exec setsid uwsm app -- "$TERMINAL" --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s' diff --git a/bin/omarchy-launch-floating-terminal-with-presentation b/bin/omarchy-launch-floating-terminal-with-presentation index ecba263..81ca1c5 100755 --- a/bin/omarchy-launch-floating-terminal-with-presentation +++ b/bin/omarchy-launch-floating-terminal-with-presentation @@ -1,4 +1,4 @@ #!/bin/bash cmd="$*" -setsid alacritty --class Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" +exec setsid uwsm app -- "$TERMINAL" --class=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" diff --git a/bin/omarchy-launch-screensaver b/bin/omarchy-launch-screensaver index eebef0c..a5a1e72 100755 --- a/bin/omarchy-launch-screensaver +++ b/bin/omarchy-launch-screensaver @@ -6,7 +6,7 @@ if ! command -v tte &>/dev/null; then fi # Exit early if screensave is already running -pgrep -f "alacritty --class Screensaver" && exit 0 +pgrep -f "$TERMINAL --class Screensaver" && exit 0 # Allow screensaver to be turned off but also force started if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then @@ -17,6 +17,8 @@ focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name') for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do hyprctl dispatch focusmonitor $m + + # FIXME: Find a way to make this generic where we it can work for kitty + ghostty hyprctl dispatch exec -- \ alacritty --class Screensaver \ --config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \ diff --git a/bin/omarchy-launch-wifi b/bin/omarchy-launch-wifi new file mode 100755 index 0000000..fe04f84 --- /dev/null +++ b/bin/omarchy-launch-wifi @@ -0,0 +1,3 @@ +#!/bin/bash + +exec setsid uwsm app -- "$TERMINAL" --class=Impala -e impala "$@" diff --git a/bin/omarchy-lock-screen b/bin/omarchy-lock-screen index d3f6276..cad6f81 100755 --- a/bin/omarchy-lock-screen +++ b/bin/omarchy-lock-screen @@ -9,4 +9,4 @@ if pgrep -x "1password" >/dev/null; then fi # Avoid running screensaver when locked -pkill -f "alacritty --class Screensaver" +pkill -f "$TERMINAL --class Screensaver" diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 132e09d..5d9a45e 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -37,7 +37,7 @@ menu() { } terminal() { - alacritty --class Omarchy -e "$@" + $TERMINAL --class Omarchy -e "$@" } present_terminal() { @@ -46,7 +46,7 @@ present_terminal() { edit_in_nvim() { notify-send "Editing config file" "$1" - alacritty -e nvim "$1" + $TERMINAL -e nvim "$1" } install() { @@ -174,10 +174,10 @@ show_setup_menu() { options="$options\n󰱔 DNS\n Config\n󰈷 Fingerprint\n Fido2" case $(menu "Setup" "$options") in - *Audio*) alacritty --class=Wiremix -e wiremix ;; + *Audio*) $TERMINAL --class=Wiremix -e wiremix ;; *Wifi*) rfkill unblock wifi - alacritty --class=Impala -e impala + omarchy-launch-wifi ;; *Bluetooth*) rfkill unblock bluetooth @@ -445,7 +445,7 @@ go_to_menu() { *remove*) show_remove_menu ;; *update*) show_update_menu ;; *learn*) show_learn_menu ;; - *about*) alacritty --class Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s' ;; + *about*) omarchy-launch-about ;; *system*) show_system_menu ;; esac } diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 79dc644..7305971 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -24,7 +24,6 @@ ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR" omarchy-theme-bg-next # Restart components to apply new theme -touch ~/.config/alacritty/alacritty.toml omarchy-restart-waybar omarchy-restart-swayosd hyprctl reload @@ -32,6 +31,7 @@ pkill -SIGUSR2 btop makoctl reload # Change gnome, browser, vscode themes +omarchy-theme-set-terminal omarchy-theme-set-gnome omarchy-theme-set-eza omarchy-theme-set-browser diff --git a/bin/omarchy-theme-set-terminal b/bin/omarchy-theme-set-terminal new file mode 100755 index 0000000..963c06a --- /dev/null +++ b/bin/omarchy-theme-set-terminal @@ -0,0 +1,6 @@ +#!/bin/bash + +case "$TERMINAL" in +"alacritty") touch ~/.config/alacritty/alacritty.toml ;; +"kitty") pkill -USR1 kitty ;; +esac diff --git a/bin/omarchy-tui-install b/bin/omarchy-tui-install index bf08d3a..121ce94 100755 --- a/bin/omarchy-tui-install +++ b/bin/omarchy-tui-install @@ -43,7 +43,7 @@ cat >"$DESKTOP_FILE" < /dev/null; then - eval "$(mise activate bash)" -fi +# Activate mise if present on the system +omarchy-cmd-present mise && eval "$(mise activate bash)" diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index 21439ad..adb981a 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -55,7 +55,7 @@ "cpu": { "interval": 5, "format": "󰍛", - "on-click": "alacritty -e btop" + "on-click": "$TERMINAL -e btop" }, "clock": { "format": "{:L%A %H:%M}", @@ -74,7 +74,7 @@ "tooltip-format-disconnected": "Disconnected", "interval": 3, "spacing": 1, - "on-click": "alacritty --class=Impala -e impala" + "on-click": "omarchy-launch-wifi" }, "battery": { "format": "{capacity}% {icon}", @@ -104,7 +104,7 @@ }, "pulseaudio": { "format": "{icon}", - "on-click": "alacritty --class=Wiremix -e wiremix", + "on-click": "$TERMINAL --class=Wiremix -e wiremix", "on-click-right": "pamixer -t", "tooltip-format": "Playing at {volume}%", "scroll-step": 5, diff --git a/default/hypr/apps.conf b/default/hypr/apps.conf index e85f817..6b4ebbb 100644 --- a/default/hypr/apps.conf +++ b/default/hypr/apps.conf @@ -4,10 +4,11 @@ source = ~/.local/share/omarchy/default/hypr/apps/bitwarden.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/jetbrains.conf +source = ~/.local/share/omarchy/default/hypr/apps/localsend.conf source = ~/.local/share/omarchy/default/hypr/apps/pip.conf source = ~/.local/share/omarchy/default/hypr/apps/qemu.conf source = ~/.local/share/omarchy/default/hypr/apps/retroarch.conf source = ~/.local/share/omarchy/default/hypr/apps/steam.conf source = ~/.local/share/omarchy/default/hypr/apps/system.conf +source = ~/.local/share/omarchy/default/hypr/apps/terminals.conf source = ~/.local/share/omarchy/default/hypr/apps/walker.conf -source = ~/.local/share/omarchy/default/hypr/apps/localsend.conf diff --git a/default/hypr/apps/terminals.conf b/default/hypr/apps/terminals.conf new file mode 100644 index 0000000..fdb1768 --- /dev/null +++ b/default/hypr/apps/terminals.conf @@ -0,0 +1,2 @@ +# Define terminal tag to style them uniformly +windowrule = tag +terminal, class:(Alacritty|kitty|ghostty) diff --git a/default/mako/core.ini b/default/mako/core.ini index 05a0243..05f6053 100644 --- a/default/mako/core.ini +++ b/default/mako/core.ini @@ -16,7 +16,7 @@ invisible=false default-timeout=0 [summary~="Setup Wi-Fi"] -on-button-left=exec sh -c 'omarchy-notification-dismiss "Setup Wi-Fi"; alacritty --class=Impala -e impala' +on-button-left=exec sh -c 'omarchy-notification-dismiss "Setup Wi-Fi"; omarchy-launch-wifi' [summary~="Update System"] on-button-left=exec sh -c 'omarchy-notification-dismiss "Update System"; omarchy-launch-floating-terminal-with-presentation omarchy-update' diff --git a/migrations/1756494998.sh b/migrations/1756494998.sh index e25f38d..1ffe1e8 100644 --- a/migrations/1756494998.sh +++ b/migrations/1756494998.sh @@ -1,3 +1,5 @@ echo "Remove opacity from alacritty.toml so Hyprland can control fully" -sed -i '/opacity = 0.98/d' ~/.config/alacritty/alacritty.toml +if [[ -f ~/.config/alacritty/alacritty.toml ]]; then + sed -i '/opacity = 0.98/d' ~/.config/alacritty/alacritty.toml +fi diff --git a/migrations/1758019332.sh b/migrations/1758019332.sh new file mode 100644 index 0000000..1dac8fd --- /dev/null +++ b/migrations/1758019332.sh @@ -0,0 +1,10 @@ +echo "Ensure $TERMINAL is set in uwsm env so entire system can rely on it" + +if ! grep -q "export TERMINAL" ~/.config/uwsm/env; then + omarchy-refresh-config uwsm/env + omarchy-state set relaunch-required +fi + +if grep -q "scrolltouchpad 1.5, class:Alacritty" ~/.config/hypr/input.conf; then + sed -i 's/windowrule = scrolltouchpad 1\.5, class:Alacritty/windowrule = scrolltouchpad 1.5, tag:terminal/' ~/.config/hypr/input.conf +fi diff --git a/themes/kanagawa/hyprland.conf b/themes/kanagawa/hyprland.conf index a3dc206..5153e8a 100644 --- a/themes/kanagawa/hyprland.conf +++ b/themes/kanagawa/hyprland.conf @@ -3,4 +3,4 @@ general { } # Kanagawa backdrop is too strong for detault opacity -windowrule = opacity 0.98 0.95, class:Alacritty +windowrule = opacity 0.98 0.95, tag:terminal