31 Commits

Author SHA1 Message Date
674c5bfdda Use Arch icon for this instead too for now 2025-07-24 18:11:03 -04:00
6cd8955409 Merge pull request #322 from benhoman/screen-cmd-output-dir
allow override of screenshot/screenrecord output
2025-07-24 18:07:38 -04:00
db63219398 A few more color corrections 2025-07-24 18:05:08 -04:00
42d80f2ce7 Consistent colors 2025-07-24 18:03:00 -04:00
4578d4e418 Cleanup files from needless comments 2025-07-24 18:02:00 -04:00
7242a57c18 Fix more swayosd colors 2025-07-24 18:00:00 -04:00
2d9ed8720b Match color to mako 2025-07-24 17:39:06 -04:00
205bcd7be8 Hyprland fullscreen may conflict with the app-specific fullscreen, so need a separate key
This is the case with Typora which will retain its ugly menu bar when
Hyprland does the fullscreening, but be beautifully bare when its doing
its own fullscreening. The best would be if we could make F11 work such
that the app got a shot at fullscreening first, then if it wasn't
capable, we let Hyprland do it. But not sure there's a way to do that?
2025-07-24 16:13:36 -04:00
70da2ecbe8 allow override of screenshot/screenrecord output 2025-07-24 11:39:12 -04:00
d2fffc40ea Add migration to prevent Waybar stacking 2025-07-23 16:26:13 -04:00
8884cc7a5c Prevent stacking of waybars after unlock by SIGUSR2'ing it
Bit crude, but better than a full kill.
Closes #196
2025-07-23 16:22:14 -04:00
a4e7f41798 Merge pull request #305 from basecamp/dev
Omarchy v1.6.1
2025-07-23 14:56:04 -04:00
8908ce91f8 Trailing slash 2025-07-23 14:55:00 -04:00
5458b46584 Merge pull request #304 from basecamp/increase-pamlockout-limit
Increase pamlimit lockout
2025-07-23 14:39:22 -04:00
9b7908d17b Ensure we restart swayosd after setting up theming 2025-07-23 13:03:47 -04:00
a12cd97922 Increase pamlimit lockout 2025-07-23 12:59:32 -04:00
9231148cd7 Increase pamlimit lockout 2025-07-23 12:36:57 -04:00
c4c9cdc0f6 Only load inputrc for interactive terminals
Fixes claude-code warnings and is more proper anyway.
Closes #282
2025-07-23 12:03:53 -04:00
98f848d4a0 Fix the vibe coding hallucinations from swayosd theming 2025-07-23 11:53:04 -04:00
c36d76bb1c Merge pull request #288 from aifrim/swayosd-cfg
full swayosd integration
2025-07-23 11:46:15 -04:00
71ccf9a367 Merge pull request #294 from precision/dev
Update media bindings to only display OSD on the focused display
2025-07-23 11:42:33 -04:00
e1f2cc4d3d Merge pull request #297 from spdawson/feat/add-mariadb-to-docker-databases
Add MariaDB to Docker databases
2025-07-23 11:42:02 -04:00
08f187b4ea Include satty in the list of windows that get a minimum size
Fixes #299
Co-authored-by: @mtk3d
2025-07-23 11:39:39 -04:00
35e1d1233e Merge pull request #302 from ludo237/master
fix: walker css url
2025-07-23 11:38:10 -04:00
8f569921b3 Merge pull request #295 from abenz1267/dev
force package database refresh after adding multilib repo
2025-07-23 11:37:51 -04:00
3933cd7c89 fix: walker css url
there is an extra `/` that should not be ehre
2025-07-23 15:15:53 +02:00
ceb44d7aa1 feat: Add MariaDB to Docker databases 2025-07-23 10:36:36 +01:00
fd56404407 force package database refresh after adding multilib repo 2025-07-23 09:43:51 +02:00
d2763225c3 Update the media bindings to only display on the currently focused
monitor.

sway-osd can also do playerctl
2025-07-22 23:28:17 -04:00
2b2103fb66 Put Sunset Lake first for Tokyo Night 2025-07-22 22:19:29 -04:00
1ebf88bac0 full swayosd integration 2025-07-23 01:51:04 +03:00
44 changed files with 166 additions and 41 deletions

View File

