From 49f33169c1b0e7c7182d31e0434d6e70b2d7405e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 22 Nov 2025 10:37:49 +0100 Subject: [PATCH 01/22] Add mirror + pkgs channel to About menu --- bin/omarchy-version-mirror | 9 +++++++++ bin/omarchy-version-pkgs | 9 +++++++++ config/fastfetch/config.jsonc | 12 ++++++++++++ migrations/1763753641.sh | 3 +++ 4 files changed, 33 insertions(+) create mode 100755 bin/omarchy-version-mirror create mode 100755 bin/omarchy-version-pkgs create mode 100644 migrations/1763753641.sh diff --git a/bin/omarchy-version-mirror b/bin/omarchy-version-mirror new file mode 100755 index 00000000..88d6e697 --- /dev/null +++ b/bin/omarchy-version-mirror @@ -0,0 +1,9 @@ +#!/bin/bash + +if grep -q "https://stable-mirror.omarchy.org/" /etc/pacman.d/mirrorlist; then + echo "stable" +elif grep -q "https://mirror.omarchy.org/" /etc/pacman.d/mirrorlist; then + echo "edge" +else + echo "unknown" +fi diff --git a/bin/omarchy-version-pkgs b/bin/omarchy-version-pkgs new file mode 100755 index 00000000..4c384107 --- /dev/null +++ b/bin/omarchy-version-pkgs @@ -0,0 +1,9 @@ +#!/bin/bash + +if grep -q "https://pkgs.omarchy.org/stable/" /etc/pacman.conf; then + echo "stable" +elif grep -q "https://pkgs.omarchy.org/edge/" /etc/pacman.conf; then + echo "edge" +else + echo "unknown" +fi diff --git a/config/fastfetch/config.jsonc b/config/fastfetch/config.jsonc index 31542724..607210c0 100644 --- a/config/fastfetch/config.jsonc +++ b/config/fastfetch/config.jsonc @@ -74,6 +74,18 @@ "keyColor": "blue", "text": "branch=$(omarchy-version-branch); echo \"$branch\"" }, + { + "type": "command", + "key": "│ ├󱞠", + "keyColor": "blue", + "text": "mirror=$(omarchy-version-mirror); echo \"$mirror\"" + }, + { + "type": "command", + "key": "│ ├", + "keyColor": "blue", + "text": "pkgs=$(omarchy-version-pkgs); echo \"$pkgs\"" + }, { "type": "kernel", "key": "│ ├", diff --git a/migrations/1763753641.sh b/migrations/1763753641.sh new file mode 100644 index 00000000..40d83994 --- /dev/null +++ b/migrations/1763753641.sh @@ -0,0 +1,3 @@ +echo "Include pacman mirror and OPR upstreams (edge vs stable) in About" + +omarchy-refresh-fastfetch From f6cd5e076dd96c28418cac2d97e354a59aee67b4 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 22 Nov 2025 10:41:30 +0100 Subject: [PATCH 02/22] Simplify switching between edge and stable channels --- bin/omarchy-refresh-pacman | 14 +++++++++++++- bin/omarchy-refresh-pacman-mirrorlist | 7 ------- bin/omarchy-refresh-pacman-opr-server | 7 ------- migrations/1756411333.sh | 2 +- migrations/1762770815.sh | 3 +-- 5 files changed, 15 insertions(+), 18 deletions(-) delete mode 100755 bin/omarchy-refresh-pacman-mirrorlist delete mode 100755 bin/omarchy-refresh-pacman-opr-server diff --git a/bin/omarchy-refresh-pacman b/bin/omarchy-refresh-pacman index f24f9398..1d20cae3 100755 --- a/bin/omarchy-refresh-pacman +++ b/bin/omarchy-refresh-pacman @@ -1,4 +1,16 @@ #!/bin/bash sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf -omarchy-refresh-pacman-mirrorlist + +if [[ $1 == "edge" ]]; then + sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-edge /etc/pacman.d/mirrorlist + sudo sed -i 's|https://pkgs.omarchy.org/.*$arch|https://pkgs.omarchy.org/edge/$arch|' /etc/pacman.conf + echo "Setting mirror and pkgs channel to edge" +else + sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist + sudo sed -i 's|https://pkgs.omarchy.org/.*$arch|https://pkgs.omarchy.org/stable/$arch|' /etc/pacman.conf + echo "Setting mirror and pkgs channel to stable" +fi + +echo +sudo pacman -Syu --noconfirm diff --git a/bin/omarchy-refresh-pacman-mirrorlist b/bin/omarchy-refresh-pacman-mirrorlist deleted file mode 100755 index abaf9b1e..00000000 --- a/bin/omarchy-refresh-pacman-mirrorlist +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -if [[ $1 == "edge" ]]; then - sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-edge /etc/pacman.d/mirrorlist -else - sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist -fi diff --git a/bin/omarchy-refresh-pacman-opr-server b/bin/omarchy-refresh-pacman-opr-server deleted file mode 100755 index 601e6b92..00000000 --- a/bin/omarchy-refresh-pacman-opr-server +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -if [[ $1 == "edge" ]]; then - sudo sed -i 's|https://pkgs.omarchy.org/.*$arch|https://pkgs.omarchy.org/edge/$arch|' /etc/pacman.conf -else - sudo sed -i 's|https://pkgs.omarchy.org/.*$arch|https://pkgs.omarchy.org/stable/$arch|' /etc/pacman.conf -fi diff --git a/migrations/1756411333.sh b/migrations/1756411333.sh index c44e9ce1..5312a6f5 100644 --- a/migrations/1756411333.sh +++ b/migrations/1756411333.sh @@ -1,3 +1,3 @@ echo "Use new Omarchy mirror as default" -omarchy-refresh-pacman-mirrorlist +omarchy-refresh-pacman diff --git a/migrations/1762770815.sh b/migrations/1762770815.sh index 9c16f7b0..36e6a4b4 100644 --- a/migrations/1762770815.sh +++ b/migrations/1762770815.sh @@ -1,4 +1,3 @@ echo "Pull packages from stable Arch mirror" -omarchy-refresh-pacman-mirrorlist stable -sudo pacman -Syu +omarchy-refresh-pacman From 88a1141301846d181914e5eef5b6ed2cec2fab4e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 22 Nov 2025 10:50:23 +0100 Subject: [PATCH 03/22] Simplify mirror/pkgs to just channel --- bin/omarchy-refresh-pacman | 4 ++-- bin/omarchy-version-channel | 23 +++++++++++++++++++++++ bin/omarchy-version-mirror | 9 --------- bin/omarchy-version-pkgs | 9 --------- config/fastfetch/config.jsonc | 10 ++-------- 5 files changed, 27 insertions(+), 28 deletions(-) create mode 100755 bin/omarchy-version-channel delete mode 100755 bin/omarchy-version-mirror delete mode 100755 bin/omarchy-version-pkgs diff --git a/bin/omarchy-refresh-pacman b/bin/omarchy-refresh-pacman index 1d20cae3..c968a36a 100755 --- a/bin/omarchy-refresh-pacman +++ b/bin/omarchy-refresh-pacman @@ -5,11 +5,11 @@ sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf if [[ $1 == "edge" ]]; then sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-edge /etc/pacman.d/mirrorlist sudo sed -i 's|https://pkgs.omarchy.org/.*$arch|https://pkgs.omarchy.org/edge/$arch|' /etc/pacman.conf - echo "Setting mirror and pkgs channel to edge" + echo "Setting channel to edge" else sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist sudo sed -i 's|https://pkgs.omarchy.org/.*$arch|https://pkgs.omarchy.org/stable/$arch|' /etc/pacman.conf - echo "Setting mirror and pkgs channel to stable" + echo "Setting channel to stable" fi echo diff --git a/bin/omarchy-version-channel b/bin/omarchy-version-channel new file mode 100755 index 00000000..8affb87e --- /dev/null +++ b/bin/omarchy-version-channel @@ -0,0 +1,23 @@ +#!/bin/bash + +if grep -q "https://stable-mirror.omarchy.org/" /etc/pacman.d/mirrorlist; then + mirror="stable" +elif grep -q "https://mirror.omarchy.org/" /etc/pacman.d/mirrorlist; then + mirror="edge" +else + mirror="unknown" +fi + +if grep -q "https://pkgs.omarchy.org/stable/" /etc/pacman.conf; then + pkgs="stable" +elif grep -q "https://pkgs.omarchy.org/edge/" /etc/pacman.conf; then + pkgs="edge" +else + pkgs="unknown" +fi + +if [[ $mirror == $pkgs ]]; then + echo $mirror +else + echo "$mirror / $pkgs" +fi diff --git a/bin/omarchy-version-mirror b/bin/omarchy-version-mirror deleted file mode 100755 index 88d6e697..00000000 --- a/bin/omarchy-version-mirror +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -if grep -q "https://stable-mirror.omarchy.org/" /etc/pacman.d/mirrorlist; then - echo "stable" -elif grep -q "https://mirror.omarchy.org/" /etc/pacman.d/mirrorlist; then - echo "edge" -else - echo "unknown" -fi diff --git a/bin/omarchy-version-pkgs b/bin/omarchy-version-pkgs deleted file mode 100755 index 4c384107..00000000 --- a/bin/omarchy-version-pkgs +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -if grep -q "https://pkgs.omarchy.org/stable/" /etc/pacman.conf; then - echo "stable" -elif grep -q "https://pkgs.omarchy.org/edge/" /etc/pacman.conf; then - echo "edge" -else - echo "unknown" -fi diff --git a/config/fastfetch/config.jsonc b/config/fastfetch/config.jsonc index 607210c0..58371fa7 100644 --- a/config/fastfetch/config.jsonc +++ b/config/fastfetch/config.jsonc @@ -76,15 +76,9 @@ }, { "type": "command", - "key": "│ ├󱞠", + "key": "│ ├󰔫", "keyColor": "blue", - "text": "mirror=$(omarchy-version-mirror); echo \"$mirror\"" - }, - { - "type": "command", - "key": "│ ├", - "keyColor": "blue", - "text": "pkgs=$(omarchy-version-pkgs); echo \"$pkgs\"" + "text": "channel=$(omarchy-version-channel); echo \"$channel\"" }, { "type": "kernel", From e864c2da4368c8d9d221bb89b2f09beadf30624c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 22 Nov 2025 10:54:40 +0100 Subject: [PATCH 04/22] Add marker for when packages were last updated --- bin/omarchy-version-pkgs | 3 +++ config/fastfetch/config.jsonc | 6 ++++++ 2 files changed, 9 insertions(+) create mode 100755 bin/omarchy-version-pkgs diff --git a/bin/omarchy-version-pkgs b/bin/omarchy-version-pkgs new file mode 100755 index 00000000..bc638110 --- /dev/null +++ b/bin/omarchy-version-pkgs @@ -0,0 +1,3 @@ +#!/bin/bash + +date -d "$(grep upgraded /var/log/pacman.log | tail -1 | sed -E 's/\[([^]]+)\].*/\1/')" "+%A, %B %d %Y at %H:%M" diff --git a/config/fastfetch/config.jsonc b/config/fastfetch/config.jsonc index 58371fa7..6bc7f4c1 100644 --- a/config/fastfetch/config.jsonc +++ b/config/fastfetch/config.jsonc @@ -141,6 +141,12 @@ "key": "󱫐 Uptime", "keyColor": "magenta" }, + { + "type": "command", + "key": " Latest", + "keyColor": "magenta", + "text": "updated=$(omarchy-version-pkgs); echo \"$updated\"" + }, { "type": "custom", "format": "\u001b[90m└────────────────────────────────────────────────────┘" From aadb4fae0863d59db2016ddac306f52cbf9e206a Mon Sep 17 00:00:00 2001 From: Felix Sanchez Date: Sat, 22 Nov 2025 03:59:37 -0600 Subject: [PATCH 05/22] fix: tte screensaver fullscreen (#3499) to go tte full screen on 0.13, the option --reuse-canvas is needed --- bin/omarchy-cmd-screensaver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index 33337851..9ba2ff94 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -19,7 +19,7 @@ hyprctl keyword cursor:invisible true &>/dev/null while true; do tte -i ~/.config/omarchy/branding/screensaver.txt \ - --frame-rate 120 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c\ + --frame-rate 120 --canvas-width 0 --canvas-height 0 --reuse-canvas --anchor-canvas c --anchor-text c\ --no-eol --no-restore-cursor random_effect & while pgrep -x tte >/dev/null; do From c86614039e3184c300cb8cfce5ba139a83eb1656 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 22 Nov 2025 11:05:45 +0100 Subject: [PATCH 06/22] Take backups of existing pacman.conf + mirrorlist before refreshing Closes #3479 --- bin/omarchy-refresh-pacman | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bin/omarchy-refresh-pacman b/bin/omarchy-refresh-pacman index c968a36a..36d9678f 100755 --- a/bin/omarchy-refresh-pacman +++ b/bin/omarchy-refresh-pacman @@ -1,5 +1,9 @@ #!/bin/bash +# Take backup of existing files +sudo cp -f /etc/pacman.conf /etc/pacman.conf.bak +sudo cp -f /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak + sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf if [[ $1 == "edge" ]]; then From e3b8016e26e1d5138e28b45adde67f91b311c6a0 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 22 Nov 2025 11:39:36 +0100 Subject: [PATCH 07/22] Bump for beta version --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 944880fa..8c68cc60 100644 --- a/version +++ b/version @@ -1 +1 @@ -3.2.0 +3.2.1-beta From 602d60d3d9a3cd01004ca08dedea2c5df0cecf5c Mon Sep 17 00:00:00 2001 From: Felix Sanchez Date: Sat, 22 Nov 2025 07:44:03 -0600 Subject: [PATCH 08/22] feat: fullscreen for ghostty/kitty screensaver (#3510) * feat: fullscreen for ghostty/kitty screensaver * feat: add ghostty screensaver config * Remove the extra two bottom lines as well --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-cmd-screensaver | 2 +- bin/omarchy-launch-screensaver | 2 ++ default/ghostty/screensaver | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 default/ghostty/screensaver diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index 9ba2ff94..532963c3 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -23,7 +23,7 @@ while true; do --no-eol --no-restore-cursor random_effect & while pgrep -x tte >/dev/null; do - if read -n 1 -t 3 || ! screensaver_in_focus; then + if read -n 1 -t 1 || ! screensaver_in_focus; then exit_screensaver fi done diff --git a/bin/omarchy-launch-screensaver b/bin/omarchy-launch-screensaver index 932ee470..6fa5b2c4 100755 --- a/bin/omarchy-launch-screensaver +++ b/bin/omarchy-launch-screensaver @@ -29,6 +29,7 @@ for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do *ghostty*) hyprctl dispatch exec -- \ ghostty --class=org.omarchy.screensaver \ + --config-file=~/.local/share/omarchy/default/ghostty/screensaver \ --font-size=18 \ -e omarchy-cmd-screensaver ;; @@ -36,6 +37,7 @@ for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do hyprctl dispatch exec -- \ kitty --class=org.omarchy.screensaver \ --override font_size=18 \ + --override window_padding_width=0 \ -e omarchy-cmd-screensaver ;; *) diff --git a/default/ghostty/screensaver b/default/ghostty/screensaver new file mode 100644 index 00000000..dc359062 --- /dev/null +++ b/default/ghostty/screensaver @@ -0,0 +1,3 @@ +window-padding-x = 0 +window-padding-y = 0 +window-padding-color = "extend-always" From 0d7fbbce02e34a92b9efee6814f6a6a9c2d42a6b Mon Sep 17 00:00:00 2001 From: Gerrit Dolderer <153431701+neurapy@users.noreply.github.com> Date: Sun, 23 Nov 2025 11:32:18 +0100 Subject: [PATCH 09/22] Because TUI Apps are now saved with Exec=xdg-terminal-exec and not (#3552) Exec=$TERMINAL the omarchy-tui-remove wont find newly created TUI-Apps. This fixes it and ensures backwards compability. Co-authored-by: Gerrit Dolderer --- bin/omarchy-tui-remove | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-tui-remove b/bin/omarchy-tui-remove index 564cffb2..91e6f6bc 100755 --- a/bin/omarchy-tui-remove +++ b/bin/omarchy-tui-remove @@ -6,7 +6,7 @@ DESKTOP_DIR="$HOME/.local/share/applications/" if [ "$#" -eq 0 ]; then # Find all TUIs while IFS= read -r -d '' file; do - if grep -q '^Exec=.*$TERMINAL.*-e' "$file"; then + if grep -qE '^Exec=.*(\$TERMINAL|xdg-terminal-exec).*-e' "$file"; then TUIS+=("$(basename "${file%.desktop}")") fi done < <(find "$DESKTOP_DIR" -name '*.desktop' -print0) From a6c2576a3cf4733b3cc1998b5cf0730da8689921 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 23 Nov 2025 11:46:33 +0100 Subject: [PATCH 10/22] Start PDF viewing as float as well --- default/hypr/apps/system.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/hypr/apps/system.conf b/default/hypr/apps/system.conf index 713d8beb..ccf2dd27 100644 --- a/default/hypr/apps/system.conf +++ b/default/hypr/apps/system.conf @@ -3,7 +3,7 @@ windowrule = float, tag:floating-window windowrule = center, tag:floating-window windowrule = size 875 600, tag:floating-window -windowrule = tag +floating-window, class:(org.omarchy.bluetui|org.omarchy.impala|org.omarchy.wiremix|org.omarchy.btop|org.omarchy.terminal|org.omarchy.bash|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float|imv|mpv) +windowrule = tag +floating-window, class:(org.omarchy.bluetui|org.omarchy.impala|org.omarchy.wiremix|org.omarchy.btop|org.omarchy.terminal|org.omarchy.bash|org.gnome.NautilusPreviewer|org.gnome.Evince|com.gabm.satty|Omarchy|About|TUI.float|imv|mpv) 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 From 3765417d9aa0a112b271b05f8bc4f3a9feba61bc Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 24 Nov 2025 09:25:28 +0100 Subject: [PATCH 11/22] Wording --- config/fastfetch/config.jsonc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/fastfetch/config.jsonc b/config/fastfetch/config.jsonc index 6bc7f4c1..ddee6f36 100644 --- a/config/fastfetch/config.jsonc +++ b/config/fastfetch/config.jsonc @@ -128,7 +128,7 @@ "break", { "type": "custom", - "format": "\u001b[90m┌────────────────────Uptime / Age────────────────────┐" + "format": "\u001b[90m┌────────────────Age / Uptime / Update───────────────┐" }, { "type": "command", @@ -143,7 +143,7 @@ }, { "type": "command", - "key": " Latest", + "key": " Update", "keyColor": "magenta", "text": "updated=$(omarchy-version-pkgs); echo \"$updated\"" }, From 8f3f89fdfdb2df3341a5a99178f721de671d9738 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 24 Nov 2025 09:30:10 +0100 Subject: [PATCH 12/22] Make sure the user gets a chance to actually pick the graphics options Closes #3585 --- bin/omarchy-install-steam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-install-steam b/bin/omarchy-install-steam index 3d23cf08..a5764bb4 100755 --- a/bin/omarchy-install-steam +++ b/bin/omarchy-install-steam @@ -3,5 +3,5 @@ set -e echo "Now pick dependencies matching your graphics card" -sudo pacman -S --noconfirm steam +sudo pacman -S steam setsid gtk-launch steam >/dev/null 2>&1 & From 14b1ee317f142272ababa1ffcfaf8c9d205e90c0 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 24 Nov 2025 09:48:27 +0100 Subject: [PATCH 13/22] Remove noconfirm from Zed install so user can pick correct vulkan backend Related #1441 --- bin/omarchy-menu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 962a84a8..696ac7dd 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -252,7 +252,7 @@ show_install_editor_menu() { case $(menu "Install" " VSCode\n Cursor\n Zed\n Sublime Text\n Helix\n Emacs") in *VSCode*) present_terminal omarchy-install-vscode ;; *Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;; - *Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;; + *Zed*) present_terminal "echo 'Installing Zed...'; sudo pacman -S zed && setsid gtk-launch dev.zed.Zed" ;; *Sublime*) install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;; *Helix*) install "Helix" "helix" ;; *Emacs*) install "Emacs" "emacs-wayland" && systemctl --user enable --now emacs.service ;; From aa98e9307c7dcf0a6b43a9918e03b7844b8fe79b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 24 Nov 2025 09:53:49 +0100 Subject: [PATCH 14/22] Now included in the omarchy-refresh-pacman script --- migrations/1763561396.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/migrations/1763561396.sh b/migrations/1763561396.sh index 1e428ff1..d69e51e1 100644 --- a/migrations/1763561396.sh +++ b/migrations/1763561396.sh @@ -1,4 +1,3 @@ echo "Switch to stable Omarchy Package Repository builds" omarchy-refresh-pacman -sudo pacman -Syu --noconfirm From 55692e08937a9b1e1c4cb921a92b617b402b1cc3 Mon Sep 17 00:00:00 2001 From: Miras Mustimov Date: Mon, 24 Nov 2025 15:00:25 +0500 Subject: [PATCH 15/22] Exclude long new screensaver effect (#3553) Co-authored-by: David Heinemeier Hansson --- bin/omarchy-cmd-screensaver | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index 532963c3..156b1180 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -18,9 +18,11 @@ printf '\033]11;rgb:00/00/00\007' # Set background color to black hyprctl keyword cursor:invisible true &>/dev/null while true; do + effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | grep -Ev '^(dev_worm)$' | sort -u | shuf -n1) + tte -i ~/.config/omarchy/branding/screensaver.txt \ --frame-rate 120 --canvas-width 0 --canvas-height 0 --reuse-canvas --anchor-canvas c --anchor-text c\ - --no-eol --no-restore-cursor random_effect & + --no-eol --no-restore-cursor $effect & while pgrep -x tte >/dev/null; do if read -n 1 -t 1 || ! screensaver_in_focus; then From 97382274f623ec89cc9aac4556c141abd6179629 Mon Sep 17 00:00:00 2001 From: Lukasz Gut <40406905+Blinkuu@users.noreply.github.com> Date: Mon, 24 Nov 2025 17:05:31 +0100 Subject: [PATCH 16/22] Add copy-url support for Brave browser (#3017) * Add copy-url support for Brave browser * Add required migration * Excess CR --------- Co-authored-by: David Heinemeier Hansson --- config/brave-flags.conf | 1 + migrations/1761897226.sh | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 migrations/1761897226.sh diff --git a/config/brave-flags.conf b/config/brave-flags.conf index 3510e03d..bce00d52 100644 --- a/config/brave-flags.conf +++ b/config/brave-flags.conf @@ -1,5 +1,6 @@ --ozone-platform=wayland --ozone-platform-hint=wayland --enable-features=TouchpadOverscrollHistoryNavigation +--load-extension=~/.local/share/omarchy/default/chromium/extensions/copy-url # Chromium crash workaround for Wayland color management on Hyprland - see https://github.com/hyprwm/Hyprland/issues/11957 --disable-features=WaylandWpColorManagerV1 diff --git a/migrations/1761897226.sh b/migrations/1761897226.sh new file mode 100644 index 00000000..34dbc1fd --- /dev/null +++ b/migrations/1761897226.sh @@ -0,0 +1,3 @@ +echo "Install Copy URL extension for Brave" + +omarchy-refresh-config brave-flags.conf From a522a47f70265e429f72f78453194bbeacee6120 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 25 Nov 2025 11:37:48 +0100 Subject: [PATCH 17/22] Ensure walker is set to autostart and that elephant is running as a service after running omarchy-refresh-walker Closes #3609 --- bin/omarchy-refresh-walker | 4 ++++ bin/omarchy-restart-walker | 1 + 2 files changed, 5 insertions(+) diff --git a/bin/omarchy-refresh-walker b/bin/omarchy-refresh-walker index 04112a4d..e32e2fcb 100755 --- a/bin/omarchy-refresh-walker +++ b/bin/omarchy-refresh-walker @@ -1,5 +1,9 @@ #!/bin/bash +# Ensure walker is set to autostart +mkdir -p ~/.config/autostart/ +cp $OMARCHY_PATH/autostart/walker.desktop ~/.config/autostart/ + omarchy-refresh-config walker/config.toml omarchy-refresh-config elephant/calc.toml omarchy-refresh-config elephant/desktopapplications.toml diff --git a/bin/omarchy-restart-walker b/bin/omarchy-restart-walker index 5919c88f..b3886e18 100755 --- a/bin/omarchy-restart-walker +++ b/bin/omarchy-restart-walker @@ -16,6 +16,7 @@ if [[ $EUID -eq 0 ]]; then setsid walker --gapplication-service & " else + elephant service enable 2>/dev/null systemctl --user restart elephant.service setsid walker --gapplication-service & fi From 8cca056b900da6bd4a2c864e5c9732ed7fb3a11f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 25 Nov 2025 11:46:59 +0100 Subject: [PATCH 18/22] Use Bluetooth off icon in the waybar when BlueTUI has turned off the adapter Closes #3599 --- migrations/1764067068.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 migrations/1764067068.sh diff --git a/migrations/1764067068.sh b/migrations/1764067068.sh new file mode 100644 index 00000000..01843585 --- /dev/null +++ b/migrations/1764067068.sh @@ -0,0 +1,6 @@ +echo "Use Bluetooth off icon in the waybar when BlueTUI has turned off the adapter" + +if ! grep -q '"format-off": "󰂲"' ~/.config/waybar/config.jsonc; then + sed -i '/"format-disabled": "󰂲",/a\ "format-off": "󰂲",' ~/.config/waybar/config.jsonc + omarchy-restart-waybar +fi From 77fd86ae93648a16f40e1afcd3644ade4d67a725 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 25 Nov 2025 11:52:43 +0100 Subject: [PATCH 19/22] Fix lack of quotes for multi-line batches Closes #3597 --- bin/omarchy-hyprland-window-pop | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/omarchy-hyprland-window-pop b/bin/omarchy-hyprland-window-pop index 85b5b531..d1e8ef3c 100755 --- a/bin/omarchy-hyprland-window-pop +++ b/bin/omarchy-hyprland-window-pop @@ -26,9 +26,9 @@ addr=$(echo "$active" | jq -r ".address") if [[ $pinned == "true" ]]; then hyprctl -q --batch \ - dispatch pin address:$addr; \ - dispatch togglefloating address:$addr; \ - dispatch tagwindow -pop address:$addr; + "dispatch pin address:$addr;" \ + "dispatch togglefloating address:$addr;" \ + "dispatch tagwindow -pop address:$addr;" elif [[ -n $addr ]]; then hyprctl dispatch togglefloating address:$addr hyprctl dispatch resizeactive exact $width $height address:$addr @@ -40,7 +40,7 @@ elif [[ -n $addr ]]; then fi hyprctl -q --batch \ - dispatch pin address:$addr; \ - dispatch alterzorder top address:$addr; \ - dispatch tagwindow +pop address:$addr; + "dispatch pin address:$addr;" \ + "dispatch alterzorder top address:$addr;" \ + "dispatch tagwindow +pop address:$addr;" fi From 9524259765fc676f55b4b2b505bb1ab0b268ea25 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 25 Nov 2025 15:03:41 +0100 Subject: [PATCH 20/22] Ensure lockout limit is reset on restart --- install/config/increase-lockout-limit.sh | 4 ++++ migrations/1764067963.sh | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 migrations/1764067963.sh diff --git a/install/config/increase-lockout-limit.sh b/install/config/increase-lockout-limit.sh index 522deb72..5932906f 100644 --- a/install/config/increase-lockout-limit.sh +++ b/install/config/increase-lockout-limit.sh @@ -1,3 +1,7 @@ # Increase lockout limit to 10 and decrease timeout to 2 minutes sudo sed -i 's|^\(auth\s\+required\s\+pam_faillock.so\)\s\+preauth.*$|\1 preauth silent deny=10 unlock_time=120|' "/etc/pam.d/system-auth" sudo sed -i 's|^\(auth\s\+\[default=die\]\s\+pam_faillock.so\)\s\+authfail.*$|\1 authfail deny=10 unlock_time=120|' "/etc/pam.d/system-auth" + +# Ensure lockout limit is reset on restart +sudo sed -i '/pam_faillock\.so preauth/d' /etc/pam.d/sddm-autologin +sudo sed -i '/auth.*pam_permit\.so/a auth required pam_faillock.so authsucc' /etc/pam.d/sddm-autologin diff --git a/migrations/1764067963.sh b/migrations/1764067963.sh new file mode 100644 index 00000000..99590cbb --- /dev/null +++ b/migrations/1764067963.sh @@ -0,0 +1,4 @@ +echo "Ensure lockout limit is reset on reboot" + +sudo sed -i '/pam_faillock\.so preauth/d' /etc/pam.d/sddm-autologin +sudo sed -i '/auth.*pam_permit\.so/a auth required pam_faillock.so authsucc' /etc/pam.d/sddm-autologin From a996438eafceadbadf25d2cd416675c8ee71240a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 25 Nov 2025 15:07:20 +0100 Subject: [PATCH 21/22] Add explicit reboot + shutdown scripts that close all windows first (and allow a second to save state) --- bin/omarchy-cmd-reboot | 6 ++++++ bin/omarchy-cmd-shutdown | 6 ++++++ bin/omarchy-menu | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100755 bin/omarchy-cmd-reboot create mode 100755 bin/omarchy-cmd-shutdown diff --git a/bin/omarchy-cmd-reboot b/bin/omarchy-cmd-reboot new file mode 100755 index 00000000..c1f6472d --- /dev/null +++ b/bin/omarchy-cmd-reboot @@ -0,0 +1,6 @@ +#!/bin/bash + +omarchy-state clear re*-required +omarchy-hyprland-window-close-all +sleep 1 # Allow apps like Chrome to shutdown correctly +systemctl reboot --no-wall diff --git a/bin/omarchy-cmd-shutdown b/bin/omarchy-cmd-shutdown new file mode 100755 index 00000000..cd5748ed --- /dev/null +++ b/bin/omarchy-cmd-shutdown @@ -0,0 +1,6 @@ +#!/bin/bash + +omarchy-state clear re*-required +omarchy-hyprland-window-close-all +sleep 1 # Allow apps like Chrome to shutdown correctly +systemctl poweroff --no-wall diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 696ac7dd..b80d6178 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -438,8 +438,8 @@ show_system_menu() { *Lock*) omarchy-lock-screen ;; *Screensaver*) omarchy-launch-screensaver force ;; *Suspend*) systemctl suspend ;; - *Restart*) omarchy-state clear re*-required && systemctl reboot --no-wall ;; - *Shutdown*) omarchy-state clear re*-required && systemctl poweroff --no-wall ;; + *Restart*) omarchy-cmd-reboot ;; + *Shutdown*) omarchy-cmd-shutdown ;; *) back_to show_main_menu ;; esac } From a8106085aaea8f73f94cc3e84eeca2d86ef84df1 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 25 Nov 2025 15:43:32 +0100 Subject: [PATCH 22/22] Setup helpers to change branch and channel --- bin/omarchy-branch-set | 14 ++++++++++++++ bin/omarchy-channel-set | 15 +++++++++++++++ 2 files changed, 29 insertions(+) create mode 100755 bin/omarchy-branch-set create mode 100755 bin/omarchy-channel-set diff --git a/bin/omarchy-branch-set b/bin/omarchy-branch-set new file mode 100755 index 00000000..ef531e91 --- /dev/null +++ b/bin/omarchy-branch-set @@ -0,0 +1,14 @@ +#!/bin/bash + +if (($# == 0)); then + echo "Usage: omarchy-channel-set [master|dev]" + exit 1 +else + branch="$1" +fi + +case "$branch" in + "master") git -C $OMARCHY_PATH switch master ;; + "dev") git -C $OMARCHY_PATH switch dev ;; + *) echo "Unknown branch: $branch"; exit 1; ;; +esac diff --git a/bin/omarchy-channel-set b/bin/omarchy-channel-set new file mode 100755 index 00000000..067aad2d --- /dev/null +++ b/bin/omarchy-channel-set @@ -0,0 +1,15 @@ +#!/bin/bash + +if (($# == 0)); then + echo "Usage: omarchy-channel-set [stable|edge|dev]" + exit 1 +else + channel="$1" +fi + +case "$channel" in +"stable") omarchy-branch-set "master" && omarchy-refresh-pacman "stable" ;; +"edge") omarchy-branch-set "edge" && omarchy-refresh-pacman "stable" ;; +"dev") omarchy-branch-set "dev" && omarchy-refresh-pacman "edge" ;; +*) echo "Unknown channel: $channel"; exit 1; ;; +esac