mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Merge branch 'gaming-improvements' into enhancement/add-lutris-to-gaming-menu
This commit is contained in:
@@ -7,7 +7,7 @@ fi
|
||||
|
||||
WINDOW_PATTERN="$1"
|
||||
LAUNCH_COMMAND="${2:-"uwsm app -- $WINDOW_PATTERN"}"
|
||||
WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class+" "+.title)|test($p;"i"))|.address' | head -n1)
|
||||
WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class|test("\\b" + $p + "\\b";"i")) or (.title|test("\\b" + $p + "\\b";"i")))|.address' | head -n1)
|
||||
|
||||
if [[ -n $WINDOW_ADDRESS ]]; then
|
||||
hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS"
|
||||
|
||||
@@ -299,11 +299,13 @@ show_install_ai_menu() {
|
||||
}
|
||||
|
||||
show_install_gaming_menu() {
|
||||
case $(menu "Install" " Steam\n RetroArch [AUR]\n Minecraft\n Lutris") in
|
||||
case $(menu "Install" "Omarchy Gaming Helper\n Steam\n RetroArch [AUR]\n Minecraft\n Heroic Launcher\n Lutris") in
|
||||
*Omarchy*) present_terminal omarchy-setup-gaming ;;
|
||||
*Steam*) present_terminal omarchy-install-steam ;;
|
||||
*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" ;;
|
||||
*Lutris*) aur_install_and_launch "Lutris" "lutris-git" "lutris-git" ;;
|
||||
*Heroic*) aur_install_and_launch "Heroic Launcher" "heroic-games-launcher-bin" "heroic" ;;
|
||||
*Lutris*) aur_install_and_launch "Lutris" "lutris" "lutris" ;;
|
||||
*) show_install_menu ;;
|
||||
esac
|
||||
}
|
||||
@@ -431,7 +433,8 @@ show_update_config_menu() {
|
||||
}
|
||||
|
||||
show_update_hardware_menu() {
|
||||
case $(menu "Restart" " Wi-Fi\n Bluetooth") in
|
||||
case $(menu "Restart" " Audio\n Wi-Fi\n Bluetooth") in
|
||||
*Audio*) present_terminal omarchy-restart-pipewire ;;
|
||||
*Wi-Fi*) present_terminal omarchy-restart-wifi ;;
|
||||
*Bluetooth*) present_terminal omarchy-restart-bluetooth ;;
|
||||
*) show_update_menu ;;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo -e "Unblocking bluetooth...\n"
|
||||
rfkill unblock bluetooth
|
||||
rfkill list bluetooth
|
||||
|
||||
4
bin/omarchy-restart-pipewire
Executable file
4
bin/omarchy-restart-pipewire
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo -e "Restarting pirewire audio service...\n"
|
||||
systemctl --user restart pipewire.service
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo -e "Unblocking wifi...\n"
|
||||
rfkill unblock wifi
|
||||
rfkill list wifi
|
||||
|
||||
27
bin/omarchy-setup-gaming
Executable file
27
bin/omarchy-setup-gaming
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
yay -S --noconfirm gamescope proton-ge-custom-bin
|
||||
|
||||
mkdir -p ~/.config/systemd/user/
|
||||
|
||||
cat > ~/.config/systemd/user/omarchy-gaming-helper.service << EOF
|
||||
[Unit]
|
||||
Description=Omarchy Gaming Helper
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=$OMARCHY_PATH/default/hypr/scripts/omarchy-gaming-helper.sh
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
EOF
|
||||
|
||||
systemctl --user daemon-reload
|
||||
|
||||
systemctl --user enable omarchy-gaming-helper.service
|
||||
systemctl --user start omarchy-gaming-helper.service
|
||||
|
||||
echo "Omarchy Gaming Helper service has been installed and started."
|
||||
@@ -1,5 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Note: We cannot use `jq` to update settings.json because it’s JSONC (allows comments),
|
||||
# which jq doesn’t support.
|
||||
|
||||
VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
|
||||
VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json"
|
||||
VS_CODE_SKIP_FLAG="$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes"
|
||||
@@ -15,12 +18,29 @@ if omarchy-cmd-present code && [[ ! -f "$VS_CODE_SKIP_FLAG" ]]; then
|
||||
code --install-extension "$extension" >/dev/null
|
||||
fi
|
||||
|
||||
# Update theme in settings.json
|
||||
jq -n --arg t "$theme_name" '(input? // {}) | .["workbench.colorTheme"] = $t' "$VS_CODE_SETTINGS" >"${VS_CODE_SETTINGS}.new"
|
||||
# Create config file if there isn't already one
|
||||
mkdir -p "$(dirname "$VS_CODE_SETTINGS")"
|
||||
if [[ ! -f "$VS_CODE_SETTINGS" ]]; then
|
||||
printf '{\n}\n' > "$VS_CODE_SETTINGS"
|
||||
fi
|
||||
|
||||
# Create a `workbench.colorTheme` entry in settings.
|
||||
if ! grep -q '"workbench.colorTheme"' "$VS_CODE_SETTINGS"; then
|
||||
# Insert `"workbench.colorTheme": "",` immediately after the first `{`
|
||||
# Use sed's first-match range (0,/{/) to only replace the first `{`
|
||||
sed -i --follow-symlinks -E '0,/\{/{s/\{/{\
|
||||
"workbench.colorTheme": "",/}' "$VS_CODE_SETTINGS"
|
||||
fi
|
||||
|
||||
# Update theme
|
||||
sed -i --follow-symlinks -E \
|
||||
"s/(\"workbench.colorTheme\"[[:space:]]*:[[:space:]]*\")[^\"]*(\")/\1$theme_name\2/" \
|
||||
"$VS_CODE_SETTINGS"
|
||||
else
|
||||
# Remove theme from settings.json when the theme doesn't have vscode support
|
||||
jq 'del(.["workbench.colorTheme"])' "$VS_CODE_SETTINGS" >"${VS_CODE_SETTINGS}.new"
|
||||
fi
|
||||
if [[ -f "$VS_CODE_SETTINGS" ]]; then
|
||||
sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$VS_CODE_SETTINGS"
|
||||
|
||||
mv "${VS_CODE_SETTINGS}.new" "$VS_CODE_SETTINGS"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user