Merge pull request #383 from basecamp/dev

Omarchy v1.7.0
This commit is contained in:
David Heinemeier Hansson
2025-07-28 14:13:59 +02:00
committed by GitHub
18 changed files with 229 additions and 170 deletions

10
bin/omarchy-cmd-screensaver Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
trap "exit" SIGINT
while true; do
effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1)
tte -i ~/.local/share/omarchy/logo.txt \
--frame-rate 240 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c \
"$effect"
done

5
bin/omarchy-launch-screensaver Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
pkill -f "alacritty --class Screensaver" ||
alacritty --class Screensaver --title Screensaver -o 'colors.primary.background="#000000"' \
-e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver

View File

@ -10,4 +10,4 @@ else
fi fi
pkill walker pkill walker
uwsm app -- walker --gapplication-service & setsid uwsm app -- walker --gapplication-service &

View File

@ -6,7 +6,7 @@ CURRENT_THEME_NAME=$(basename "$(realpath "$CURRENT_THEME_DIR")")
# Build themes list with pretty display names # Build themes list with pretty display names
mapfile -t themes < <( mapfile -t themes < <(
find "$THEMES_DIR" -mindepth 1 -maxdepth 1 \( -type d -o -type l \) | while read -r path; do find "$THEMES_DIR" -mindepth 1 -maxdepth 1 \( -type d -o -type l \) | sort | while read -r path; do
filename=$(basename "$path") filename=$(basename "$path")
display_name=$(echo "$filename" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g') display_name=$(echo "$filename" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g')
@ -15,7 +15,7 @@ mapfile -t themes < <(
else else
echo "$display_name" echo "$display_name"
fi fi
done | sort done
) )
# Show Walker menu # Show Walker menu

17
boot.sh
View File

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ansi_art=' ▄▄▄
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ █ ▄█████ ▄███████████▄ ▄███████ ▄███████ ███████ ▄█ █ █▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
██████ █ ███ █ ███ █▀ ███ ███ ████████▀ ███ █▀ █████▀ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███
███ ███ ' ███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███
███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███
███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀
███ █▀ '
clear clear
echo -e "\n$ansi_art\n" echo -e "\n$ansi_art\n"

View File

@ -47,7 +47,7 @@
{ {
"type": "swap", "type": "swap",
"key": "└ └󰓡 ", "key": "└ └󰓡 ",
"keyColor": "green", "keyColor": "green"
}, },
{ {
"type": "custom", "type": "custom",
@ -79,6 +79,12 @@
"keyColor": "yellow" "keyColor": "yellow"
}, },
"break", "break",
{
"type": "command",
"key": "│ ├Ø",
"keyColor": "blue",
"text": "version=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/dev/null); echo \"Omarchy $version\""
},
{ {
"type": "de", "type": "de",
"key": " DE", "key": " DE",
@ -97,17 +103,17 @@
{ {
"type": "icons", "type": "icons",
"key": "│ ├󰀻", "key": "│ ├󰀻",
"keyColor": "blue", "keyColor": "blue"
}, },
{ {
"type": "cursor", "type": "cursor",
"key": "│ ├", "key": "│ ├",
"keyColor": "blue", "keyColor": "blue"
}, },
{ {
"type": "terminalfont", "type": "terminalfont",
"key": "│ ├", "key": "│ ├",
"keyColor": "blue", "keyColor": "blue"
}, },
{ {
"type": "terminal", "type": "terminal",
@ -138,7 +144,6 @@
"type": "custom", "type": "custom",
"format": "\u001b[90m└────────────────────────────────────────────────────┘" "format": "\u001b[90m└────────────────────────────────────────────────────┘"
}, },
"break", "break"
] ]
} }

View File

@ -1,17 +1,20 @@
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
# List current monitors and resolutions possible: hyprctl monitors
# Change to 1 if on a 1x display (then change last "auto" to 1 in monitor=)
# Change to something like 1.75 for fractional scaling (can work well with 1.66667 monitor scaling)
# Note: You must relaunch Hyprland after changing any env like this (use Super+Esc, then Relaunch)
env = GDK_SCALE,2
# Use single default monitor (see all monitors with: hyprctl monitors)
# Format: monitor = [port], resolution, position, scale # Format: monitor = [port], resolution, position, scale
# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch)
# 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
# Exmaple for fractional scaling that works well with GDK_SCALE,1.75 # Good compromise for 27" or 32" 4K monitors (but fractional!)
# env = GDK_SCALE,1.75
# monitor=,preferred,auto,1.666667 # monitor=,preferred,auto,1.666667
# Straight 1x setup for low-resolution displays like 1080p or 1440p
# env = GDK_SCALE,1
# monitor=,preferred,auto,1
# Example for Framework 13 w/ 6K XDR Apple display # Example for Framework 13 w/ 6K XDR Apple display
# monitor = DP-5, 6016x3384@60.00, auto, 2 # monitor = DP-5, 6016x3384@60, auto, 2
# monitor = eDP-1, 2880x1920@120.00, auto, 2 # monitor = eDP-1, 2880x1920@120, auto, 2

14
default/bashrc Normal file
View File

