diff --git a/bin/omarchy-audio-input-mute-thinkpad b/bin/omarchy-audio-input-mute-thinkpad index a6e551a7..2b8a6f74 100755 --- a/bin/omarchy-audio-input-mute-thinkpad +++ b/bin/omarchy-audio-input-mute-thinkpad @@ -17,7 +17,6 @@ fi brightnessctl --device="platform::micmute" set "$led_value" >/dev/null 2>&1 || true -swayosd-client \ - --monitor "$(omarchy-hyprland-monitor-focused)" \ +omarchy-swayosd-client \ --custom-message "$osd_message" \ --custom-icon "$osd_icon" diff --git a/bin/omarchy-hyprland-monitor-internal b/bin/omarchy-hyprland-monitor-internal index bc5ee0b9..e869a9d2 100755 --- a/bin/omarchy-hyprland-monitor-internal +++ b/bin/omarchy-hyprland-monitor-internal @@ -1,8 +1,12 @@ #!/bin/bash TOGGLE="internal-monitor-disable" +TOGGLE_FLAG="$HOME/.local/state/omarchy/toggles/hypr/$TOGGLE.conf" MIRROR_TOGGLE="internal-monitor-mirror" +# Get internal monitor name dynamically +INTERNAL=$(hyprctl monitors -j | jq -r '.[] | select(.name | contains("eDP")).name' | head -n 1) + enable() { if omarchy-hyprland-toggle-enabled "$TOGGLE"; then omarchy-hyprland-toggle --disabled-notification "󰍹 Laptop display enabled" "$TOGGLE" @@ -10,14 +14,15 @@ enable() { } disable() { - if omarchy-hw-external-monitors; then - if omarchy-hyprland-toggle-disabled "$TOGGLE" && omarchy-hyprland-toggle-disabled "$MIRROR_TOGGLE"; then - omarchy-hyprland-toggle --enabled-notification "󰍹 Laptop display disabled" "$TOGGLE" - fi - else + if ! omarchy-hw-external-monitors; then notify-send -u low "󰍹 Can't disable the only active display" exit 1 fi + if omarchy-hyprland-toggle-disabled "$TOGGLE" && omarchy-hyprland-toggle-disabled "$MIRROR_TOGGLE"; then + echo "monitor=$INTERNAL,disable" >"$TOGGLE_FLAG" + notify-send -u low "󰍹 Laptop display disabled" + hyprctl reload + fi } recover() { diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 260a851e..174b4960 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -2,8 +2,6 @@ # Launch the Omarchy Menu or takes a parameter to jump straight to a submenu. -export PATH="$HOME/.local/share/omarchy/bin:$PATH" - # Set to true when going directly to a submenu, so we can exit directly BACK_TO_EXIT=false diff --git a/bin/omarchy-refresh-config b/bin/omarchy-refresh-config index b293206a..c80ba663 100755 --- a/bin/omarchy-refresh-config +++ b/bin/omarchy-refresh-config @@ -22,6 +22,8 @@ user_config_file="${HOME}/.config/$config_file" default_config_file="${HOME}/.local/share/omarchy/config/$config_file" backup_config_file="$user_config_file.bak.$(date +%s)" +mkdir -p "$(dirname "$user_config_file")" + if [[ -f $user_config_file ]]; then # Create preliminary backup cp -f "$user_config_file" "$backup_config_file" 2>/dev/null diff --git a/default/bash/envs b/default/bash/envs index ea8510e6..a8d01dda 100644 --- a/default/bash/envs +++ b/default/bash/envs @@ -2,6 +2,10 @@ export SUDO_EDITOR="$EDITOR" export BAT_THEME=ansi +# Color man pages with bat +export MANROFFOPT="-c" +export MANPAGER="sh -c 'col -bx | bat -l man -p'" + # Duplicated from .config/uwsm/env so SSH works too export OMARCHY_PATH=$HOME/.local/share/omarchy export PATH=$OMARCHY_PATH/bin:$PATH:$HOME/.local/bin diff --git a/default/hypr/toggles/internal-monitor-disable.conf b/default/hypr/toggles/internal-monitor-disable.conf deleted file mode 100644 index f5458f94..00000000 --- a/default/hypr/toggles/internal-monitor-disable.conf +++ /dev/null @@ -1,2 +0,0 @@ -# Disable the internal laptop monitor -monitor=eDP-1,disable diff --git a/install/config/all.sh b/install/config/all.sh index 78f249ec..2fd0f02c 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -44,6 +44,7 @@ run_logged $OMARCHY_INSTALL/config/hardware/intel/lpmd.sh run_logged $OMARCHY_INSTALL/config/hardware/intel/thermald.sh run_logged $OMARCHY_INSTALL/config/hardware/intel/ipu7-camera.sh run_logged $OMARCHY_INSTALL/config/hardware/intel/ptl-kernel.sh +run_logged $OMARCHY_INSTALL/config/hardware/intel/fred.sh run_logged $OMARCHY_INSTALL/config/hardware/intel/fix-wifi7-eht.sh run_logged $OMARCHY_INSTALL/config/hardware/dell/fix-xps-haptic-touchpad.sh diff --git a/install/config/hardware/intel/fred.sh b/install/config/hardware/intel/fred.sh new file mode 100644 index 00000000..c25e4c79 --- /dev/null +++ b/install/config/hardware/intel/fred.sh @@ -0,0 +1,18 @@ +# Enable Flexible Return and Event Delivery on Intel Panther Lake. + +DROP_IN="/etc/limine-entry-tool.d/intel-panther-lake-fred.conf" +DEFAULT_LIMINE="/etc/default/limine" + +if omarchy-hw-intel-ptl; then + if [[ ! -f $DROP_IN ]] || ! grep -q 'fred=on' "$DROP_IN"; then + sudo mkdir -p /etc/limine-entry-tool.d + cat </dev/null +# Intel Panther Lake FRED support +KERNEL_CMDLINE[default]+=" fred=on" +EOF + fi + + if [[ -f $DEFAULT_LIMINE ]] && ! grep -q 'fred=on' "$DEFAULT_LIMINE"; then + sudo tee -a "$DEFAULT_LIMINE" < "$DROP_IN" >/dev/null + fi +fi diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 20e6d817..03e89779 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -27,6 +27,7 @@ docker-compose dosfstools dotnet-runtime-9.0 dust +elephant-all evince exfatprogs expac @@ -92,7 +93,6 @@ nvim obs-studio obsidian omarchy-nvim -omarchy-walker pamixer pinta playerctl @@ -132,6 +132,7 @@ ufw-docker unzip usage uwsm +walker waybar whois wireless-regdb diff --git a/migrations/1777542438.sh b/migrations/1777542438.sh new file mode 100644 index 00000000..3c1b75f0 --- /dev/null +++ b/migrations/1777542438.sh @@ -0,0 +1,7 @@ +echo "Replace coterie of individual Elephant packages with the single elephant-all package" + +if omarchy-pkg-present omarchy-walker; then + omarchy-pkg-drop omarchy-walker + omarchy-pkg-add walker elephant-all + omarchy-refresh-walker +fi diff --git a/migrations/1777546300.sh b/migrations/1777546300.sh new file mode 100644 index 00000000..fc40e222 --- /dev/null +++ b/migrations/1777546300.sh @@ -0,0 +1,9 @@ +echo "Enable FRED on Intel Panther Lake systems" + +DEFAULT_LIMINE="/etc/default/limine" + +if omarchy-hw-intel-ptl && [[ -f $DEFAULT_LIMINE ]] && ! grep -q 'fred=on' "$DEFAULT_LIMINE"; then + source "$OMARCHY_PATH/install/config/hardware/intel/fred.sh" + + sudo limine-update +fi