Compare commits

..
Author SHA1 Message Date
David Heinemeier HanssonandGitHub 236a34b23c Merge pull request #5280 from basecamp/rc
Omarchy 3.5.1
2026-04-16 16:12:03 +02:00
David Heinemeier Hansson 2c4b4488c0 Merge branch 'dev' into rc 2026-04-16 16:03:49 +02:00
David Heinemeier Hansson 8f7d64ba78 Merge branch 'dev' into rc 2026-04-16 15:34:24 +02:00
David Heinemeier Hansson 9ece3318ec Merge branch 'dev' into rc 2026-04-16 15:24:11 +02:00
David Heinemeier Hansson d51a3f6b37 Merge branch 'dev' into rc 2026-04-15 18:16:27 +02:00
David Heinemeier Hansson cdb8628502 Merge branch 'dev' into rc 2026-04-15 16:21:03 +02:00
David Heinemeier Hansson b919a5541a Merge branch 'dev' into rc 2026-04-15 16:17:19 +02:00
David Heinemeier Hansson 4ee44c36a6 Merge branch 'dev' into rc 2026-04-15 15:55:55 +02:00
David Heinemeier Hansson d71ddf022a Merge branch 'dev' into rc 2026-04-15 15:02:11 +02:00
David Heinemeier Hansson cd511f77b9 Merge branch 'dev' into rc 2026-04-15 14:36:44 +02:00
David Heinemeier Hansson e6b105d0b2 Merge branch 'dev' into rc 2026-04-15 13:52:05 +02:00
David Heinemeier Hansson 2554fe8555 Merge branch 'dev' into rc 2026-04-15 12:34:23 +02:00
David Heinemeier Hansson feda8b7231 Merge branch 'dev' into rc 2026-04-15 12:11:18 +02:00
David Heinemeier Hansson 46eb5568d9 Merge branch 'dev' into rc 2026-04-15 11:56:00 +02:00
David Heinemeier Hansson 33c92f554b Merge branch 'dev' into rc 2026-04-15 11:49:29 +02:00
David Heinemeier Hansson 997011e985 Merge branch 'dev' into rc 2026-04-13 16:00:11 -07:00
David Heinemeier Hansson 0e126b7916 Merge branch 'dev' into rc 2026-04-13 15:59:23 -07:00
David Heinemeier Hansson f81b3c842d Merge branch 'dev' into rc 2026-04-11 20:48:42 -04:00
David Heinemeier Hansson ecbd912b09 Merge branch 'dev' into rc 2026-04-11 18:02:01 -04:00
David Heinemeier HanssonandGitHub 76d09b29b7 Merge pull request #5192 from basecamp/rc
Omarchy 3.5.0
2026-04-03 19:16:29 +02:00
David Heinemeier Hansson f18dfdd101 Merge branch 'dev' into rc 2026-04-03 11:36:14 +02:00
David Heinemeier Hansson e4757abb80 Merge branch 'dev' into rc 2026-04-03 10:57:18 +02:00
David Heinemeier Hansson fc1cb1a751 Merge branch 'dev' into rc 2026-04-02 18:06:32 +02:00
David Heinemeier Hansson 50d3579d66 Don't use the names here since they break the all-themes setup in omarchy-nvim 2026-04-02 18:04:55 +02:00
David Heinemeier Hansson b72a831bf5 Merge branch 'dev' into rc 2026-04-02 17:39:10 +02:00
David Heinemeier Hansson e2b6b5ed5a Merge branch 'dev' into rc 2026-04-02 17:23:41 +02:00
David Heinemeier Hansson e5bcec53d1 Merge branch 'dev' into rc 2026-04-02 16:07:23 +02:00
David Heinemeier Hansson 1b07638732 Merge branch 'dev' into rc 2026-04-02 16:06:29 +02:00
David Heinemeier Hansson 4a3355e767 Merge branch 'dev' into rc 2026-04-01 18:16:31 +02:00
David Heinemeier Hansson 3b8ab81781 Merge branch 'dev' into rc 2026-03-08 18:29:04 +01:00
David Heinemeier Hansson da0bb37a19 Merge branch 'dev' into rc 2026-03-08 17:54:04 +01:00
47 changed files with 137 additions and 260 deletions
@@ -1,13 +0,0 @@
#!/bin/bash
# Disable the internal laptop display. No-op if already disabled or if it
# would leave no active display.
if omarchy-hyprland-monitors-many; then
if omarchy-hyprland-toggle-disabled internal-monitor-disable; then
omarchy-hyprland-toggle --enabled-notification "󰍹 Laptop display disabled" internal-monitor-disable
fi
else
notify-send -u low "󰍹 Can't disable the only active display"
exit 1
fi
@@ -1,7 +0,0 @@
#!/bin/bash
# Enable the internal laptop display. No-op if already enabled.
if omarchy-hyprland-toggle-enabled internal-monitor-disable; then
omarchy-hyprland-toggle --disabled-notification "󰍹 Laptop display enabled" internal-monitor-disable
fi
@@ -1,9 +0,0 @@
#!/bin/bash
# Re-enable the internal display if it was toggled off and no external monitors
# are currently active (e.g. external got disconnected live, during sleep, or
# wasn't present on boot).
if omarchy-hyprland-monitors-none && omarchy-hyprland-toggle-enabled internal-monitor-disable; then
omarchy-hyprland-monitor-internal-enable
fi
+24 -4
View File
@@ -1,9 +1,29 @@
#!/bin/bash
# Toggle the internal laptop display on/off.
# Useful when connected to an external monitor and you want to close the lid
# or just use the external display only.
if omarchy-hyprland-toggle-enabled internal-monitor-disable; then
omarchy-hyprland-monitor-internal-enable
else
omarchy-hyprland-monitor-internal-disable
INTERNAL=$(hyprctl monitors all -j | jq -r '.[] | select(.name | startswith("eDP")) | .name')
if [[ -z $INTERNAL ]]; then
notify-send -u low "󰍹 No internal display found"
exit 1
fi
DISABLED=$(hyprctl monitors all -j | jq -r --arg m "$INTERNAL" '.[] | select(.name == $m) | .disabled')
if [[ $DISABLED == "true" ]]; then
hyprctl keyword monitor "$INTERNAL,preferred,auto,auto"
hyprctl dispatch movecursor 0 0
notify-send -u low "󰍹 Internal display on"
else
ACTIVE_COUNT=$(hyprctl monitors -j | jq 'length')
if [[ $ACTIVE_COUNT -le 1 ]]; then
notify-send -u low "󰍹 Can't disable the only active display"
exit 1
fi
hyprctl keyword monitor "$INTERNAL,disable"
notify-send -u low "󰍹 Internal display off"
fi
-14
View File
@@ -1,14 +0,0 @@
#!/bin/bash
# Listen on Hyprland's event socket and recover the internal display whenever
# a monitor is removed.
SOCKET="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
socat -U - "UNIX-CONNECT:$SOCKET" | while read -r event; do
case "$event" in
monitorremoved\>\>*|monitorremovedv2\>\>*)
omarchy-hyprland-monitor-internal-recover
;;
esac
done
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
# Returns true when there are multiple monitors connected (so we can disable the internal one)
(( $(hyprctl monitors -j 2>/dev/null | jq length) > 1 ))
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
# Returns true when no monitors are connected
(( $(hyprctl monitors -j 2>/dev/null | jq length) == 0 ))
-31
View File
@@ -1,31 +0,0 @@
#!/bin/bash
# Toggle permanent Hyprland flags by copying them into a directory that's sourced entirely.
ENABLED_NOTIFICATION=""
DISABLED_NOTIFICATION=""
while [[ $# -gt 1 ]]; do
case $1 in
--enabled-notification) ENABLED_NOTIFICATION="$2"; shift 2 ;;
--disabled-notification) DISABLED_NOTIFICATION="$2"; shift 2 ;;
*) break ;;
esac
done
FLAG_NAME="$1"
FLAG="$HOME/.local/state/omarchy/toggles/hypr/$FLAG_NAME.conf"
FLAG_SOURCE="$OMARCHY_PATH/default/hypr/toggles/$FLAG_NAME.conf"
if [[ -f $FLAG ]]; then
rm $FLAG
[[ -n $DISABLED_NOTIFICATION ]] && notify-send -u low "$DISABLED_NOTIFICATION"
elif [[ -f $FLAG_SOURCE ]]; then
cp $FLAG_SOURCE $FLAG
[[ -n $ENABLED_NOTIFICATION ]] && notify-send -u low "$ENABLED_NOTIFICATION"
else
echo "Flag not found: $FLAG_NAME"
exit 1
fi
hyprctl reload
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
# Check if a Hyprland toggle is currently disabled (missing).
[[ ! -f "$HOME/.local/state/omarchy/toggles/hypr/$1.conf" ]]
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
# Check if a Hyprland toggle is currently enabled.
[[ -f "$HOME/.local/state/omarchy/toggles/hypr/$1.conf" ]]
+12 -2
View File
@@ -1,5 +1,15 @@
#!/bin/bash
# Toggles the window gaps globally between no gaps and the default.
# Toggles the window gaps globally between no gaps and the default 10/5/2.
omarchy-hyprland-toggle window-no-gaps
gaps=$(hyprctl getoption general:gaps_out -j | jq -r '.custom' | awk '{print $1}')
if [[ $gaps == "0" ]]; then
hyprctl keyword general:gaps_out 10
hyprctl keyword general:gaps_in 5
hyprctl keyword general:border_size 2
else
hyprctl keyword general:gaps_out 0
hyprctl keyword general:gaps_in 0
hyprctl keyword general:border_size 0
fi
@@ -1,8 +1,13 @@
#!/bin/bash
# Toggle single-window square aspect ratio.
# Check current single_window_aspect_ratio setting
CURRENT_VALUE=$(hyprctl getoption "layout:single_window_aspect_ratio" 2>/dev/null | head -1)
omarchy-hyprland-toggle \
--enabled-notification " Enable single-window square aspect ratio" \
--disabled-notification " Disable single-window square aspect ratio" \
single-window-aspect-ratio
# Parse vec2 output: "vec2: [1, 1]" or "vec2: [0, 0]"
if [[ $CURRENT_VALUE == *"[1, 1]"* ]]; then
hyprctl keyword layout:single_window_aspect_ratio "0 0"
notify-send -u low " Disable single-window square aspect ratio"
else
hyprctl keyword layout:single_window_aspect_ratio "1 1"
notify-send -u low " Enable single-window square aspect"
fi
+1 -1
View File
@@ -11,7 +11,7 @@ fi
pgrep -f org.omarchy.screensaver && exit 0
# Allow screensaver to be turned off but also force started
if omarchy-toggle-enabled screensaver-off && [[ $1 != "force" ]]; then
if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then
exit 1
fi
+3 -4
View File
@@ -277,7 +277,7 @@ show_setup_config_menu() {
show_setup_system_menu() {
local options=""
if omarchy-toggle-enabled suspend-off; then
if [[ -f ~/.local/state/omarchy/toggles/suspend-off ]]; then
options="$options󰒲 Enable Suspend"
else
options="$options󰒲 Disable Suspend"
@@ -529,10 +529,9 @@ show_update_channel_menu() {
esac
}
show_update_process_menu() {
case $(menu "Restart" " Hypridle\n Hyprsunset\n󰎟 Mako\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
*Hypridle*) omarchy-restart-hypridle ;;
*Hyprsunset*) omarchy-restart-hyprsunset ;;
*Mako*) omarchy-restart-mako ;;
*Swayosd*) omarchy-restart-swayosd ;;
*Walker*) omarchy-restart-walker ;;
*Waybar*) omarchy-restart-waybar ;;
@@ -579,7 +578,7 @@ show_about() {
show_system_menu() {
local options="󱄄 Screensaver\n Lock"
! omarchy-toggle-enabled suspend-off && options="$options\n󰒲 Suspend"
[[ ! -f ~/.local/state/omarchy/toggles/suspend-off ]] && options="$options\n󰒲 Suspend"
omarchy-hibernation-available && options="$options\n󰤁 Hibernate"
options="$options\n󰍃 Logout\n󰜉 Restart\n󰐥 Shutdown"
+6 -5
View File
@@ -7,8 +7,9 @@ VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
set_theme() {
local editor_cmd="$1"
local settings_path="$2"
local skip_flag="$3"
omarchy-cmd-present "$editor_cmd" || return 0
omarchy-cmd-present "$editor_cmd" && [[ ! -f $skip_flag ]] || return 0
if [[ -f $VS_CODE_THEME ]]; then
theme_name=$(jq -r '.name' "$VS_CODE_THEME")
@@ -33,7 +34,7 @@ set_theme() {
fi
}
! omarchy-toggle-enabled skip-vscode-theme-changes && set_theme "code" "$HOME/.config/Code/User/settings.json"
! omarchy-toggle-enabled skip-vscode-insiders-theme-changes && set_theme "code-insiders" "$HOME/.config/Code - Insiders/User/settings.json"
! omarchy-toggle-enabled skip-codium-theme-changes && set_theme "codium" "$HOME/.config/VSCodium/User/settings.json"
! omarchy-toggle-enabled skip-cursor-theme-changes && set_theme "cursor" "$HOME/.config/Cursor/User/settings.json"
set_theme "code" "$HOME/.config/Code/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes"
set_theme "code-insiders" "$HOME/.config/Code - Insiders/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-vscode-insiders-theme-changes"
set_theme "codium" "$HOME/.config/VSCodium/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-codium-theme-changes"
set_theme "cursor" "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes"
-26
View File
@@ -1,26 +0,0 @@
#!/bin/bash
# Toggle Omarchy features between enabled and disabled
ENABLED_NOTIFICATION=""
DISABLED_NOTIFICATION=""
while [[ $# -gt 1 ]]; do
case $1 in
--enabled-notification) ENABLED_NOTIFICATION="$2"; shift 2 ;;
--disabled-notification) DISABLED_NOTIFICATION="$2"; shift 2 ;;
*) break ;;
esac
done
FLAG_NAME="$1"
FLAG="$HOME/.local/state/omarchy/toggles/$FLAG_NAME"
if [[ -f $FLAG ]]; then
rm $FLAG
[[ -n $DISABLED_NOTIFICATION ]] && notify-send -u low "$DISABLED_NOTIFICATION"
else
mkdir -p "$(dirname $FLAG)"
touch $FLAG
[[ -n $ENABLED_NOTIFICATION ]] && notify-send -u low "$ENABLED_NOTIFICATION"
fi
-4
View File
@@ -1,4 +0,0 @@
#!/bin/bash
# Check if a toggle is enabled (flag file exists)
[[ -f "$HOME/.local/state/omarchy/toggles/$1" ]]
+10 -4
View File
@@ -1,6 +1,12 @@
#!/bin/bash
omarchy-toggle \
--enabled-notification "󱄄 Screensaver disabled" \
--disabled-notification "󱄄 Screensaver enabled" \
screensaver-off
STATE_FILE=~/.local/state/omarchy/toggles/screensaver-off
if [[ -f $STATE_FILE ]]; then
rm -f $STATE_FILE
notify-send -u low "󱄄 Screensaver enabled"
else
mkdir -p "$(dirname $STATE_FILE)"
touch $STATE_FILE
notify-send -u low "󱄄 Screensaver disabled"
fi
+10 -4
View File
@@ -1,6 +1,12 @@
#!/bin/bash
omarchy-toggle \
--enabled-notification "󰒲 Suspend removed from system menu" \
--disabled-notification "󰒲 Suspend now available in system menu" \
suspend-off
STATE_FILE=~/.local/state/omarchy/toggles/suspend-off
if [[ -f $STATE_FILE ]]; then
rm -f $STATE_FILE
notify-send -u low "󰒲 Suspend now available in system menu"
else
mkdir -p "$(dirname $STATE_FILE)"
touch $STATE_FILE
notify-send -u low "󰒲 Suspend removed from system menu"
fi
-2
View File
@@ -1,7 +1,5 @@
#!/bin/bash
omarchy-toggle waybar-off
if pgrep -x waybar >/dev/null; then
pkill -x waybar
else
+1 -1
View File
@@ -8,7 +8,7 @@
--light-header-color: #dbdbdb; /* H1-H3 */
--select-text-bg-color: #186a9a;
--accent-color: #4f525a;
--background-color: #000000;
--background-color: #101010;
--font-color: #bbbcbc;
--header-color: #bebebe; /* H4-H6 */
--border-color: #232629;
-3
View File
@@ -19,8 +19,5 @@ source = ~/.config/hypr/bindings.conf
source = ~/.config/hypr/looknfeel.conf
source = ~/.config/hypr/autostart.conf
# Toggle config flags dynamically
source = ~/.local/state/omarchy/toggles/hypr/*.conf
# Add any other personal Hyprland configuration below
# windowrule = workspace 5, match:class qemu
+1 -4
View File
@@ -4,7 +4,7 @@
# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K.
env = GDK_SCALE,2
monitor=,preferred,auto,auto
monitor=,preferred,auto,auto,vrr,1
# Good compromise for 27" or 32" 4K monitors (but fractional!)
# env = GDK_SCALE,1.75
@@ -21,6 +21,3 @@ monitor=,preferred,auto,auto
# Example for Framework 13 w/ 6K XDR Apple display
# monitor = DP-5, 6016x3384@60, auto, 2
# monitor = eDP-1, 2880x1920@120, auto, 2
# Disable the second ghost monitor on an Apple 6K XDR over Thunderbolt
# monitor=DP-2,disable
+1 -3
View File
@@ -1,14 +1,12 @@
exec-once = uwsm-app -- hypridle
exec-once = uwsm-app -- mako
exec-once = ! omarchy-toggle-enabled waybar-off && uwsm-app -- waybar
exec-once = uwsm-app -- waybar
exec-once = uwsm-app -- fcitx5 --disable notificationitem
exec-once = uwsm-app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm-app -- swayosd-server
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = omarchy-cmd-first-run
exec-once = omarchy-powerprofiles-init
exec-once = omarchy-hyprland-monitor-internal-recover
exec-once = uwsm-app -- omarchy-hyprland-monitor-watch
# Slow app launch fix -- set systemd vars
exec-once = systemctl --user import-environment $(env | cut -d'=' -f 1)
-2
View File
@@ -29,8 +29,6 @@ bindd = SUPER SHIFT ALT, COMMA, Restore last notification, exec, makoctl restore
bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle
bindd = SUPER CTRL, N, Toggle nightlight, exec, omarchy-toggle-nightlight
bindd = SUPER CTRL, Delete, Toggle laptop display, exec, omarchy-hyprland-monitor-internal-toggle
bindl = , switch:on:Lid Switch, exec, omarchy-hyprland-monitor-internal-disable
bindl = , switch:off:Lid Switch, exec, omarchy-hyprland-monitor-internal-enable
# Control Apple Display brightness
bindd = CTRL, F1, Apple Display brightness down, exec, omarchy-brightness-display-apple -5000
+2 -2
View File
@@ -91,7 +91,7 @@ animations {
animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 3.79, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1.49, linear, popin 87%
animation = fadeIn, 1, 1.73, almostLinear
@@ -103,7 +103,7 @@ animations {
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 0, 0, ease
animation = specialWorkspace, 1, 3, easeOutQuint, slidevert
animation = specialWorkspace, 1, 4, easeOutQuint, slidevert
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
-2
View File
@@ -1,2 +0,0 @@
# This directory is intended for permanent config toggle flags.
# Do not remove this file (as the directory always needs at least one file).
@@ -1,2 +0,0 @@
# Disable the internal laptop monitor
monitor=eDP-1,disable
@@ -1,5 +0,0 @@
# Avoid overly wide single-window layouts on wide screens
layout {
single_window_aspect_ratio = 1 1
}
-6
View File
@@ -1,6 +0,0 @@
# Remove all window gaps and borders
general {
gaps_out = 0
gaps_in = 0
border_size = 0
}
+16
View File
@@ -0,0 +1,16 @@
#!/bin/bash
# Temporarily switch to performance power profile on resume
# to avoid sluggishness while the system catches up, then
# restore the previous profile after 10 seconds.
if [[ $1 == "pre" ]]; then
mkdir -p /run/omarchy
powerprofilesctl get > /run/omarchy/power-profile-before-sleep
fi
if [[ $1 == "post" ]]; then
previous=$(cat /run/omarchy/power-profile-before-sleep 2>/dev/null || echo "balanced")
powerprofilesctl set performance
systemd-run --on-active=10 --timer-property=AccuracySec=1 powerprofilesctl set "$previous"
fi
-3
View File
@@ -25,9 +25,6 @@ sample_rate = 16000
# Maximum recording duration in seconds (safety limit)
max_duration_secs = 60
# Pause MPRIS media players during recording
pause_media = true
# [audio.feedback]
# Enable audio feedback sounds (beeps when recording starts/stops)
# enabled = true
+2 -1
View File
@@ -22,7 +22,6 @@ run_logged $OMARCHY_INSTALL/config/unmount-fuse.sh
run_logged $OMARCHY_INSTALL/config/sudoless-asdcontrol.sh
run_logged $OMARCHY_INSTALL/config/input-group.sh
run_logged $OMARCHY_INSTALL/config/omarchy-ai-skill.sh
run_logged $OMARCHY_INSTALL/config/omarchy-toggles.sh
run_logged $OMARCHY_INSTALL/config/kernel-modules-hook.sh
run_logged $OMARCHY_INSTALL/config/powerprofilesctl-rules.sh
run_logged $OMARCHY_INSTALL/config/wifi-powersave-rules.sh
@@ -44,8 +43,10 @@ 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/fix-wifi7-eht.sh
run_logged $OMARCHY_INSTALL/config/hardware/intel/resume-boost.sh
run_logged $OMARCHY_INSTALL/config/hardware/dell/fix-xps-haptic-touchpad.sh
run_logged $OMARCHY_INSTALL/config/hardware/dell/fix-xps-ptl-display.sh
run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-audio-mixer.sh
run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-mic.sh
@@ -0,0 +1,20 @@
# Fix display issues on Dell XPS Panther Lake (Xe3) systems.
# Xe PSR causes freezes and display glitches on both OLED and IPS panels.
# LG OLED panels also need Panel Replay disabled.
if omarchy-hw-match "XPS" && omarchy-hw-intel-ptl; then
echo "Detected Dell XPS on Panther Lake, applying display power-saving fixes..."
if omarchy-hw-dell-xps-oled; then
CMDLINE='KERNEL_CMDLINE[default]+=" xe.enable_psr=0 xe.enable_panel_replay=0"'
COMMENT='Disable Xe PSR and Panel Replay on Dell XPS Panther Lake OLED systems'
else
CMDLINE='KERNEL_CMDLINE[default]+=" xe.enable_psr=0"'
COMMENT='Disable Xe PSR on Dell XPS Panther Lake systems'
fi
sudo mkdir -p /etc/limine-entry-tool.d
cat <<EOF | sudo tee /etc/limine-entry-tool.d/dell-xps-ptl-display.conf >/dev/null
# $COMMENT
$CMDLINE
EOF
fi
@@ -0,0 +1,8 @@
# Boost CPU performance for 10 seconds after resume on Intel systems.
# The powersave governor with balance_power EPP is slow to ramp frequency
# after long suspends, causing noticeable sluggishness on wake.
if omarchy-hw-intel; then
sudo mkdir -p /usr/lib/systemd/system-sleep
sudo install -m 0755 -o root -g root "$OMARCHY_PATH/default/systemd/system-sleep/resume-boost" /usr/lib/systemd/system-sleep/
fi
@@ -1,9 +1,9 @@
# This installs hardware video acceleration for Intel GPUs
if INTEL_GPU=$(lspci | grep -iE 'vga|3d|display' | grep -i 'intel'); then
# HD Graphics / Iris / Xe / Arc use intel-media-driver + VPL
# HD Graphics / Iris / Xe / Arc use intel-media-driver
if [[ ${INTEL_GPU,,} =~ (hd\ graphics|uhd\ graphics|xe|iris|arc) ]]; then
omarchy-pkg-add intel-media-driver libvpl vpl-gpu-rt
omarchy-pkg-add intel-media-driver
elif [[ ${INTEL_GPU,,} =~ "gma" ]]; then
# Older generations from 2008 to ~2014-2017 use libva-intel-driver
omarchy-pkg-add libva-intel-driver
-3
View File
@@ -1,3 +0,0 @@
# Toggles are used to turn certain features on/off in a persistent way
mkdir -p ~/.local/state/omarchy/toggles/hypr
cp $OMARCHY_PATH/default/hypr/toggles/flags.conf ~/.local/state/omarchy/toggles/hypr/
-1
View File
@@ -112,7 +112,6 @@ sddm
signal-desktop
slurp
spotify
socat
starship
sushi
swaybg
-4
View File
@@ -55,10 +55,6 @@ tuxedo-drivers-nocompatcheck-dkms
yt6801-dkms
zram-generator
# Intel encoding processing
libvpl
vpl-gpu-rt
# Vulkan drivers (auto-detected by hardware)
vulkan-intel
vulkan-radeon
+8
View File
@@ -0,0 +1,8 @@
echo "Ensure xe.enable_psr=0 is set in CMDLINE for XPS Panther Lake systems"
if omarchy-hw-match "XPS" && omarchy-hw-intel-ptl && [[ -f /etc/default/limine ]]; then
if ! grep -Fq 'xe.enable_psr=0' /etc/default/limine; then
echo 'KERNEL_CMDLINE[default]+=" xe.enable_psr=0"' | sudo tee -a /etc/default/limine >/dev/null
sudo limine-mkinitcpio
fi
fi
-9
View File
@@ -1,9 +0,0 @@
echo "Add flags sourcing to hyprland.conf"
HYPR_CONF=~/.config/hypr/hyprland.conf
source $OMARCHY_PATH/install/config/omarchy-toggles.sh
if [[ -f $HYPR_CONF ]] && ! grep -q "toggles/hypr/\*\.conf" "$HYPR_CONF"; then
echo -e "\n# Toggle config flags dynamically\nsource = ~/.local/state/omarchy/toggles/hypr/*.conf" >> "$HYPR_CONF"
fi
-4
View File
@@ -1,4 +0,0 @@
echo "Install socat so we can reactivate internal display when external display is removed"
omarchy-pkg-add socat
uwsm-app -- omarchy-hyprland-monitor-watch &
-3
View File
@@ -1,3 +0,0 @@
echo "Install missing Intel VPL drivers (libvpl, vpl-gpu-rt) on systems with Intel GPUs"
bash "$OMARCHY_PATH/install/config/hardware/intel/video-acceleration.sh"
-14
View File
@@ -1,14 +0,0 @@
echo "Enable pause_media in voxtype config"
VOXTYPE_CONF=~/.config/voxtype/config.toml
if [[ -f $VOXTYPE_CONF ]] && ! grep -q 'pause_media' "$VOXTYPE_CONF"; then
if grep -q '^\[audio\]' "$VOXTYPE_CONF"; then
sed -i '/^\[audio\]/a\
\
# Pause MPRIS media players during recording\
pause_media = true' "$VOXTYPE_CONF"
else
printf '\n[audio]\n# Pause MPRIS media players during recording\npause_media = true\n' >> "$VOXTYPE_CONF"
fi
fi
-19
View File
@@ -1,19 +0,0 @@
echo "Dell XPS Panther Lake display kernel cmdline is no longer necessary"
DROP_IN="/etc/limine-entry-tool.d/dell-xps-ptl-display.conf"
DEFAULT_LIMINE="/etc/default/limine"
NEEDS_UPDATE=0
if [[ -f $DROP_IN ]]; then
sudo rm -f "$DROP_IN"
NEEDS_UPDATE=1
fi
if [[ -f $DEFAULT_LIMINE ]] && grep -q 'xe\.enable_psr' "$DEFAULT_LIMINE"; then
sudo sed -i -E '/^KERNEL_CMDLINE.*xe\.enable_psr/d; /^# .*(Dell XPS|Xe PSR|Panel Replay)/d' "$DEFAULT_LIMINE"
NEEDS_UPDATE=1
fi
if (( NEEDS_UPDATE )); then
sudo limine-update
fi
-7
View File
@@ -1,7 +0,0 @@
echo "Drop vrr,1 from default monitor line as it creates a small lag"
MONITORS_CONF=~/.config/hypr/monitors.conf
if [[ -f $MONITORS_CONF ]]; then
sed -i 's/^monitor=,preferred,auto,auto,vrr,1$/monitor=,preferred,auto,auto/' "$MONITORS_CONF"
fi
-5
View File
@@ -1,5 +0,0 @@
echo "Remove resume boost feature"
if [[ -f /usr/lib/systemd/system-sleep/resume-boost ]]; then
sudo rm /usr/lib/systemd/system-sleep/resume-boost
fi