mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
21
applications/Alacritty.desktop
Normal file
21
applications/Alacritty.desktop
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
TryExec=alacritty
|
||||||
|
Exec=alacritty
|
||||||
|
Icon=Alacritty
|
||||||
|
Terminal=false
|
||||||
|
Categories=System;TerminalEmulator;
|
||||||
|
Name=Alacritty
|
||||||
|
GenericName=Terminal
|
||||||
|
Comment=A fast, cross-platform, OpenGL terminal emulator
|
||||||
|
StartupNotify=true
|
||||||
|
StartupWMClass=Alacritty
|
||||||
|
Actions=New;
|
||||||
|
X-TerminalArgExec=-e
|
||||||
|
X-TerminalArgAppId=--class=
|
||||||
|
X-TerminalArgTitle=--title=
|
||||||
|
X-TerminalArgDir=--working-directory=
|
||||||
|
|
||||||
|
[Desktop Action New]
|
||||||
|
Name=New Terminal
|
||||||
|
Exec=alacritty
|
||||||
@@ -11,11 +11,13 @@ send_notification() {
|
|||||||
notify-send -u critical " Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
|
notify-send -u critical " Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ $BATTERY_STATE == "discharging" && $BATTERY_LEVEL -le $BATTERY_THRESHOLD ]]; then
|
if [[ -n "$BATTERY_LEVEL" && "$BATTERY_LEVEL" =~ ^[0-9]+$ ]]; then
|
||||||
if [[ ! -f $NOTIFICATION_FLAG ]]; then
|
if [[ $BATTERY_STATE == "discharging" && $BATTERY_LEVEL -le $BATTERY_THRESHOLD ]]; then
|
||||||
send_notification $BATTERY_LEVEL
|
if [[ ! -f $NOTIFICATION_FLAG ]]; then
|
||||||
touch $NOTIFICATION_FLAG
|
send_notification $BATTERY_LEVEL
|
||||||
|
touch $NOTIFICATION_FLAG
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
rm -f $NOTIFICATION_FLAG
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
rm -f $NOTIFICATION_FLAG
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -14,6 +14,6 @@ if [[ -f "$FIRST_RUN_MODE" ]]; then
|
|||||||
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
||||||
sudo rm -f /etc/sudoers.d/first-run
|
sudo rm -f /etc/sudoers.d/first-run
|
||||||
|
|
||||||
bash "$OMARCHY_PATH/install/first-run/wifi.sh"
|
|
||||||
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
|
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
|
||||||
|
bash "$OMARCHY_PATH/install/first-run/wifi.sh"
|
||||||
fi
|
fi
|
||||||
|
|||||||
22
bin/omarchy-hyprland-window-pop
Executable file
22
bin/omarchy-hyprland-window-pop
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Toggle to pop-out a tile to stay fixed on a display basis.
|
||||||
|
|
||||||
|
active=$(hyprctl activewindow -j)
|
||||||
|
pinned=$(echo "$active" | jq .pinned)
|
||||||
|
addr=$(echo "$active" | jq -r ".address")
|
||||||
|
[ -z "$addr" ] && { echo "No active window"; exit 0; }
|
||||||
|
|
||||||
|
if [ "$pinned" = "true" ]; then
|
||||||
|
hyprctl -q --batch \
|
||||||
|
"dispatch pin address:$addr;" \
|
||||||
|
"dispatch togglefloating address:$addr;" \
|
||||||
|
"dispatch tagwindow -pop address:$addr;"
|
||||||
|
else
|
||||||
|
hyprctl -q --batch \
|
||||||
|
"dispatch togglefloating address:$addr;" \
|
||||||
|
"dispatch centerwindow address:$addr;" \
|
||||||
|
"dispatch pin address:$addr;" \
|
||||||
|
"dispatch alterzorder top address:$addr;" \
|
||||||
|
"dispatch tagwindow +pop address:$addr;"
|
||||||
|
fi
|
||||||
@@ -7,15 +7,41 @@ fi
|
|||||||
|
|
||||||
package="$1"
|
package="$1"
|
||||||
|
|
||||||
|
# Map package name to desktop entry ID
|
||||||
|
case "$package" in
|
||||||
|
alacritty)
|
||||||
|
desktop_id="Alacritty.desktop"
|
||||||
|
;;
|
||||||
|
ghostty)
|
||||||
|
desktop_id="com.mitchellh.ghostty.desktop"
|
||||||
|
;;
|
||||||
|
kitty)
|
||||||
|
desktop_id="kitty.desktop"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown terminal: $package"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Install package
|
# Install package
|
||||||
if omarchy-pkg-add $package; then
|
if omarchy-pkg-add $package; then
|
||||||
# Set as default terminal
|
# Set as default terminal
|
||||||
echo "Setting $package as new default terminal..."
|
echo "Setting $package as new default terminal..."
|
||||||
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
|
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
|
||||||
|
|
||||||
# Restart is needed for new default to take effect
|
# Copy custom desktop entry for alacritty with X-TerminalArg* keys
|
||||||
echo
|
if [ "$package" = "alacritty" ]; then
|
||||||
gum confirm "Restart to use new terminal?" && systemctl reboot --no-wall
|
mkdir -p ~/.local/share/applications
|
||||||
|
cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update xdg-terminals.list to prioritize the proper terminal
|
||||||
|
cat > ~/.config/xdg-terminals.list << EOF
|
||||||
|
# Terminal emulator preference order for xdg-terminal-exec
|
||||||
|
# The first found and valid terminal will be used
|
||||||
|
$desktop_id
|
||||||
|
EOF
|
||||||
else
|
else
|
||||||
echo "Failed to install $package"
|
echo "Failed to install $package"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -21,4 +21,7 @@ EOF
|
|||||||
# Ensure VSC's own auto-update feature is turned off
|
# Ensure VSC's own auto-update feature is turned off
|
||||||
printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json
|
printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json
|
||||||
|
|
||||||
|
# Apply Omarchy theme to VSCode
|
||||||
|
omarchy-theme-set-vscode
|
||||||
|
|
||||||
setsid gtk-launch code
|
setsid gtk-launch code
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
exec setsid uwsm-app -- alacritty --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s'
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Omarchy -e bash -c 'fastfetch; read -n 1 -s'
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
case "${EDITOR:-nvim}" in
|
omarchy-cmd-present "$EDITOR" || EDITOR=nvim
|
||||||
|
|
||||||
|
case "$EDITOR" in
|
||||||
nvim | vim | nano | micro | hx | helix)
|
nvim | vim | nano | micro | hx | helix)
|
||||||
exec setsid uwsm-app -- "$TERMINAL" -e "$EDITOR" "$@"
|
exec setsid uwsm-app -- xdg-terminal-exec "$EDITOR" "$@"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
exec setsid uwsm-app -- "$EDITOR" "$@"
|
exec setsid uwsm-app -- "$EDITOR" "$@"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cmd="$*"
|
cmd="$*"
|
||||||
exec setsid uwsm-app -- alacritty -o font.size=9 --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
exec setsid uwsm-app -- "${TERMINAL:-alacritty}" "$@"
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
exec setsid uwsm-app -- "$TERMINAL" --class=Impala -e impala "$@"
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Impala -e impala "$@"
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ menu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal() {
|
terminal() {
|
||||||
alacritty --class=Omarchy -e "$@"
|
xdg-terminal-exec --app-id=com.omarchy.Omarchy "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
present_terminal() {
|
present_terminal() {
|
||||||
@@ -178,7 +178,7 @@ show_setup_menu() {
|
|||||||
options="$options\n Defaults\n DNS\n Security\n Config"
|
options="$options\n Defaults\n DNS\n Security\n Config"
|
||||||
|
|
||||||
case $(menu "Setup" "$options") in
|
case $(menu "Setup" "$options") in
|
||||||
*Audio*) $TERMINAL --class=Wiremix -e wiremix ;;
|
*Audio*) xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix ;;
|
||||||
*Wifi*)
|
*Wifi*)
|
||||||
rfkill unblock wifi
|
rfkill unblock wifi
|
||||||
omarchy-launch-wifi
|
omarchy-launch-wifi
|
||||||
@@ -264,7 +264,7 @@ show_install_editor_menu() {
|
|||||||
*VSCode*) present_terminal omarchy-install-vscode ;;
|
*VSCode*) present_terminal omarchy-install-vscode ;;
|
||||||
*Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;;
|
*Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;;
|
||||||
*Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;;
|
*Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;;
|
||||||
*Sublime*) aur_install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;;
|
*Sublime*) install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;;
|
||||||
*Helix*) install "Helix" "helix" ;;
|
*Helix*) install "Helix" "helix" ;;
|
||||||
*Emacs*) install "Emacs" "emacs-wayland" && systemctl --user enable --now emacs.service ;;
|
*Emacs*) install "Emacs" "emacs-wayland" && systemctl --user enable --now emacs.service ;;
|
||||||
*) show_install_menu ;;
|
*) show_install_menu ;;
|
||||||
@@ -287,11 +287,11 @@ show_install_ai_menu() {
|
|||||||
echo ollama
|
echo ollama
|
||||||
)
|
)
|
||||||
|
|
||||||
case $(menu "Install" " Claude Code\n Cursor CLI [AUR]\n Gemini [AUR]\n OpenAI Codex\n LM Studio\n Ollama\n Crush\n opencode") in
|
case $(menu "Install" " Claude Code\n Cursor CLI\n Gemini\n OpenAI Codex\n LM Studio\n Ollama\n Crush\n opencode") in
|
||||||
*Claude*) install "Claude Code" "claude-code" ;;
|
*Claude*) install "Claude Code" "claude-code" ;;
|
||||||
*Cursor*) aur_install "Cursor CLI" "cursor-cli" ;;
|
*Cursor*) install "Cursor CLI" "cursor-cli" ;;
|
||||||
*OpenAI*) install "OpenAI Codex" "openai-codex-bin" ;;
|
*OpenAI*) install "OpenAI Codex" "openai-codex-bin" ;;
|
||||||
*Gemini*) aur_install "Gemini" "gemini-cli" ;;
|
*Gemini*) install "Gemini" "gemini-cli" ;;
|
||||||
*Studio*) install "LM Studio" "lmstudio" ;;
|
*Studio*) install "LM Studio" "lmstudio" ;;
|
||||||
*Ollama*) install "Ollama" $ollama_pkg ;;
|
*Ollama*) install "Ollama" $ollama_pkg ;;
|
||||||
*Crush*) install "Crush" "crush-bin" ;;
|
*Crush*) install "Crush" "crush-bin" ;;
|
||||||
@@ -304,7 +304,7 @@ show_install_gaming_menu() {
|
|||||||
case $(menu "Install" " Steam\n RetroArch [AUR]\n Minecraft") in
|
case $(menu "Install" " Steam\n RetroArch [AUR]\n Minecraft") in
|
||||||
*Steam*) present_terminal omarchy-install-steam ;;
|
*Steam*) present_terminal omarchy-install-steam ;;
|
||||||
*RetroArch*) aur_install_and_launch "RetroArch" "retroarch retroarch-assets libretro libretro-fbneo" "com.libretro.RetroArch.desktop" ;;
|
*RetroArch*) aur_install_and_launch "RetroArch" "retroarch retroarch-assets libretro libretro-fbneo" "com.libretro.RetroArch.desktop" ;;
|
||||||
*Minecraft*) aur_install_and_launch "Minecraft [AUR]" "minecraft-launcher" "minecraft-launcher" ;;
|
*Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;;
|
||||||
*) show_install_menu ;;
|
*) show_install_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,17 +4,7 @@ set -e
|
|||||||
|
|
||||||
trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR
|
trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR
|
||||||
|
|
||||||
gum style --border normal --border-foreground 6 --padding "1 2" --margin "1 0" \
|
omarchy-update-confirm
|
||||||
"Ready to update Omarchy?" \
|
|
||||||
"" \
|
|
||||||
"• You cannot stop the update once you start!" \
|
|
||||||
"• Make sure you're not on battery power or have sufficient charge"
|
|
||||||
|
|
||||||
if ! gum confirm --default=false "Continue with update?"; then
|
|
||||||
echo "Update cancelled"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
omarchy-snapshot create || [ $? -eq 127 ]
|
omarchy-snapshot create || [ $? -eq 127 ]
|
||||||
omarchy-update-git
|
omarchy-update-git
|
||||||
omarchy-update-perform
|
omarchy-update-perform
|
||||||
|
|||||||
14
bin/omarchy-update-confirm
Executable file
14
bin/omarchy-update-confirm
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
gum style --border normal --border-foreground 6 --padding "1 2" \
|
||||||
|
"Ready to update Omarchy?" \
|
||||||
|
"" \
|
||||||
|
"• You cannot stop the update once you start!" \
|
||||||
|
"• Make sure you're connected to power or have a full battery"
|
||||||
|
|
||||||
|
if ! gum confirm "Continue with update?"; then
|
||||||
|
echo "Update cancelled"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# Application bindings
|
# Application bindings
|
||||||
$terminal = uwsm-app -- $TERMINAL
|
$terminal = uwsm-app -- xdg-terminal-exec
|
||||||
$browser = omarchy-launch-browser
|
$browser = omarchy-launch-browser
|
||||||
|
|
||||||
bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)"
|
bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)"
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ profile {
|
|||||||
identity = true
|
identity = true
|
||||||
}
|
}
|
||||||
|
|
||||||
# Enable auto switch to nightlight:
|
# To enable auto switch to nightlight, set in your .config/hypr/autostart:
|
||||||
|
# exec-once = uwsm app -- hyprsunset
|
||||||
|
# and use the following:
|
||||||
# profile {
|
# profile {
|
||||||
# time = 20:00
|
# time = 20:00
|
||||||
# temperature = 4000
|
# temperature = 4000
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Changes require a restart to take effect.
|
# Changes require a restart to take effect.
|
||||||
|
|
||||||
# Install other terminals via Install > Terminal
|
# Install other terminals via Install > Terminal
|
||||||
export TERMINAL=alacritty
|
export TERMINAL=xdg-terminal-exec
|
||||||
|
|
||||||
# Use code for VSCode
|
# Use code for VSCode
|
||||||
export EDITOR=nvim
|
export EDITOR=nvim
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
"custom/omarchy": {
|
"custom/omarchy": {
|
||||||
"format": "<span font='omarchy'>\ue900</span>",
|
"format": "<span font='omarchy'>\ue900</span>",
|
||||||
"on-click": "omarchy-menu",
|
"on-click": "omarchy-menu",
|
||||||
"on-click-right": "omarchy-launch-terminal",
|
"on-click-right": "xdg-terminal-exec",
|
||||||
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
||||||
},
|
},
|
||||||
"custom/update": {
|
"custom/update": {
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
"cpu": {
|
"cpu": {
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
"format": "",
|
"format": "",
|
||||||
"on-click": "$TERMINAL -e btop"
|
"on-click": "xdg-terminal-exec btop"
|
||||||
},
|
},
|
||||||
"clock": {
|
"clock": {
|
||||||
"format": "{:L%A %H:%M}",
|
"format": "{:L%A %H:%M}",
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
},
|
},
|
||||||
"pulseaudio": {
|
"pulseaudio": {
|
||||||
"format": "{icon}",
|
"format": "{icon}",
|
||||||
"on-click": "$TERMINAL --class=Wiremix -e wiremix",
|
"on-click": "xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix",
|
||||||
"on-click-right": "pamixer -t",
|
"on-click-right": "pamixer -t",
|
||||||
"tooltip-format": "Playing at {volume}%",
|
"tooltip-format": "Playing at {volume}%",
|
||||||
"scroll-step": 5,
|
"scroll-step": 5,
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Floating windows
|
# Floating windows
|
||||||
windowrule = float, tag:floating-window
|
windowrule = float, tag:floating-window
|
||||||
windowrule = center, tag:floating-window
|
windowrule = center, tag:floating-window
|
||||||
windowrule = size 800 600, tag:floating-window
|
windowrule = size 875 600, tag:floating-window
|
||||||
|
|
||||||
windowrule = tag +floating-window, class:(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float)
|
windowrule = tag +floating-window, class:(blueberry.py|com.omarchy.Impala|com.omarchy.Wiremix|com.omarchy.Omarchy|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float)
|
||||||
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*)
|
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*)
|
||||||
windowrule = float, class:org.gnome.Calculator
|
windowrule = float, class:org.gnome.Calculator
|
||||||
|
|
||||||
@@ -12,3 +12,6 @@ windowrule = fullscreen, class:Screensaver
|
|||||||
|
|
||||||
# No transparency on media windows
|
# No transparency on media windows
|
||||||
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$
|
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$
|
||||||
|
|
||||||
|
# Popped window rounding
|
||||||
|
windowrule = rounding 8, tag:pop
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ bindd = SUPER, T, Toggle window floating/tiling, togglefloating,
|
|||||||
bindd = SUPER, F, Full screen, fullscreen, 0
|
bindd = SUPER, F, Full screen, fullscreen, 0
|
||||||
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
|
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
|
||||||
bindd = SUPER ALT, F, Full width, fullscreen, 1
|
bindd = SUPER ALT, F, Full width, fullscreen, 1
|
||||||
|
bindd = SUPER, O, Pop window out (float & pin), exec, omarchy-hyprland-window-pop
|
||||||
|
|
||||||
# Move focus with SUPER + arrow keys
|
# Move focus with SUPER + arrow keys
|
||||||
bindd = SUPER, LEFT, Move window focus left, movefocus, l
|
bindd = SUPER, LEFT, Move window focus left, movefocus, l
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if pgrep -f "gpu-screen-recorder" >/dev/null; then
|
if pgrep -f "^gpu-screen-recorder" >/dev/null; then
|
||||||
echo '{"text": "", "tooltip": "Stop recording", "class": "active"}'
|
echo '{"text": "", "tooltip": "Stop recording", "class": "active"}'
|
||||||
else
|
else
|
||||||
echo '{"text": ""}'
|
echo '{"text": ""}'
|
||||||
|
|||||||
@@ -36,3 +36,22 @@ xdg-mime default mpv.desktop application/ogg
|
|||||||
|
|
||||||
# Use Hey for mailto: links
|
# Use Hey for mailto: links
|
||||||
xdg-mime default HEY.desktop x-scheme-handler/mailto
|
xdg-mime default HEY.desktop x-scheme-handler/mailto
|
||||||
|
|
||||||
|
# Open text files with nvim
|
||||||
|
xdg-mime default nvim.desktop text/plain
|
||||||
|
xdg-mime default nvim.desktop text/english
|
||||||
|
xdg-mime default nvim.desktop text/x-makefile
|
||||||
|
xdg-mime default nvim.desktop text/x-c++hdr
|
||||||
|
xdg-mime default nvim.desktop text/x-c++src
|
||||||
|
xdg-mime default nvim.desktop text/x-chdr
|
||||||
|
xdg-mime default nvim.desktop text/x-csrc
|
||||||
|
xdg-mime default nvim.desktop text/x-java
|
||||||
|
xdg-mime default nvim.desktop text/x-moc
|
||||||
|
xdg-mime default nvim.desktop text/x-pascal
|
||||||
|
xdg-mime default nvim.desktop text/x-tcl
|
||||||
|
xdg-mime default nvim.desktop text/x-tex
|
||||||
|
xdg-mime default nvim.desktop application/x-shellscript
|
||||||
|
xdg-mime default nvim.desktop text/x-c
|
||||||
|
xdg-mime default nvim.desktop text/x-c++
|
||||||
|
xdg-mime default nvim.desktop application/xml
|
||||||
|
xdg-mime default nvim.desktop text/xml
|
||||||
|
|||||||
@@ -20,9 +20,6 @@ ln -snf ~/.config/omarchy/current/theme/btop.theme ~/.config/btop/themes/current
|
|||||||
mkdir -p ~/.config/mako
|
mkdir -p ~/.config/mako
|
||||||
ln -snf ~/.config/omarchy/current/theme/mako.ini ~/.config/mako/config
|
ln -snf ~/.config/omarchy/current/theme/mako.ini ~/.config/mako/config
|
||||||
|
|
||||||
mkdir -p ~/.config/eza
|
|
||||||
ln -snf ~/.config/omarchy/current/theme/eza.yml ~/.config/eza/theme.yml
|
|
||||||
|
|
||||||
# Add managed policy directories for Chromium and Brave for theme changes
|
# Add managed policy directories for Chromium and Brave for theme changes
|
||||||
sudo mkdir -p /etc/chromium/policies/managed
|
sudo mkdir -p /etc/chromium/policies/managed
|
||||||
sudo chmod a+rw /etc/chromium/policies/managed
|
sudo chmod a+rw /etc/chromium/policies/managed
|
||||||
|
|||||||
@@ -1,2 +1 @@
|
|||||||
notify-send " Update System" "When you have internet, click to update the system." -u critical
|
|
||||||
notify-send " Learn Keybindings" "Super + K for cheatsheet.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -u critical
|
notify-send " Learn Keybindings" "Super + K for cheatsheet.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -u critical
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then
|
if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then
|
||||||
notify-send " Click to Setup Wi-Fi" "Tab to navigate, Space to select, ? for help." -u critical -t 30000
|
notify-send " Click to Setup Wi-Fi" "Tab to navigate, Space to select, ? for help." -u critical -t 30000
|
||||||
|
notify-send " Update System" "When you have internet, click to update the system." -u critical
|
||||||
|
else
|
||||||
|
notify-send " Update System" "Click to update the system." -u critical
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -22,19 +22,6 @@ docker
|
|||||||
docker-buildx
|
docker-buildx
|
||||||
docker-compose
|
docker-compose
|
||||||
dust
|
dust
|
||||||
elephant
|
|
||||||
elephant-bluetooth
|
|
||||||
elephant-calc
|
|
||||||
elephant-clipboard
|
|
||||||
elephant-desktopapplications
|
|
||||||
elephant-files
|
|
||||||
elephant-menus
|
|
||||||
elephant-providerlist
|
|
||||||
elephant-runner
|
|
||||||
elephant-symbols
|
|
||||||
elephant-todo
|
|
||||||
elephant-unicode
|
|
||||||
elephant-websearch
|
|
||||||
evince
|
evince
|
||||||
expac
|
expac
|
||||||
eza
|
eza
|
||||||
@@ -98,6 +85,7 @@ obs-studio
|
|||||||
obsidian
|
obsidian
|
||||||
omarchy-chromium
|
omarchy-chromium
|
||||||
omarchy-nvim
|
omarchy-nvim
|
||||||
|
omarchy-walker
|
||||||
pamixer
|
pamixer
|
||||||
pinta
|
pinta
|
||||||
playerctl
|
playerctl
|
||||||
@@ -132,7 +120,6 @@ ufw
|
|||||||
ufw-docker
|
ufw-docker
|
||||||
unzip
|
unzip
|
||||||
uwsm
|
uwsm
|
||||||
walker
|
|
||||||
waybar
|
waybar
|
||||||
wayfreeze
|
wayfreeze
|
||||||
whois
|
whois
|
||||||
@@ -143,6 +130,7 @@ wl-clipboard
|
|||||||
woff2-font-awesome
|
woff2-font-awesome
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
xdg-desktop-portal-hyprland
|
xdg-desktop-portal-hyprland
|
||||||
|
xdg-terminal-exec
|
||||||
xmlstarlet
|
xmlstarlet
|
||||||
xournalpp
|
xournalpp
|
||||||
yaru-icon-theme
|
yaru-icon-theme
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
echo "Ensure nvim started from app launcher always starts nvim not $EDITOR"
|
|
||||||
|
|
||||||
if [ -f /usr/share/applications/nvim.desktop ]; then
|
|
||||||
rm ~/.local/share/applications/nvim.desktop
|
|
||||||
ln -s /usr/share/applications/nvim.desktop ~/.local/share/applications/nvim.desktop
|
|
||||||
update-desktop-database ~/.local/share/applications
|
|
||||||
fi
|
|
||||||
21
migrations/1761758552.sh
Normal file
21
migrations/1761758552.sh
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
echo "Set nvim as default via xdg-mime"
|
||||||
|
|
||||||
|
rm ~/.local/share/applications/nvim.desktop || true
|
||||||
|
|
||||||
|
xdg-mime default nvim.desktop text/plain
|
||||||
|
xdg-mime default nvim.desktop text/english
|
||||||
|
xdg-mime default nvim.desktop text/x-makefile
|
||||||
|
xdg-mime default nvim.desktop text/x-c++hdr
|
||||||
|
xdg-mime default nvim.desktop text/x-c++src
|
||||||
|
xdg-mime default nvim.desktop text/x-chdr
|
||||||
|
xdg-mime default nvim.desktop text/x-csrc
|
||||||
|
xdg-mime default nvim.desktop text/x-java
|
||||||
|
xdg-mime default nvim.desktop text/x-moc
|
||||||
|
xdg-mime default nvim.desktop text/x-pascal
|
||||||
|
xdg-mime default nvim.desktop text/x-tcl
|
||||||
|
xdg-mime default nvim.desktop text/x-tex
|
||||||
|
xdg-mime default nvim.desktop application/x-shellscript
|
||||||
|
xdg-mime default nvim.desktop text/x-c
|
||||||
|
xdg-mime default nvim.desktop text/x-c++
|
||||||
|
xdg-mime default nvim.desktop application/xml
|
||||||
|
xdg-mime default nvim.desktop text/xml
|
||||||
64
migrations/1762121828.sh
Normal file
64
migrations/1762121828.sh
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
echo "Setting up xdg-terminal-exec for gtk-launch terminal support"
|
||||||
|
# Solve for hardcoded glib terminals
|
||||||
|
# https://github.com/basecamp/omarchy/issues/1852
|
||||||
|
|
||||||
|
# Remove old symlink if it exists -- if someone ran the previous migration early
|
||||||
|
if [ -L /usr/local/bin/xdg-terminal-exec ]; then
|
||||||
|
sudo rm /usr/local/bin/xdg-terminal-exec
|
||||||
|
fi
|
||||||
|
|
||||||
|
omarchy-pkg-add xdg-terminal-exec
|
||||||
|
|
||||||
|
# Set up xdg-terminals.list based on current $TERMINAL
|
||||||
|
if [ -n "$TERMINAL" ]; then
|
||||||
|
case "$TERMINAL" in
|
||||||
|
alacritty)
|
||||||
|
desktop_id="Alacritty.desktop"
|
||||||
|
;;
|
||||||
|
ghostty)
|
||||||
|
desktop_id="com.mitchellh.ghostty.desktop"
|
||||||
|
;;
|
||||||
|
kitty)
|
||||||
|
desktop_id="kitty.desktop"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -n "$desktop_id" ]; then
|
||||||
|
mkdir -p ~/.config
|
||||||
|
cat > ~/.config/xdg-terminals.list << EOF
|
||||||
|
# Terminal emulator preference order for xdg-terminal-exec
|
||||||
|
# The first found and valid terminal will be used
|
||||||
|
$desktop_id
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy custom desktop entries with proper X-TerminalArg* keys
|
||||||
|
if command -v alacritty > /dev/null 2>&1; then
|
||||||
|
cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update hyprland bindings to use xdg-terminal-exec
|
||||||
|
sed -i 's/\$terminal = uwsm-app -- \$TERMINAL/$terminal = uwsm-app -- xdg-terminal-exec/' ~/.config/hypr/bindings.conf
|
||||||
|
# Update --working-directory to --dir for xdg-terminal-exec
|
||||||
|
sed -i 's/--working-directory=/--dir=/g' ~/.config/hypr/bindings.conf
|
||||||
|
|
||||||
|
# Update TERMINAL variable in uwsm config
|
||||||
|
sed -i 's/export TERMINAL=.*/export TERMINAL=xdg-terminal-exec/' ~/.config/uwsm/default
|
||||||
|
|
||||||
|
# Update waybar config to use xdg-terminal-exec
|
||||||
|
waybar_config=~/.config/waybar/config.jsonc
|
||||||
|
if [ -f "$waybar_config" ]; then
|
||||||
|
sed -i 's|"on-click-right": "omarchy-launch-terminal"|"on-click-right": "xdg-terminal-exec"|' "$waybar_config"
|
||||||
|
sed -i 's|"on-click": "\$TERMINAL -e btop"|"on-click": "xdg-terminal-exec btop"|' "$waybar_config"
|
||||||
|
sed -i 's|"on-click": "\$TERMINAL --class=Wiremix -e wiremix"|"on-click": "xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix"|' "$waybar_config"
|
||||||
|
omarchy-state set restart-waybar-required
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update hyprland window rules to use DNS-format class names
|
||||||
|
system_conf=~/.config/hypr/apps/system.conf
|
||||||
|
if [ -f "$system_conf" ]; then
|
||||||
|
if grep -q 'class:(.*|Impala|' "$system_conf" || grep -q 'class:(.*|Wiremix|' "$system_conf" || grep -q '|Omarchy|' "$system_conf"; then
|
||||||
|
sed -i 's/\bImpala\b/com.omarchy.Impala/g; s/\bWiremix\b/com.omarchy.Wiremix/g; s/|Omarchy|/|com.omarchy.Omarchy|/g' "$system_conf"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
2
migrations/1762150269.sh
Normal file
2
migrations/1762150269.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
echo "Install omarchy-walker meta package"
|
||||||
|
omarchy-pkg-add omarchy-walker
|
||||||
Reference in New Issue
Block a user