@ -0,0 +1,14 @@
# All the default Omarchy aliases and functions
# (don't mess with these directly, just overwrite them here!)
source ~/.local/share/omarchy/default/bash/rc
# Add your own exports, aliases, and functions here.
#
# Make an alias for invoking commands you use constantly
# alias p='python'
#
# Use VSCode instead of neovim as your default editor
# export EDITOR="code"
#
# Set a custom prompt with the directory revealed (alternatively use https://starship.rs)
# PS1="\W \[\e]0;\w\a\]$PS1"

View File

@ -43,6 +43,10 @@ bind = SUPER SHIFT, right, swapwindow, r
bind = SUPER SHIFT, up, swapwindow, u bind = SUPER SHIFT, up, swapwindow, u
bind = SUPER SHIFT, down, swapwindow, d bind = SUPER SHIFT, down, swapwindow, d
# Cycle through applications on active workspace
bind = ALT, Tab, cyclenext
bind = ALT, Tab, bringactivetotop
# Resize active window # Resize active window
bind = SUPER, minus, resizeactive, -100 0 bind = SUPER, minus, resizeactive, -100 0
bind = SUPER, equal, resizeactive, 100 0 bind = SUPER, equal, resizeactive, 100 0

View File

@ -32,5 +32,8 @@ bind = CTRL, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot outp
bind = ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord bind = ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord
bind = CTRL ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output bind = CTRL ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output
# Screensaver
bind = SUPER ALT, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-launch-screensaver
# Color picker # Color picker
bind = SUPER, PRINT, exec, hyprpicker -a bind = SUPER, PRINT, exec, hyprpicker -a

View File

@ -5,10 +5,11 @@ windowrule = suppressevent maximize, class:.*
windowrule = tile, class:^(Chromium)$ windowrule = tile, class:^(Chromium)$
# Float and center settings and previews # Float and center settings and previews
windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$ windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$ windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$
windowrule = size 645 450, class:Omarchy windowrule = size 590 400, class:Omarchy
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$ windowrule = size 700 470 class:About
# Float and center file pickers # Float and center file pickers
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
@ -19,6 +20,9 @@ windowrule = float, class:steam
windowrule = center, class:steam, title:Steam windowrule = center, class:steam, title:Steam
windowrule = fullscreen, class:^(com.libretro.RetroArch)$ windowrule = fullscreen, class:^(com.libretro.RetroArch)$
# Fullscreen screensaver
windowrule = fullscreen, class:Screensaver
# Just dash of opacity # Just dash of opacity
windowrule = opacity 0.97 0.9, class:.* windowrule = opacity 0.97 0.9, class:.*
windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable)$ windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable)$

View File

@ -4,7 +4,7 @@
cp -R ~/.local/share/omarchy/config/* ~/.config/ cp -R ~/.local/share/omarchy/config/* ~/.config/
# Use default bashrc from Omarchy # Use default bashrc from Omarchy
echo "source ~/.local/share/omarchy/default/bash/rc" >~/.bashrc cp ~/.local/share/omarchy/default/bashrc ~/.bashrc
# Ensure application directory exists for update-desktop-database # Ensure application directory exists for update-desktop-database
mkdir -p ~/.local/share/applications mkdir -p ~/.local/share/applications

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
if [[ ! -f /etc/sudoers.d/omarchy-tzupdate ]]; then if ! command -v tzupdate &>/dev/null; then
yay -S --noconfirm --needed tzupdate yay -S --noconfirm --needed tzupdate
sudo tee /etc/sudoers.d/omarchy-tzupdate >/dev/null <<EOF sudo tee /etc/sudoers.d/omarchy-tzupdate >/dev/null <<EOF
%wheel ALL=(root) NOPASSWD: /usr/bin/tzupdate, /usr/bin/timedatectl %wheel ALL=(root) NOPASSWD: /usr/bin/tzupdate, /usr/bin/timedatectl

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,5 +1,5 @@
echo "Allow updating of timezone by right-clicking on the clock (or running omarchy-cmd-tzupdate)" echo "Allow updating of timezone by right-clicking on the clock (or running omarchy-cmd-tzupdate)"
if [[ ! -f /etc/sudoers.d/omarchy-tzupdate ]]; then if ! command -v tzupdate &>/dev/null; then
bash ~/.local/share/omarchy/install/config/timezones.sh bash ~/.local/share/omarchy/install/config/timezones.sh
omarchy-refresh-waybar omarchy-refresh-waybar
fi fi

5
migrations/1753683888.sh Normal file
View File

@ -0,0 +1,5 @@
echo "Adding Omarchy version info to fastfetch"
if ! grep -q "omarchy" ~/.config/fastfetch/config.jsonc; then
cp ~/.local/share/omarchy/config/fastfetch/config.jsonc ~/.config/fastfetch/
fi

5
migrations/1753689791.sh Normal file
View File

@ -0,0 +1,5 @@
echo "Add the new ristretto theme as an option"
if [[ ! -L ~/.config/omarchy/themes/ristretto ]]; then
ln -nfs ~/.local/share/omarchy/themes/ristretto ~/.config/omarchy/themes/
fi