mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Compare commits
3 Commits
toggle-hyb
...
febd18ce84
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
febd18ce84 | ||
|
|
ed9a4a45ba | ||
|
|
697d09022a |
@@ -5,8 +5,12 @@
|
|||||||
if [[ $# -eq 0 ]]; then
|
if [[ $# -eq 0 ]]; then
|
||||||
echo "Adjust Apple Display Brightness by passing +5000 or -5000 (or any range from 0-60000)"
|
echo "Adjust Apple Display Brightness by passing +5000 or -5000 (or any range from 0-60000)"
|
||||||
else
|
else
|
||||||
device="$(sudo asdcontrol --detect /dev/usb/hiddev* | grep ^/dev/usb/hiddev | cut -d: -f1)"
|
DEVICE="$(sudo asdcontrol --detect /dev/usb/hiddev* | grep ^/dev/usb/hiddev | cut -d: -f1)"
|
||||||
sudo asdcontrol "$device" -- "$1" >/dev/null
|
sudo asdcontrol "$DEVICE" -- "$1" >/dev/null
|
||||||
value="$(sudo asdcontrol "$device" | awk -F= '/BRIGHTNESS=/{print $2+0}')"
|
VALUE="$(sudo asdcontrol "$DEVICE" | awk -F= '/BRIGHTNESS=/{print $2+0}')"
|
||||||
omarchy-swayosd-brightness "$(( value * 100 / 60000 ))"
|
swayosd-client \
|
||||||
|
--monitor "$(hyprctl monitors -j | jq -r '.[]|select(.focused==true).name')" \
|
||||||
|
--custom-icon display-brightness \
|
||||||
|
--custom-progress "$(awk -v v="$VALUE" 'BEGIN{printf "%.2f", v/60000}')" \
|
||||||
|
--custom-progress-text "$(( VALUE * 100 / 60000 ))%"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Adjust brightness on the most likely display device.
|
|
||||||
# Usage: omarchy-cmd-brightness <step>
|
|
||||||
|
|
||||||
step="${1:-+5%}"
|
|
||||||
|
|
||||||
# Start with the first possible output, then refine to the most likely given an order heuristic.
|
|
||||||
device="$(ls -1 /sys/class/backlight 2>/dev/null | head -n1)"
|
|
||||||
for candidate in amdgpu_bl* intel_backlight acpi_video*; do
|
|
||||||
if [[ -e "/sys/class/backlight/$candidate" ]]; then
|
|
||||||
device="$candidate"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Set the actual brightness of the display device.
|
|
||||||
brightnessctl -d "$device" set "$step" >/dev/null
|
|
||||||
|
|
||||||
# Use SwayOSD to display the new brightness setting.
|
|
||||||
omarchy-swayosd-brightness "$(brightnessctl -d "$device" -m | cut -d',' -f4 | tr -d '%')"
|
|
||||||
@@ -14,6 +14,7 @@ fi
|
|||||||
DESKTOP_AUDIO="false"
|
DESKTOP_AUDIO="false"
|
||||||
MICROPHONE_AUDIO="false"
|
MICROPHONE_AUDIO="false"
|
||||||
WEBCAM="false"
|
WEBCAM="false"
|
||||||
|
WEBCAM_DEVICE=""
|
||||||
STOP_RECORDING="false"
|
STOP_RECORDING="false"
|
||||||
|
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
@@ -21,6 +22,7 @@ for arg in "$@"; do
|
|||||||
--with-desktop-audio) DESKTOP_AUDIO="true" ;;
|
--with-desktop-audio) DESKTOP_AUDIO="true" ;;
|
||||||
--with-microphone-audio) MICROPHONE_AUDIO="true" ;;
|
--with-microphone-audio) MICROPHONE_AUDIO="true" ;;
|
||||||
--with-webcam) WEBCAM="true" ;;
|
--with-webcam) WEBCAM="true" ;;
|
||||||
|
--webcam-device=*) WEBCAM_DEVICE="${arg#*=}" ;;
|
||||||
--stop-recording) STOP_RECORDING="true"
|
--stop-recording) STOP_RECORDING="true"
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -32,6 +34,15 @@ cleanup_webcam() {
|
|||||||
start_webcam_overlay() {
|
start_webcam_overlay() {
|
||||||
cleanup_webcam
|
cleanup_webcam
|
||||||
|
|
||||||
|
# Auto-detect first available webcam if none specified
|
||||||
|
if [[ -z "$WEBCAM_DEVICE" ]]; then
|
||||||
|
WEBCAM_DEVICE=$(v4l2-ctl --list-devices 2>/dev/null | grep -m1 "^\s*/dev/video" | tr -d '\t')
|
||||||
|
if [[ -z "$WEBCAM_DEVICE" ]]; then
|
||||||
|
notify-send "No webcam devices found" -u critical -t 3000
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Get monitor scale
|
# Get monitor scale
|
||||||
local scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale')
|
local scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale')
|
||||||
|
|
||||||
@@ -41,7 +52,7 @@ start_webcam_overlay() {
|
|||||||
# Try preferred 16:9 resolutions in order, use first available
|
# Try preferred 16:9 resolutions in order, use first available
|
||||||
local preferred_resolutions=("640x360" "1280x720" "1920x1080")
|
local preferred_resolutions=("640x360" "1280x720" "1920x1080")
|
||||||
local video_size_arg=""
|
local video_size_arg=""
|
||||||
local available_formats=$(v4l2-ctl --list-formats-ext -d /dev/video0 2>/dev/null)
|
local available_formats=$(v4l2-ctl --list-formats-ext -d "$WEBCAM_DEVICE" 2>/dev/null)
|
||||||
|
|
||||||
for resolution in "${preferred_resolutions[@]}"; do
|
for resolution in "${preferred_resolutions[@]}"; do
|
||||||
if echo "$available_formats" | grep -q "$resolution"; then
|
if echo "$available_formats" | grep -q "$resolution"; then
|
||||||
@@ -50,7 +61,7 @@ start_webcam_overlay() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
ffplay -f v4l2 $video_size_arg -framerate 30 /dev/video0 \
|
ffplay -f v4l2 $video_size_arg -framerate 30 "$WEBCAM_DEVICE" \
|
||||||
-vf "scale=${target_width}:-1" \
|
-vf "scale=${target_width}:-1" \
|
||||||
-window_title "WebcamOverlay" \
|
-window_title "WebcamOverlay" \
|
||||||
-noborder \
|
-noborder \
|
||||||
|
|||||||
@@ -88,11 +88,10 @@ show_learn_menu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_trigger_menu() {
|
show_trigger_menu() {
|
||||||
case $(menu "Trigger" " Capture\n Share\n Toggle\n Tweaks") in
|
case $(menu "Trigger" " Capture\n Share\n Toggle") in
|
||||||
*Capture*) show_capture_menu ;;
|
*Capture*) show_capture_menu ;;
|
||||||
*Share*) show_share_menu ;;
|
*Share*) show_share_menu ;;
|
||||||
*Toggle*) show_toggle_menu ;;
|
*Toggle*) show_toggle_menu ;;
|
||||||
*Tweaks*) show_tweaks_menu ;;
|
|
||||||
*) show_main_menu ;;
|
*) show_main_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -114,13 +113,43 @@ show_screenshot_menu() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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"
|
||||||
|
IFS= read -r device || break
|
||||||
|
device=$(echo "$device" | tr -d '\t' | head -1)
|
||||||
|
[[ -n "$device" ]] && echo "$device $name"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
show_webcam_select_menu() {
|
||||||
|
local devices=$(get_webcam_list)
|
||||||
|
local count=$(echo "$devices" | grep -c . 2>/dev/null || echo 0)
|
||||||
|
|
||||||
|
if [[ -z "$devices" || "$count" -eq 0 ]]; then
|
||||||
|
notify-send "No webcam devices found" -u critical -t 3000
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$count" -eq 1 ]]; then
|
||||||
|
echo "$devices" | awk '{print $1}'
|
||||||
|
else
|
||||||
|
menu "Select Webcam" "$devices" | awk '{print $1}'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
show_screenrecord_menu() {
|
show_screenrecord_menu() {
|
||||||
omarchy-cmd-screenrecord --stop-recording && exit 0
|
omarchy-cmd-screenrecord --stop-recording && exit 0
|
||||||
|
|
||||||
case $(menu "Screenrecord" " With desktop audio\n With desktop + microphone audio\n With desktop + microphone audio + webcam") in
|
case $(menu "Screenrecord" " With desktop audio\n With desktop + microphone audio\n With desktop + microphone audio + webcam") in
|
||||||
*"With desktop audio") omarchy-cmd-screenrecord --with-desktop-audio ;;
|
*"With desktop audio") omarchy-cmd-screenrecord --with-desktop-audio ;;
|
||||||
*"With desktop + microphone audio") omarchy-cmd-screenrecord --with-desktop-audio --with-microphone-audio ;;
|
*"With desktop + microphone audio") omarchy-cmd-screenrecord --with-desktop-audio --with-microphone-audio ;;
|
||||||
*"With desktop + microphone audio + webcam") omarchy-cmd-screenrecord --with-desktop-audio --with-microphone-audio --with-webcam ;;
|
*"With desktop + microphone audio + webcam")
|
||||||
|
local device=$(show_webcam_select_menu) || { back_to show_capture_menu; return; }
|
||||||
|
omarchy-cmd-screenrecord --with-desktop-audio --with-microphone-audio --with-webcam --webcam-device="$device"
|
||||||
|
;;
|
||||||
*) back_to show_capture_menu ;;
|
*) back_to show_capture_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -144,13 +173,6 @@ show_toggle_menu() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
show_tweaks_menu() {
|
|
||||||
case $(menu "Tweaks" " Toggle Hybrid GPU") in
|
|
||||||
*"Toggle Hybrid GPU"*) present_terminal omarchy-toggle-hybrid-gpu ;;
|
|
||||||
*) show_trigger_menu ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
show_style_menu() {
|
show_style_menu() {
|
||||||
case $(menu "Style" " Theme\n Font\n Background\n Hyprland\n Screensaver\n About") in
|
case $(menu "Style" " Theme\n Font\n Background\n Hyprland\n Screensaver\n About") in
|
||||||
*Theme*) show_theme_menu ;;
|
*Theme*) show_theme_menu ;;
|
||||||
@@ -551,7 +573,6 @@ go_to_menu() {
|
|||||||
*learn*) show_learn_menu ;;
|
*learn*) show_learn_menu ;;
|
||||||
*trigger*) show_trigger_menu ;;
|
*trigger*) show_trigger_menu ;;
|
||||||
*share*) show_share_menu ;;
|
*share*) show_share_menu ;;
|
||||||
*capture*) show_capture_menu ;;
|
|
||||||
*style*) show_style_menu ;;
|
*style*) show_style_menu ;;
|
||||||
*theme*) show_theme_menu ;;
|
*theme*) show_theme_menu ;;
|
||||||
*screenshot*) show_screenshot_menu ;;
|
*screenshot*) show_screenshot_menu ;;
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Display brightness level using SwayOSD on the current monitor.
|
|
||||||
# Usage: omarchy-swayosd-brightness <percent>
|
|
||||||
|
|
||||||
percent="$1"
|
|
||||||
|
|
||||||
swayosd-client \
|
|
||||||
--monitor "$(hyprctl monitors -j | jq -r '.[]|select(.focused==true).name')" \
|
|
||||||
--custom-icon display-brightness \
|
|
||||||
--custom-progress "$(awk -v p="$percent" 'BEGIN{printf "%.2f", p/100}')" \
|
|
||||||
--custom-progress-text "${percent}%"
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Fix volume controls for laptops with problematic Realtek codecs (like Asus G14)
|
|
||||||
|
|
||||||
if [[ ! -f ~/.config/wireplumber/wireplumber.conf.d/alsa-soft-mixer.conf ]]; then
|
|
||||||
mkdir -p ~/.config/wireplumber/wireplumber.conf.d/
|
|
||||||
cp $OMARCHY_PATH/default/wireplumber/wireplumber.conf.d/alsa-soft-mixer.conf ~/.config/wireplumber/wireplumber.conf.d/
|
|
||||||
rm -rf ~/.local/state/wireplumber/default-routes
|
|
||||||
|
|
||||||
notify-send "Enabled audio soft mixing"
|
|
||||||
else
|
|
||||||
rm -rf ~/.config/wireplumber/wireplumber.conf.d/alsa-soft-mixer.conf
|
|
||||||
rm -rf ~/.local/state/wireplumber/default-routes
|
|
||||||
|
|
||||||
notify-send "Disabled audio soft mixing"
|
|
||||||
fi
|
|
||||||
|
|
||||||
systemctl --user restart wireplumber
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Toggle dedicated vs integrated GPU mode via supergfxd (for hybrid gpu laptops, like Asus G14).
|
|
||||||
# Requires reboot to take effect.
|
|
||||||
|
|
||||||
# Ensure supergfxctl has been installed
|
|
||||||
if omarchy-cmd-missing supergfxctl; then
|
|
||||||
# FIXME: Convert this to OPR instead of AUR
|
|
||||||
omarchy-pkg-aur-add supergfxctl
|
|
||||||
sudo systemctl enable supergfxd
|
|
||||||
sudo systemctl start supergfxd
|
|
||||||
|
|
||||||
# Needed to deal with restoring to sleep where going through VFIO first means we don't need to reboot.
|
|
||||||
sudo sed -i "s/\"vfio_enable\": \".*\"/\"vfio_enable\": true/" /etc/supergfxd.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
gpu_mode=$(supergfxctl -g)
|
|
||||||
|
|
||||||
case "$gpu_mode" in
|
|
||||||
"Integrated")
|
|
||||||
if gum confirm "Enable dedicated GPU and reboot?"; then
|
|
||||||
# Switch to hybrid mode
|
|
||||||
sudo sed -i "s/\"mode\": \".*\"/\"mode\": \"Hybrid\"/" /etc/supergfxd.conf
|
|
||||||
|
|
||||||
# Let hybrid mode be the default after system sleep
|
|
||||||
sudo rm -rf /usr/lib/systemd/system-sleep/force-igpu
|
|
||||||
|
|
||||||
# Remove the startup delay override (not needed for Hybrid mode)
|
|
||||||
sudo rm -rf /etc/systemd/system/supergfxd.service.d/delay-start.conf
|
|
||||||
|
|
||||||
omarchy-cmd-reboot
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
"Hybrid")
|
|
||||||
if gum confirm "Use only integrated GPU and reboot?"; then
|
|
||||||
# Switch to integrated mode
|
|
||||||
sudo sed -i "s/\"mode\": \".*\"/\"mode\": \"Integrated\"/" /etc/supergfxd.conf
|
|
||||||
|
|
||||||
# Force igpu mode after system sleep (or dgpu could get activated)
|
|
||||||
sudo mkdir -p /usr/lib/systemd/system-sleep
|
|
||||||
sudo cp -p $OMARCHY_PATH/default/systemd/system-sleep/force-igpu /usr/lib/systemd/system-sleep/
|
|
||||||
|
|
||||||
# Delay supergfxd startup to avoid race condition with display manager
|
|
||||||
# that can cause system freeze when booting in Integrated mode
|
|
||||||
sudo mkdir -p /etc/systemd/system/supergfxd.service.d
|
|
||||||
sudo cp -p $OMARCHY_PATH/default/systemd/system/supergfxd.service.d/delay-start.conf /etc/systemd/system/supergfxd.service.d/
|
|
||||||
|
|
||||||
omarchy-cmd-reboot
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Hybrid GPU not found or in unknown mode."
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Update AUR packages if any are installed
|
|
||||||
if pacman -Qem >/dev/null; then
|
|
||||||
if omarchy-pkg-aur-accessible; then
|
|
||||||
echo -e "\e[32m\nUpdate AUR packages\e[0m"
|
|
||||||
yay -Sua --noconfirm --ignore gcc14,gcc14-libs
|
|
||||||
echo
|
|
||||||
else
|
|
||||||
echo -e "\e[31m\nAUR is unavailable (so skipping updates)\e[0m"
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
orphans=$(pacman -Qtdq || true)
|
|
||||||
if [[ -n $orphans ]]; then
|
|
||||||
echo -e "\e[32m\nRemove orphan system packages\e[0m"
|
|
||||||
for pkg in $orphans; do
|
|
||||||
sudo pacman -Rs --noconfirm "$pkg" || true
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
@@ -14,8 +14,6 @@ omarchy-update-keyring
|
|||||||
omarchy-update-available-reset
|
omarchy-update-available-reset
|
||||||
omarchy-update-system-pkgs
|
omarchy-update-system-pkgs
|
||||||
omarchy-migrate
|
omarchy-migrate
|
||||||
omarchy-update-aur-pkgs
|
|
||||||
omarchy-update-orphan-pkgs
|
|
||||||
omarchy-hook post-update
|
omarchy-hook post-update
|
||||||
|
|
||||||
omarchy-update-analyze-logs
|
omarchy-update-analyze-logs
|
||||||
|
|||||||
@@ -4,3 +4,24 @@ set -e
|
|||||||
|
|
||||||
echo -e "\e[32m\nUpdate system packages\e[0m"
|
echo -e "\e[32m\nUpdate system packages\e[0m"
|
||||||
sudo pacman -Syyu --noconfirm
|
sudo pacman -Syyu --noconfirm
|
||||||
|
|
||||||
|
# Update AUR packages if any are installed
|
||||||
|
if pacman -Qem >/dev/null; then
|
||||||
|
if omarchy-pkg-aur-accessible; then
|
||||||
|
echo -e "\e[32m\nUpdate AUR packages\e[0m"
|
||||||
|
yay -Sua --noconfirm --ignore gcc14,gcc14-libs
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo -e "\e[31m\nAUR is unavailable (so skipping updates)\e[0m"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
orphans=$(pacman -Qtdq || true)
|
||||||
|
if [[ -n $orphans ]]; then
|
||||||
|
echo -e "\e[32m\nRemove orphan system packages\e[0m"
|
||||||
|
for pkg in $orphans; do
|
||||||
|
sudo pacman -Rs --noconfirm "$pkg" || true
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|||||||
@@ -254,6 +254,25 @@ remove_windows() {
|
|||||||
echo "Windows VM removal completed!"
|
echo "Windows VM removal completed!"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wait_for_rdp_ready() {
|
||||||
|
local WIN_USER="$1"
|
||||||
|
local WIN_PASS="$2"
|
||||||
|
local TIMEOUT=240
|
||||||
|
local SECONDS=0
|
||||||
|
|
||||||
|
echo "Waiting for Windows VM to be ready..."
|
||||||
|
|
||||||
|
while ! timeout 5s xfreerdp3 /auth-only /cert:ignore /u:"$WIN_USER" /p:"$WIN_PASS" /v:127.0.0.1:3389 &>/dev/null; do
|
||||||
|
sleep 2
|
||||||
|
if [ $SECONDS -gt $TIMEOUT ]; then
|
||||||
|
echo "❌ Timeout waiting for RDP!"
|
||||||
|
echo " The VM might still be installing Windows."
|
||||||
|
echo " Check progress at: http://127.0.0.1:8006"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
launch_windows() {
|
launch_windows() {
|
||||||
KEEP_ALIVE=false
|
KEEP_ALIVE=false
|
||||||
if [ "$1" = "--keep-alive" ] || [ "$1" = "-k" ]; then
|
if [ "$1" = "--keep-alive" ] || [ "$1" = "-k" ]; then
|
||||||
@@ -290,19 +309,11 @@ launch_windows() {
|
|||||||
notify-send -u critical "Windows VM" "Failed to start Windows VM"
|
notify-send -u critical "Windows VM" "Failed to start Windows VM"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Waiting for Windows VM to start..."
|
if ! wait_for_rdp_ready "$WIN_USER" "$WIN_PASS"; then
|
||||||
WAIT_COUNT=0
|
notify-send -u critical "Windows VM" "Did not come alive in time."
|
||||||
until docker logs omarchy-windows 2>&1 | grep -qi "windows started successfully"; do
|
exit 1
|
||||||
sleep 2
|
|
||||||
WAIT_COUNT=$((WAIT_COUNT + 1))
|
|
||||||
if [ $WAIT_COUNT -gt 60 ]; then # 2 minutes timeout
|
|
||||||
echo ""
|
|
||||||
echo "❌ Timeout: Windows VM failed to start within 2 minutes"
|
|
||||||
echo " Check logs: docker logs omarchy-windows"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build the connection info
|
# Build the connection info
|
||||||
@@ -335,7 +346,7 @@ To stop: omarchy-windows-vm stop"
|
|||||||
# If scale is less than 130%, don't set any scale (use default 100)
|
# If scale is less than 130%, don't set any scale (use default 100)
|
||||||
|
|
||||||
# Connect with RDP in fullscreen (auto-detects resolution)
|
# Connect with RDP in fullscreen (auto-detects resolution)
|
||||||
xfreerdp3 /u:"$WIN_USER" /p:"$WIN_PASS" /v:127.0.0.1:3389 -grab-keyboard /sound /microphone /clipboard /cert:ignore /title:"Windows VM - Omarchy" /dynamic-resolution /gfx:AVC444 /floatbar:sticky:off,default:visible,show:fullscreen $RDP_SCALE
|
xfreerdp3 /u:"$WIN_USER" /p:"$WIN_PASS" /v:127.0.0.1:3389 -grab-keyboard /sound /microphone /cert:ignore /title:"Windows VM - Omarchy" /dynamic-resolution /gfx:AVC444 /floatbar:sticky:off,default:visible,show:fullscreen $RDP_SCALE
|
||||||
|
|
||||||
# After RDP closes, stop the container unless --keep-alive was specified
|
# After RDP closes, stop the container unless --keep-alive was specified
|
||||||
if [ "$KEEP_ALIVE" = false ]; then
|
if [ "$KEEP_ALIVE" = false ]; then
|
||||||
|
|||||||
@@ -116,7 +116,6 @@
|
|||||||
"format-muted": "",
|
"format-muted": "",
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"headphone": "",
|
"headphone": "",
|
||||||
"headset": "",
|
|
||||||
"default": ["", "", ""]
|
"default": ["", "", ""]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ img2jpg() {
|
|||||||
img="$1"
|
img="$1"
|
||||||
shift
|
shift
|
||||||
|
|
||||||
magick "$img" $@ -quality 95 -strip ${img%.*}-converted.jpg
|
magick "$img" $@ -quality 95 -strip ${img%.*}-optimized.jpg
|
||||||
}
|
}
|
||||||
|
|
||||||
# Transcode any image to JPG image that's great for sharing online without being too big
|
# Transcode any image to JPG image that's great for sharing online without being too big
|
||||||
@@ -66,14 +66,7 @@ img2jpg-small() {
|
|||||||
img="$1"
|
img="$1"
|
||||||
shift
|
shift
|
||||||
|
|
||||||
magick "$img" $@ -resize 1080x\> -quality 95 -strip ${img%.*}-small.jpg
|
magick "$img" $@ -resize 1080x\> -quality 95 -strip ${img%.*}-optimized.jpg
|
||||||
}
|
|
||||||
# Transcode any image to JPG image that's great for sharing online without being too big
|
|
||||||
img2jpg-medium() {
|
|
||||||
img="$1"
|
|
||||||
shift
|
|
||||||
|
|
||||||
magick "$img" $@ -resize 1800x\> -quality 95 -strip ${img%.*}-medium.jpg
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Transcode any image to compressed-but-lossless PNG
|
# Transcode any image to compressed-but-lossless PNG
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ bindeld = ,XF86AudioRaiseVolume, Volume up, exec, $osdclient --output-volume rai
|
|||||||
bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower
|
bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower
|
||||||
bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle
|
bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle
|
||||||
bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle
|
bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle
|
||||||
bindeld = ,XF86MonBrightnessUp, Brightness up, exec, omarchy-cmd-brightness +5%
|
bindeld = ,XF86MonBrightnessUp, Brightness up, exec, $osdclient --brightness raise
|
||||||
bindeld = ,XF86MonBrightnessDown, Brightness down, exec, omarchy-cmd-brightness 5%-
|
bindeld = ,XF86MonBrightnessDown, Brightness down, exec, $osdclient --brightness lower
|
||||||
|
|
||||||
# Precise 1% multimedia adjustments with Alt modifier
|
# Precise 1% multimedia adjustments with Alt modifier
|
||||||
bindeld = ALT, XF86AudioRaiseVolume, Volume up precise, exec, $osdclient --output-volume +1
|
bindeld = ALT, XF86AudioRaiseVolume, Volume up precise, exec, $osdclient --output-volume +1
|
||||||
bindeld = ALT, XF86AudioLowerVolume, Volume down precise, exec, $osdclient --output-volume -1
|
bindeld = ALT, XF86AudioLowerVolume, Volume down precise, exec, $osdclient --output-volume -1
|
||||||
bindeld = ALT, XF86MonBrightnessUp, Brightness up precise, exec, omarchy-cmd-brightness +1%
|
bindeld = ALT, XF86MonBrightnessUp, Brightness up precise, exec, $osdclient --brightness +1
|
||||||
bindeld = ALT, XF86MonBrightnessDown, Brightness down precise, exec, omarchy-cmd-brightness 1%-
|
bindeld = ALT, XF86MonBrightnessDown, Brightness down precise, exec, $osdclient --brightness -1
|
||||||
|
|
||||||
# Requires playerctl
|
# Requires playerctl
|
||||||
bindld = , XF86AudioNext, Next track, exec, $osdclient --playerctl next
|
bindld = , XF86AudioNext, Next track, exec, $osdclient --playerctl next
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# Menus
|
# Menus
|
||||||
bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker
|
bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker
|
||||||
bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols
|
bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols
|
||||||
bindd = SUPER CTRL, C, Capture menu, exec, omarchy-menu capture
|
|
||||||
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
|
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
|
||||||
bindd = SUPER, ESCAPE, System menu, exec, omarchy-menu system
|
bindd = SUPER, ESCAPE, System menu, exec, omarchy-menu system
|
||||||
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
|
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ TARGET_OS_NAME="Omarchy"
|
|||||||
ESP_PATH="/boot"
|
ESP_PATH="/boot"
|
||||||
|
|
||||||
KERNEL_CMDLINE[default]="@@CMDLINE@@"
|
KERNEL_CMDLINE[default]="@@CMDLINE@@"
|
||||||
KERNEL_CMDLINE[default]+=" quiet splash"
|
KERNEL_CMDLINE[default]+="quiet splash"
|
||||||
|
|
||||||
ENABLE_UKI=yes
|
ENABLE_UKI=yes
|
||||||
CUSTOM_UKI_NAME="omarchy"
|
CUSTOM_UKI_NAME="omarchy"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
name: omarchy
|
name: Omarchy
|
||||||
description: >
|
description: >
|
||||||
REQUIRED for ANY changes to Linux desktop, window manager, or system config.
|
REQUIRED for ANY changes to Linux desktop, window manager, or system config.
|
||||||
Use when editing ~/.config/hypr/, ~/.config/waybar/, ~/.config/walker/,
|
Use when editing ~/.config/hypr/, ~/.config/waybar/, ~/.config/walker/,
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Use the Vfio to Integrated trick to turn off NVIDIA dgpu when in integrated mode
|
|
||||||
# without needing to restart the computer. This is needed because computers like the Asus G14
|
|
||||||
# will wake after suspend in Hybrid mode, even if the system was in Integrated mode before
|
|
||||||
# suspending.
|
|
||||||
|
|
||||||
if [[ $1 == "post" ]]; then
|
|
||||||
# small delay so the device is fully re-enumerated
|
|
||||||
sleep 4
|
|
||||||
|
|
||||||
# force-bind dGPU to vfio (fully detached from nvidia)
|
|
||||||
/usr/bin/supergfxctl -m Vfio
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
# then go back to Integrated, which powers it off again
|
|
||||||
/usr/bin/supergfxctl -m Integrated
|
|
||||||
fi
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
[Service]
|
|
||||||
# Delay startup to avoid race condition with display manager initialization
|
|
||||||
# when booting in Integrated mode. Without this delay, the system can freeze
|
|
||||||
# on boot because supergfxd tries to disable the dGPU while the display
|
|
||||||
# subsystem is still initializing.
|
|
||||||
ExecStartPre=/bin/sleep 5
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
## Use software volume control for all ALSA devices.
|
|
||||||
## This prevents hardware mixer quirks (like muffled audio on Realtek codecs)
|
|
||||||
## and provides consistent volume behavior across all hardware.
|
|
||||||
|
|
||||||
monitor.alsa.rules = [
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
device.name = "~alsa_card.*"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
actions = {
|
|
||||||
update-props = {
|
|
||||||
api.alsa.soft-mixer = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -26,7 +26,6 @@ run_logged $OMARCHY_INSTALL/config/hardware/bluetooth.sh
|
|||||||
run_logged $OMARCHY_INSTALL/config/hardware/printer.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/printer.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/usb-autosuspend.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/usb-autosuspend.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/ignore-power-button.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/ignore-power-button.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/legacy-gpu-terminal.sh
|
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/nvidia.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/nvidia.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-bcm43xx.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-bcm43xx.sh
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
# Ghostty requires modern GPU acceleration (OpenGL/Vulkan) which is often unstable
|
|
||||||
# or missing on legacy hardware. Detect legacy GPU drivers and fall back to Alacritty.
|
|
||||||
|
|
||||||
legacy_drivers=("radeon")
|
|
||||||
|
|
||||||
for card in /sys/class/drm/card*; do
|
|
||||||
if [[ -e "$card/device/driver" ]]; then
|
|
||||||
driver=$(basename "$(readlink -f "$card/device/driver")")
|
|
||||||
|
|
||||||
for legacy in "${legacy_drivers[@]}"; do
|
|
||||||
if [[ "$driver" == "$legacy" ]]; then
|
|
||||||
omarchy-install-terminal alacritty
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
echo "Add icon for headset audio profile in Waybar"
|
|
||||||
|
|
||||||
if ! grep -q '"headset": ""' "$HOME/.config/waybar/config.jsonc"; then
|
|
||||||
sed -i '
|
|
||||||
/"pulseaudio": {/,/^[ ]*}/{
|
|
||||||
/"format-icons": {/,/^[ ]*}/{
|
|
||||||
/"default":/i\
|
|
||||||
\ "headset": "",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
' "$HOME/.config/waybar/config.jsonc"
|
|
||||||
|
|
||||||
omarchy-restart-waybar
|
|
||||||
fi
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
@define-color foreground #cdd6f4;
|
|
||||||
@define-color background #181824;
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.8 MiB |
Reference in New Issue
Block a user