@ -24,12 +24,13 @@ main_menu() {
update_menu() {
show_ascii_art
local menu=("Omarchy" "Waybar" "Walker" "Plymouth" "Desktop apps" "Back")
local menu=("Omarchy" "Waybar" "Walker" "Plymouth" "SwayOSD" "Desktop apps" "Back")
local commands=(
"omarchy-update"
"omarchy-refresh-waybar"
"omarchy-refresh-walker"
"omarchy-refresh-plymouth"
"omarchy-refresh-swayosd"
"omarchy-refresh-applications"
"main_menu"
)
@ -119,12 +120,13 @@ setup_menu() {
}
setup_docker_dbs() {
options=("MySQL" "Redis" "PostgreSQL")
options=("MariaDB" "MySQL" "Redis" "PostgreSQL")
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases (space to select, return to install, esc to cancel)") || main_menu
if [[ -n "$choices" ]]; then
for db in $choices; do
case $db in
MariaDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mariadb11 -e MARIADB_ROOT_PASSWORD= -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true mariadb:11.8 ;;
MySQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8.4 ;;
Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;;
PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres16 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:16 ;;

View File

@ -2,8 +2,10 @@
# Set recorder based on GPU
OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-$HOME/Videos}"
screenrecording() {
filename="$HOME/Videos/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
notify-send "Screen recording starting..." -t 1000
sleep 1

View File

@ -1,8 +1,10 @@
#!/bin/bash
OUTPUT_DIR="${OMARCHY_SCREENSHOT_DIR:-$HOME/Pictures}"
hyprshot -m ${1:-region} --raw |
satty --filename - \
--output-filename ~/Pictures/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png \
--output-filename "$OUTPUT_DIR/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png" \
--early-exit \
--actions-on-enter save-to-clipboard \
--save-after-copy \

13
bin/omarchy-refresh-swayosd Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
cp -f ~/.config/swayosd/config.toml ~/.config/swayosd/config.toml.bak 2>/dev/null
cp -f ~/.local/share/omarchy/config/swayosd/config.toml ~/.config/swayosd/ 3>/dev/null
if cmp -s ~/.config/swayosd/config.toml.bak ~/.config/swayosd/config.toml; then
rm ~/.config/swayosd//config.toml.bak
else
echo -e "\e[31mExisting .config/swayosd/config.toml replaced with new Omarchy default, but a .bak file was made.\e[0m"
fi
pkill swayosd-server
setsid uwsm app -- swayosd-server &>/dev/null &

View File

@ -35,11 +35,11 @@ fi
# Trigger alacritty config reload
touch "$HOME/.config/alacritty/alacritty.toml"
# Trigger btop config reload
pkill -SIGUSR2 btop
# Restart components to apply new theme
pkill -SIGUSR2 btop
pkill -SIGUSR2 waybar
pkill swayosd-server
setsid uwsm app -- swayosd-server &>/dev/null &
makoctl reload
hyprctl reload

View File

@ -2,6 +2,7 @@ general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
on_unlock_cmd = pkill -SIGUSR2 waybar # prevent stacking of waybar when waking
}
listener {

View File

@ -0,0 +1,4 @@
[server]
show_percentage = true
max_volume = 150
style = "./style.css"

28
config/swayosd/style.css Normal file
View File

@ -0,0 +1,28 @@
@import "../omarchy/current/theme/swayosd.css";
window {
border-radius: 0;
opacity: 0.97;
border: 2px solid @border-color;
background-color: @background-color;
}
label {
font-family: 'CaskaydiaMono Nerd Font', monospace;
font-size: 11pt;
color: @label;
}
image {
color: @image;
}
progressbar {
border-radius: 0;
}
progress {
background-color: @progress;
}

View File

@ -4,4 +4,4 @@ source ~/.local/share/omarchy/default/bash/functions
source ~/.local/share/omarchy/default/bash/prompt
source ~/.local/share/omarchy/default/bash/init
source ~/.local/share/omarchy/default/bash/envs
bind -f ~/.local/share/omarchy/default/bash/inputrc
[[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc

View File

@ -1,13 +1,16 @@
# Only display the OSD on the currently focused monitor
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
# Laptop multimedia keys for volume and LCD brightness (with OSD)
bindel = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
bindel = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
bindel = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
bindel = ,XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle
bindel = ,XF86MonBrightnessUp, exec, swayosd-client --brightness raise
bindel = ,XF86MonBrightnessDown, exec, swayosd-client --brightness lower
bindel = ,XF86AudioRaiseVolume, exec, $osdclient --output-volume raise
bindel = ,XF86AudioLowerVolume, exec, $osdclient --output-volume lower
bindel = ,XF86AudioMute, exec, $osdclient --output-volume mute-toggle
bindel = ,XF86AudioMicMute, exec, $osdclient --input-volume mute-toggle
bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise
bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
bindl = , XF86AudioNext, exec, $osdclient --playerctl next
bindl = , XF86AudioPause, exec, $osdclient --playerctl play-pause
bindl = , XF86AudioPlay, exec, $osdclient --playerctl play-pause
bindl = , XF86AudioPrev, exec, $osdclient --playerctl previous

View File

@ -5,7 +5,7 @@ bind = SUPER, W, killactive,
bind = SUPER, J, togglesplit, # dwindle
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, V, togglefloating,
bind = , F11, fullscreen, 0
bind = SHIFT, F11, fullscreen, 0
# Move focus with mainMod + arrow keys
bind = SUPER, left, movefocus, l

View File

@ -6,7 +6,7 @@ windowrule = tile, class:^(Chromium)$
# Float and center settings and previews
windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer)$
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$
windowrule = size 645 450, class:Omarchy
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$

View File

@ -1,2 +1,2 @@
@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css");
@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css");
@import url("file://~/.config/omarchy/current/theme/walker.css");

View File

@ -1,2 +1,2 @@
@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css");
@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css");
@import url("file://~/.config/omarchy/current/theme/walker.css");

View File

@ -1,2 +1,2 @@
@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css");
@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css");
@import url("file://~/.config/omarchy/current/theme/walker.css");

View File

@ -3,6 +3,9 @@
# Copy over Omarchy configs
cp -R ~/.local/share/omarchy/config/* ~/.config/
# Use default bashrc from Omarchy
echo "source ~/.local/share/omarchy/default/bash/rc" >~/.bashrc
# Ensure application directory exists for update-desktop-database
mkdir -p ~/.local/share/applications
@ -13,8 +16,9 @@ sudo chmod 644 /etc/gnupg/dirmngr.conf
sudo gpgconf --kill dirmngr || true
sudo gpgconf --launch dirmngr || true
# Use default bashrc from Omarchy
echo "source ~/.local/share/omarchy/default/bash/rc" >~/.bashrc
# 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"
# Set common git aliases
git config --global alias.co checkout

View File

@ -35,6 +35,9 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then
sudo sed -i '/^#\[multilib\]/,/^#Include/ s/^#//' /etc/pacman.conf
fi
# force package database refresh
sudo pacman -Syy
# Install packages
PACKAGES_TO_INSTALL=(
"${KERNEL_HEADERS}"

View File

@ -15,7 +15,7 @@ for f in ~/.local/share/omarchy/themes/*; do ln -s "$f" ~/.config/omarchy/themes
# Set initial theme
mkdir -p ~/.config/omarchy/current
ln -snf ~/.config/omarchy/themes/tokyo-night ~/.config/omarchy/current/theme
ln -snf ~/.config/omarchy/current/theme/backgrounds/1-Pawel-Czerwinski-Abstract-Purple-Blue.jpg ~/.config/omarchy/current/background
ln -snf ~/.config/omarchy/current/theme/backgrounds/1-scenery-pink-lakeside-sunset-lake-landscape-scenic-panorama-7680x3215-144.png ~/.config/omarchy/current/background
# Set specific app links for current theme
ln -snf ~/.config/omarchy/current/theme/neovim.lua ~/.config/nvim/lua/plugins/theme.lua

View File

@ -12,5 +12,5 @@ if [ -z "$OMARCHY_BARE" ]; then
web2app "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png
web2app "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png
web2app "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png
web2app "Omarchy Manual" https://manuals.omamix.org/2/the-omarchy-manual https://manuals.omamix.org/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDgsInB1ciI6ImJsb2JfaWQifX0=--c26606490139480f5bcb3cf91b09fc45825007f6/omarchy.jpg?disposition=attachment
web2app "Omarchy Manual" https://manuals.omamix.org/2/the-omarchy-manual https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/arch-linux.png
fi

9
migrations/1753224615.sh Executable file
View File

@ -0,0 +1,9 @@
echo "Adding SwayOSD theming"
if [[ ! -d ~/.config/swayosd ]]; then
mkdir -p ~/.config/swayosd
cp -r ~/.local/share/omarchy/config/swayosd/* ~/.config/swayosd/
pkill swayosd-server
setsid uwsm app -- swayosd-server &>/dev/null &
fi

6
migrations/1753286633.sh Normal file
View File

@ -0,0 +1,6 @@
echo "Increase lockout limit to 10, decrease timeout to 2 minutes"
if ! grep -q 'deny=10' /etc/pam.d/system-auth; then
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"
fi

8
migrations/1753302134.sh Normal file
View File

@ -0,0 +1,8 @@
echo "Reload Waybar on unlock to prevent stacking"
if ! grep -q 'on_unlock_cmd *= *pkill -SIGUSR2 waybar' ~/.config/hypr/hypridle.conf; then
sed -i '/^general[[:space:]]*{/,/^}/ {
/on_unlock_cmd *=/d
/^}$/ i\ on_unlock_cmd = pkill -SIGUSR2 waybar # prevent stacking of waybar when waking
}' ~/.config/hypr/hypridle.conf
fi

View File

@ -1,8 +1,4 @@
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
$latte_blue = rgb(1e66f5)
general {
col.active_border = $latte_blue
col.active_border = rgb(1e66f5)
}

View File

@ -1,5 +1,5 @@
text-color=#4c4f69
border-color=#dce0e8
border-color=#1e66f5
background-color=#eff1f5
width=420
height=110

View File

@ -0,0 +1,5 @@
@define-color background-color #eff1f5;
@define-color border-color #1e66f5;
@define-color label #4c4f69;
@define-color image #4c4f69;
@define-color progress #4c4f69;

View File

@ -1,4 +1,3 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(c6d0f5)
}

View File

@ -0,0 +1,5 @@
@define-color background-color #24273a;
@define-color border-color #c6d0f5;
@define-color label #cad3f5;
@define-color image #cad3f5;
@define-color progress #cad3f5;

View File

@ -1,4 +1,3 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(d3c6aa)
}

View File

@ -0,0 +1,6 @@
@define-color background-color #2d353b;
@define-color border-color #d3c6aa;
@define-color label #d3c6aa;
@define-color image #d3c6aa;
@define-color progress #d3c6aa;

View File

@ -1,4 +1,3 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(a89984)
}

View File

@ -0,0 +1,6 @@
@define-color background-color #282828;
@define-color border-color #a89984;
@define-color label #ebdbb2;
@define-color image #ebdbb2;
@define-color progress #ebdbb2;

View File

@ -1,4 +1,3 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(dcd7ba)
}

View File

@ -0,0 +1,6 @@
@define-color background-color #1f1f28;
@define-color border-color #dcd7ba;
@define-color label #dcd7ba;
@define-color image #dcd7ba;
@define-color progress #dcd7ba;

View File

@ -1,4 +1,3 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(8A8A8D)
}

View File

@ -0,0 +1,6 @@
@define-color background-color #121212;
@define-color border-color #8A8A8D;
@define-color label #8A8A8D;
@define-color image #8A8A8D;
@define-color progress #8A8A8D;

View File

@ -1,4 +1,3 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(D8DEE9)
}

6
themes/nord/swayosd.css Normal file
View File

@ -0,0 +1,6 @@
@define-color background-color #2E3440;
@define-color border-color #D8DEE9;
@define-color label #D8DEE9;
@define-color image #D8DEE9;
@define-color progress #D8DEE9;

View File

@ -1,4 +1,3 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(575279)
}

View File

@ -0,0 +1,6 @@
@define-color background-color #faf4ed;
@define-color border-color #575279;
@define-color label #575279;
@define-color image #575279;
@define-color progress #575279;

View File

@ -1,5 +1,4 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
}

View File

@ -0,0 +1,6 @@
@define-color background-color #1a1b26;
@define-color border-color #33ccff;
@define-color label #a9b1d6;
@define-color image #a9b1d6;
@define-color progress #a9b1d6;