Compare commits

...

85 Commits

Author SHA1 Message Date
David Heinemeier Hansson
d76589ba65 Refactor share menu to remove terminal command 2025-11-16 20:58:41 +01:00
David Heinemeier Hansson
cac2b5728f Revert "improve: add image/video share and run share commands silently (#3330)"
This reverts commit 03cbbd2f7f.
2025-11-16 20:57:07 +01:00
David Heinemeier Hansson
279259d547 Change format-disk to use exfat for better cross-platform compatibility 2025-11-16 15:53:08 +01:00
ctarx
9b849fc824 feat: add custom imv keybindings for delete and rotate currently opened image (#3312)
* feat: add custom imv keybindings for delete and rotate

* Update imv config and migration script

* Simplify this

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-11 16:05:45 +01:00
Nicolas Dorier
bea57919b6 Fix: Jetbrains popup dialog would not get focus automatically (#3326)
* Fix: Jetbrains popup dialog would not get focus automatically

The config shipped with omarchy misbehaves with popups. Opening a popup
would not shift the focus automatically to it, requiring manual click on
it to start typing into it.

You can reproduce with by trying to open any popup dialog (for example
CTRL+T on Rider, or CTRL+SHIFT+F)

This config with `-Dawt.toolkit.name=WLToolkit` in the custom VM options
fixes all the issues I have with jetbrains. I am also making a dedicated
workspace which float all windows just for jetbrains.

* Use existing formatting conventions

* More tweaks

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-11 15:54:25 +01:00
Dante897
03cbbd2f7f improve: add image/video share and run share commands silently (#3330)
* improve: add image/video share and run share commands silently

- Added 'image' and 'video' modes to omarchy-cmd-share to quickly send
  the most recent screenshot or video without selecting manually.
- Updated show_share_menu to run share commands in the background using
  'nohup' to avoid opening a terminal window.
- Comments added to explain each section for clarity and maintainability.

* Match names with folders

* Correct here too

* Don't need to keep this around

* Fix these up for what's needed only

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-11 15:48:02 +01:00
David Heinemeier Hansson
8840af8df9 Don't waste time creating ri docs by default 2025-11-11 14:20:55 +01:00
David Heinemeier Hansson
a54ec3a9cb Exact matching is now part of omarchy-launch-or-focus 2025-11-11 09:16:47 +01:00
David Heinemeier Hansson
42f47195ea Match exact not partial window pattern 2025-11-11 09:16:27 +01:00
David Heinemeier Hansson
89b1029588 Can't use the blur on walker until we can run the whole thing as a single process 2025-11-11 08:45:36 +01:00
David Heinemeier Hansson
29aae9a93e Tweak blur settings and apply it to walker
Settings by @tobi ✌️
2025-11-10 21:29:41 +01:00
David Heinemeier Hansson
a6d49196d0 Make sure the ruby is added separately from just try
So we always have a system Ruby available
2025-11-10 15:22:06 +01:00
David Heinemeier Hansson
b7989ac89b Ensure the system always has a base ruby even if one is not installed via mise 2025-11-10 15:21:15 +01:00
David Heinemeier Hansson
3c19e4e12c Add @tobi's try as a default install 2025-11-10 15:20:17 +01:00
Mislav Pukljak
94f29f3cba small fix in input.conf (#3298) 2025-11-10 15:18:00 +01:00
David Heinemeier Hansson
2fcc4e9c47 More 2025-11-10 14:38:27 +01:00
David Heinemeier Hansson
d81f6de211 Make Work/tries ready too 2025-11-10 14:37:46 +01:00
David Heinemeier Hansson
e97ae0d842 Activate try when it is available 2025-11-10 14:36:44 +01:00
David Heinemeier Hansson
2290152fb9 Fit height better for JetBrainsMono 2025-11-10 11:47:07 +01:00
David Heinemeier Hansson
f364ee1167 Move everyone over to the stable mirror by default 2025-11-10 11:35:32 +01:00
David Heinemeier Hansson
6e1f1cae1b Slowdown the ghostty scrolling a tad 2025-11-10 11:33:35 +01:00
David Heinemeier Hansson
e354df3143 Use a slower mouse scroll 2025-11-10 11:27:22 +01:00
David Heinemeier Hansson
c981dda55a Change default font to JetBrainsMono Nerd Font
Caskaydia Mono doesn't look quite right in Ghostty
2025-11-10 10:57:16 +01:00
David Heinemeier Hansson
b6ba588fa3 Switch to Ghostty as the default terminal 2025-11-10 10:54:41 +01:00
David Heinemeier Hansson
bf3a5b0a36 Style 2025-11-10 10:49:46 +01:00
David Heinemeier Hansson
9e1a70488b Fix killing of screensaver running in any terminal 2025-11-10 10:46:18 +01:00
David Heinemeier Hansson
a43d090596 We've been using fresh 2025-11-10 10:36:31 +01:00
David Heinemeier Hansson
fceb7106d9 Package only exists on AUR
Not sure why what would be using this, @ryanrhughes?
2025-11-10 10:28:14 +01:00
David Heinemeier Hansson
d2aeb520fc Prevent the conflict asking for rust v rustup 2025-11-10 10:23:10 +01:00
David Heinemeier Hansson
61678986fc Use packages that exist 2025-11-10 10:19:36 +01:00
David Heinemeier Hansson
2425f4d3e0 Default to the new stable mirror 2025-11-10 10:12:24 +01:00
David Heinemeier Hansson
c6918e637b Make screensaver capable of running in any of the terminal options 2025-11-10 10:02:02 +01:00
David Heinemeier Hansson
6f334868d6 Fix match and make 1password float by default 2025-11-10 09:15:27 +01:00
David Heinemeier Hansson
79207160e6 Add migration 2025-11-10 08:57:43 +01:00
Jan Costandius
a9d6a77ee6 Add usage to base packages (#3280)
The usage CLI is required for mise tab completions to work.
2025-11-10 08:57:27 +01:00
Mitch Lombardi
a304b32cc1 Dynamically set hyprlock font and placeholder text (#3281) 2025-11-10 08:51:49 +01:00
David Heinemeier Hansson
3a744e0f78 Still need the setsid 2025-11-10 08:48:32 +01:00
David Heinemeier Hansson
88b13e6899 Launch or focus wifi settings
Closes #3288
Co-authored-by: @AdamMusa
2025-11-10 08:39:18 +01:00
David Heinemeier Hansson
70d15921b9 Add Super + Shift + Alt + Left/Right to move workspaces between monitors
Closes #1373, #3010
Co-authored-by: @jheuing
2025-11-09 11:37:43 +01:00
David Heinemeier Hansson
283a41c494 Add Super + Alt + PageUp/Down for tiling groups to mimic browser
More ergonomic to press than tab, but we will keep tab so not to confuse
folks who already adopted that.
2025-11-09 11:36:41 +01:00
David Heinemeier Hansson
3d10b38054 Ensure we can wake screen on both mouse and keyboard
Closes #2146
Co-authored-by: @nicoestrada
2025-11-09 11:14:32 +01:00
David Heinemeier Hansson
d33e947b99 We were already doing this! 2025-11-09 09:25:35 +01:00
David Heinemeier Hansson
79d48b4d8a Notify user that font changes require a Ghostty restart 2025-11-09 09:25:00 +01:00
David Heinemeier Hansson
4d3c02c69d Only restart if they are running 2025-11-09 09:22:48 +01:00
Dylan
e96bd085a5 Improve contrast on volume notification for Matte Black theme (#3212) 2025-11-09 08:10:12 +01:00
Rob Zolkos
64e581e5aa Use AAC audio codec for screen recordings (#3220)
AAC provides better cross-platform compatibility compared to Opus when
using MP4 containers. While Opus is supported in MP4, compatibility
varies across different media players and platforms.

In testing, screen recordings with Opus codec sent to Windows users
played without audio in Windows Media Player, while recordings with
AAC codec worked immediately without issues. AAC ensures recordings
are playable out-of-the-box across all platforms without requiring
users to install additional codecs or use alternative media players.
2025-11-09 08:08:23 +01:00
Chris Roth
694c83f518 Add binding to invoke last mako notification (#3232)
This additional bind lets the user follow the default action of a notification with a keystroke in the same position `,` as the other notification binds.
2025-11-09 08:07:09 +01:00
MatyiFKBT
49308eb12a Update Helium browser in omarchy-launch-webapp (#3225)
* Update Helium browser in omarchy-launch-webapp

see https://github.com/basecamp/omarchy/pull/1945#discussion_r2401957283

* Fix browser pattern matching in launch script for helium

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-09 08:06:23 +01:00
Adam
26d37ca2e0 Fix: hard-coded binding for changegroupactive (#3233)
Changed default bindings for switching to a window in a group. The original values did not respect different keyboard layouts.
2025-11-09 08:02:35 +01:00
Miguel P
c92362937a Use xdg-terminal-exec in TUI installer for terminal compatibility (#3237)
Replace hardcoded --class flag with xdg-terminal-exec --app-id to properly
support kitty and other terminals. This aligns with the rest of the codebase
and ensures floating window rules work correctly across different terminals.
2025-11-09 08:01:37 +01:00
Dmytro Budnyk
7a0fa07454 Update icon URL placeholder to accept SVG format (#3253)
SVGs work just fine, changing misleading caption
2025-11-09 07:50:36 +01:00
David Heinemeier Hansson
917279bff7 Merge branch 'master' into dev 2025-11-09 07:45:37 +01:00
David Heinemeier Hansson
8350b84eee This has been swapped 2025-11-09 07:17:38 +01:00
Ryan Hughes
d9acd35ef4 Version bump 2025-11-09 00:54:44 -05:00
Ryan Hughes
044e826bb7 Merge pull request #3258 from sk4rrjin/patch-1
Update pip.conf, fix Invalid rule/parameter errors after hyprland update
2025-11-09 00:43:25 -05:00
karr
57e726f0c5 Update pip.conf, fix Invalid rule/parameter errors after hyprland update
Updated hyprland throws Invalid rule / Invalid parameter on the pip windowrule
2025-11-08 23:37:30 +01:00
David Heinemeier Hansson
06fc4db4db Merge branch 'master' into dev 2025-11-07 21:54:13 +01:00
Ryan Hughes
15b5ee92d7 Merge pull request #3234 from basecamp/hotfix-limine-conf-location
Hotfix limine.conf order sourcing causing boot errors
2025-11-07 15:50:55 -05:00
Ryan Hughes
f6aa97350e Update to prevent error 2025-11-07 15:48:45 -05:00
David Heinemeier Hansson
5192c9b687 Ensure successful ending of migration 2025-11-07 21:35:41 +01:00
Ryan Hughes
e263b5d00a Only run for Limine installs 2025-11-07 15:09:34 -05:00
Ryan Hughes
26821c9b34 Cleanup on install 2025-11-07 15:04:23 -05:00
Ryan Hughes
7cd5661f89 Bump version 2025-11-07 14:57:19 -05:00
Ryan Hughes
6cdf4a3790 Remove any alternative limine.conf files 2025-11-07 14:46:29 -05:00
Ryan Hughes
c92a7eab81 Revert "Kill the actual screensaver command"
This reverts commit 33dde26902.
2025-11-06 11:32:19 -05:00
Ryan Hughes
8aa2d295e5 Revert "Make screensaver work with xdg-terminal-exec"
This reverts commit fc8e4c0400.
2025-11-06 11:32:10 -05:00
Ryan Hughes
5fb29c199a Revert "Update screensaver with 2x version"
This reverts commit b1b6e5d2a7.
2025-11-06 11:30:02 -05:00
David Heinemeier Hansson
962aca303d Change order and let it live forever 2025-11-06 09:14:33 +01:00
David Heinemeier Hansson
870356ecc3 Fix max_results to live under [providers]
Re #3175
2025-11-06 08:32:07 +01:00
David Heinemeier Hansson
cb03d7d84b Raise walker max_entries to 256
The default is only 50

Closes #3175
2025-11-05 17:29:10 +01:00
y0no
7a0bdaafa4 Scale with the right monitor (#3174) 2025-11-05 16:08:25 +01:00
David Heinemeier Hansson
638e35fcac Hyprland envs are superseeded by uwsm/env 2025-11-05 15:15:01 +01:00
David Heinemeier Hansson
904d253b4d Restart terminal (reload config) when changing font as well
This doesn't work for Ghostty (yet?) but it does work for Kitty
2025-11-05 11:59:51 +01:00
innerviewer
a40ff463c9 (Hypr) Added 'stayfocused' window rule for DaVinci Resolve dialog windows. (#3064) 2025-11-05 11:44:30 +01:00
Patrick Roza
8e210088c1 Fix class name for Microsoft Edge in browser.conf (#3145) 2025-11-05 11:20:28 +01:00
David Heinemeier Hansson
bf26366be4 Setting PS1 is not necessary when we have starship 2025-11-05 11:13:49 +01:00
David Heinemeier Hansson
4391df6853 Fix declining an update 2025-11-04 08:47:17 +01:00
David Heinemeier Hansson
2498216a4f Merge branch 'master' into dev 2025-11-04 08:35:27 +01:00
Ryan Hughes
33dde26902 Kill the actual screensaver command 2025-11-03 21:37:51 -05:00
Ryan Hughes
b1b6e5d2a7 Update screensaver with 2x version 2025-11-03 21:34:22 -05:00
Ryan Hughes
fc8e4c0400 Make screensaver work with xdg-terminal-exec 2025-11-03 21:34:22 -05:00
Ryan Hughes
f9557177dc Merge pull request #2648 from wolfgangw/patch-1
TTE go fullscreen: --no-eol (tte 0.12.2/0.13.0)
2025-11-03 21:33:06 -05:00
Ryan Hughes
3065ca9f2a Fix --dir 2025-11-03 15:37:46 -05:00
Ryan Hughes
ba5343ca11 Bump version 2025-11-03 15:37:27 -05:00
Wolfgang Woehl
1388a2558a Screensaver go fullscreen: --no-eol (tte 0.12.2/0.13.0) and --canvas-height 0 2025-10-21 02:44:41 +02:00
72 changed files with 299 additions and 150 deletions

View File

@@ -1,21 +0,0 @@
[Desktop Entry]
Type=Application
TryExec=alacritty
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupNotify=true
StartupWMClass=Alacritty
Actions=New;
X-TerminalArgExec=-e
X-TerminalArgAppId=--class=
X-TerminalArgTitle=--title=
X-TerminalArgDir=--working-directory=
[Desktop Action New]
Name=New Terminal
Exec=alacritty

View File

@@ -62,7 +62,7 @@ start_screenrecording() {
# Merge audio tracks into one - separate tracks only play one at a time in most players # Merge audio tracks into one - separate tracks only play one at a time in most players
[[ "$AUDIO" == "true" ]] && audio_args="-a default_output|default_input" [[ "$AUDIO" == "true" ]] && audio_args="-a default_output|default_input"
gpu-screen-recorder -w "$@" -f 60 -c mp4 -o "$filename" $audio_args & gpu-screen-recorder -w "$@" -f 60 -c mp4 $audio_args -ac aac -o "$filename" &
toggle_screenrecording_indicator toggle_screenrecording_indicator
} }

View File

@@ -1,13 +1,13 @@
#!/bin/bash #!/bin/bash
screensaver_in_focus() { screensaver_in_focus() {
hyprctl activewindow -j | jq -e '.class == "Screensaver"' >/dev/null 2>&1 hyprctl activewindow -j | jq -e '.class == "com.omarchy.Screensaver"' >/dev/null 2>&1
} }
exit_screensaver() { exit_screensaver() {
hyprctl keyword cursor:invisible false hyprctl keyword cursor:invisible false
pkill -x tte 2>/dev/null pkill -x tte 2>/dev/null
pkill -f "alacritty --class Screensaver" 2>/dev/null pkill -f com.omarchy.Screensaver 2>/dev/null
exit 0 exit 0
} }
@@ -18,7 +18,7 @@ hyprctl keyword cursor:invisible true &>/dev/null
while true; do while true; do
effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1) effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1)
tte -i ~/.config/omarchy/branding/screensaver.txt \ tte -i ~/.config/omarchy/branding/screensaver.txt \
--frame-rate 240 --canvas-width 0 --canvas-height $(($(tput lines) - 2)) --anchor-canvas c --anchor-text c \ --frame-rate 240 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c --no-eol \
"$effect" & "$effect" &
while pgrep -x tte >/dev/null; do while pgrep -x tte >/dev/null; do

View File

@@ -18,6 +18,7 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then
pkill -SIGUSR2 ghostty pkill -SIGUSR2 ghostty
fi fi
sed -i "s/font_family = .*/font_family = $font_name/g" ~/.config/hypr/hyprlock.conf
sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css
sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css
xmlstarlet ed -L \ xmlstarlet ed -L \
@@ -29,6 +30,10 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then
omarchy-restart-swayosd omarchy-restart-swayosd
omarchy-restart-walker omarchy-restart-walker
if pgrep -x ghostty; then
notify-send " You must restart Ghostty to see font change"
fi
omarchy-hook font-set "$font_name" omarchy-hook font-set "$font_name"
else else
echo "Font '$font_name' not found." echo "Font '$font_name' not found."

View File

@@ -50,6 +50,7 @@ ruby)
omarchy-pkg-add libyaml omarchy-pkg-add libyaml
mise use --global ruby@latest mise use --global ruby@latest
mise settings add idiomatic_version_file_enable_tools ruby mise settings add idiomatic_version_file_enable_tools ruby
echo "gem: --no-document" > ~/.gemrc
mise x ruby -- gem install rails --no-document mise x ruby -- gem install rails --no-document
echo -e "\nYou can now run: rails new myproject" echo -e "\nYou can now run: rails new myproject"
;; ;;

View File

@@ -9,31 +9,43 @@ package="$1"
# Map package name to desktop entry ID # Map package name to desktop entry ID
case "$package" in case "$package" in
alacritty) alacritty) desktop_id="Alacritty.desktop" ;;
desktop_id="Alacritty.desktop" ghostty) desktop_id="com.mitchellh.ghostty.desktop" ;;
;; kitty) desktop_id="kitty.desktop" ;;
ghostty) *)
desktop_id="com.mitchellh.ghostty.desktop" echo "Unknown terminal: $package"
;; exit 1
kitty) ;;
desktop_id="kitty.desktop"
;;
*)
echo "Unknown terminal: $package"
exit 1
;;
esac esac
# Install package # Install package
if omarchy-pkg-add $package; then if omarchy-pkg-add $package; then
# Set as default terminal
echo "Setting $package as new default terminal..."
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
# Copy custom desktop entry for alacritty with X-TerminalArg* keys # Copy custom desktop entry for alacritty with X-TerminalArg* keys
if [ "$package" = "alacritty" ]; then if [[ $package == "alacritty" ]]; then
mkdir -p ~/.local/share/applications mkdir -p ~/.local/share/applications
cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/ cat > ~/.local/share/applications/Alacritty.desktop << EOF
[Desktop Entry]
Type=Application
TryExec=alacritty
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupNotify=true
StartupWMClass=Alacritty
Actions=New;
X-TerminalArgExec=-e
X-TerminalArgAppId=--class=
X-TerminalArgTitle=--title=
X-TerminalArgDir=--working-directory=
[Desktop Action New]
Name=New Terminal
Exec=alacritty
EOF
fi fi
# Update xdg-terminals.list to prioritize the proper terminal # Update xdg-terminals.list to prioritize the proper terminal

View File

@@ -7,7 +7,7 @@ fi
WINDOW_PATTERN="$1" WINDOW_PATTERN="$1"
LAUNCH_COMMAND="${2:-"uwsm-app -- $WINDOW_PATTERN"}" LAUNCH_COMMAND="${2:-"uwsm-app -- $WINDOW_PATTERN"}"
WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class|test("\\b" + $p + "\\b";"i")) or (.title|test("\\b" + $p + "\\b";"i")))|.address' | head -n1) WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "^$WINDOW_PATTERN$" '.[]|select((.class|test("\\b" + $p + "\\b";"i")) or (.title|test("\\b" + $p + "\\b";"i")))|.address' | head -n1)
if [[ -n $WINDOW_ADDRESS ]]; then if [[ -n $WINDOW_ADDRESS ]]; then
hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS" hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS"

View File

@@ -6,7 +6,7 @@ if ! command -v tte &>/dev/null; then
fi fi
# Exit early if screensave is already running # Exit early if screensave is already running
pgrep -f "alacritty --class Screensaver" && exit 0 pgrep -f com.omarchy.Screensaver && exit 0
# Allow screensaver to be turned off but also force started # Allow screensaver to be turned off but also force started
if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then
@@ -14,15 +14,34 @@ if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]
fi fi
focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name') focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')
terminal=$(xdg-terminal-exec --print-id)
for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
hyprctl dispatch focusmonitor $m hyprctl dispatch focusmonitor $m
# FIXME: Find a way to make this generic where we it can work for kitty + ghostty case $terminal in
hyprctl dispatch exec -- \ *Alacritty*)
alacritty --class Screensaver \ hyprctl dispatch exec -- \
--config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \ alacritty --class=com.omarchy.Screensaver \
-e omarchy-cmd-screensaver --config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \
-e omarchy-cmd-screensaver
;;
*ghostty*)
hyprctl dispatch exec -- \
ghostty --class=com.omarchy.Screensaver \
--font-size=18 \
-e omarchy-cmd-screensaver
;;
*kitty*)
hyprctl dispatch exec -- \
kitty --class=com.omarchy.Screensaver \
--override font_size=18 \
-e omarchy-cmd-screensaver
;;
*)
notify-send "✋ Screensaver only runs in Alacritty, Ghostty, or Kitty"
;;
esac
done done
hyprctl dispatch focusmonitor $focused hyprctl dispatch focusmonitor $focused

View File

@@ -3,7 +3,7 @@
browser=$(xdg-settings get default-web-browser) browser=$(xdg-settings get default-web-browser)
case $browser in case $browser in
google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium-browser*) ;; google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium*) ;;
*) browser="chromium.desktop" ;; *) browser="chromium.desktop" ;;
esac esac

View File

@@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Impala -e impala "$@" exec setsid omarchy-launch-or-focus com.omarchy.Impala "uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Impala -e impala"

View File

@@ -9,4 +9,4 @@ if pgrep -x "1password" >/dev/null; then
fi fi
# Avoid running screensaver when locked # Avoid running screensaver when locked
pkill -f "alacritty --class Screensaver" pkill -f com.omarchy.Screensaver

View File

@@ -33,7 +33,7 @@ menu() {
fi fi
fi fi
echo -e "$options" | omarchy-launch-walker --dmenu --width 295 --minheight 1 --maxheight 600 -p "$prompt…" "${args[@]}" 2>/dev/null echo -e "$options" | omarchy-launch-walker --dmenu --width 295 --minheight 1 --maxheight 630 -p "$prompt…" "${args[@]}" 2>/dev/null
} }
terminal() { terminal() {
@@ -124,7 +124,7 @@ show_screenrecord_menu() {
show_share_menu() { show_share_menu() {
case $(menu "Share" " Clipboard\n File \n Folder") in case $(menu "Share" " Clipboard\n File \n Folder") in
*Clipboard*) terminal bash -c "omarchy-cmd-share clipboard" ;; *Clipboard*) omarchy-cmd-share clipboard ;;
*File*) terminal bash -c "omarchy-cmd-share file" ;; *File*) terminal bash -c "omarchy-cmd-share file" ;;
*Folder*) terminal bash -c "omarchy-cmd-share folder" ;; *Folder*) terminal bash -c "omarchy-cmd-share folder" ;;
*) back_to show_trigger_menu ;; *) back_to show_trigger_menu ;;

View File

@@ -2,6 +2,6 @@
omarchy-refresh-config hypr/autostart.conf omarchy-refresh-config hypr/autostart.conf
omarchy-refresh-config hypr/bindings.conf omarchy-refresh-config hypr/bindings.conf
omarchy-refresh-config hypr/envs.conf
omarchy-refresh-config hypr/input.conf omarchy-refresh-config hypr/input.conf
omarchy-refresh-config hypr/looknfeel.conf
omarchy-refresh-config hypr/hyprland.conf omarchy-refresh-config hypr/hyprland.conf

View File

@@ -1,3 +1,7 @@
#!/bin/bash #!/bin/bash
sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist 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

View File

@@ -4,5 +4,10 @@ if [[ -f ~/.config/alacritty/alacritty.toml ]]; then
touch ~/.config/alacritty/alacritty.toml touch ~/.config/alacritty/alacritty.toml
fi fi
killall -SIGUSR1 kitty if pgrep -x kitty; then
killall -SIGUSR2 ghostty killall -SIGUSR1 kitty
fi
if pgrep -x ghostty; then
killall -SIGUSR2 ghostty
fi

View File

@@ -51,6 +51,16 @@ EOF
fi fi
} }
add_hyprlock_fingerprint_icon() {
print_info "Adding fingerprint icon to hyprlock placeholder text..."
sed -i 's/placeholder_text = .*/placeholder_text = <span> Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf
}
remove_hyprlock_fingerprint_icon() {
print_info "Removing fingerprint icon from hyprlock placeholder text..."
sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf
}
remove_pam_config() { remove_pam_config() {
# Remove from sudo # Remove from sudo
if grep -q pam_fprintd.so /etc/pam.d/sudo; then if grep -q pam_fprintd.so /etc/pam.d/sudo; then
@@ -71,6 +81,9 @@ if [[ "--remove" == "$1" ]]; then
# Remove PAM configuration # Remove PAM configuration
remove_pam_config remove_pam_config
# Remove fingerprint icon from hyprlock placeholder text
remove_hyprlock_fingerprint_icon
# Uninstall packages # Uninstall packages
print_info "Removing fingerprint packages..." print_info "Removing fingerprint packages..."
sudo pacman -Rns --noconfirm fprintd sudo pacman -Rns --noconfirm fprintd
@@ -90,6 +103,9 @@ else
# Configure PAM # Configure PAM
setup_pam_config setup_pam_config
# Add fingerprint icon to hyprlock placeholder text
add_hyprlock_fingerprint_icon
# Enroll first fingerprint # Enroll first fingerprint
print_success "\nLet's setup your right index finger as the first fingerprint." print_success "\nLet's setup your right index finger as the first fingerprint."
print_info "Keep moving the finger around on sensor until the process completes.\n" print_info "Keep moving the finger around on sensor until the process completes.\n"

View File

@@ -28,12 +28,12 @@ if pgrep -x waybar >/dev/null; then
omarchy-restart-waybar omarchy-restart-waybar
fi fi
omarchy-restart-swayosd omarchy-restart-swayosd
omarchy-restart-terminal
hyprctl reload hyprctl reload
pkill -SIGUSR2 btop pkill -SIGUSR2 btop
makoctl reload makoctl reload
# Change gnome, browser, vscode, cursor themes # Change gnome, browser, vscode, cursor themes
omarchy-theme-set-terminal
omarchy-theme-set-gnome omarchy-theme-set-gnome
omarchy-theme-set-browser omarchy-theme-set-browser
omarchy-theme-set-vscode omarchy-theme-set-vscode

View File

@@ -391,7 +391,7 @@ extract_theme_data() {
readarray -t color_slots < <(fill_color_slots "${unique_colors[@]}" | tr ' ' '\n') readarray -t color_slots < <(fill_color_slots "${unique_colors[@]}" | tr ' ' '\n')
# Extract fonts # Extract fonts
local monospace_font="CaskaydiaMono Nerd Font" local monospace_font="JetBrainsMono Nerd Font"
local ui_font="Liberation Sans" local ui_font="Liberation Sans"
if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then

View File

@@ -5,7 +5,7 @@ if [ "$#" -ne 4 ]; then
APP_NAME=$(gum input --prompt "Name> " --placeholder "My TUI") APP_NAME=$(gum input --prompt "Name> " --placeholder "My TUI")
APP_EXEC=$(gum input --prompt "Launch Command> " --placeholder "lazydocker or bash -c 'dust; read -n 1 -s'") APP_EXEC=$(gum input --prompt "Launch Command> " --placeholder "lazydocker or bash -c 'dust; read -n 1 -s'")
WINDOW_STYLE=$(gum choose --header "Window style" float tile) WINDOW_STYLE=$(gum choose --header "Window style" float tile)
ICON_URL=$(gum input --prompt "Icon URL> " --placeholder "See https://dashboardicons.com (must use PNG!)") ICON_URL=$(gum input --prompt "Icon URL> " --placeholder "See https://dashboardicons.com (must use PNG or SVG!)")
else else
APP_NAME="$1" APP_NAME="$1"
APP_EXEC="$2" APP_EXEC="$2"
@@ -43,7 +43,7 @@ cat >"$DESKTOP_FILE" <<EOF
Version=1.0 Version=1.0
Name=$APP_NAME Name=$APP_NAME
Comment=$APP_NAME Comment=$APP_NAME
Exec=\$TERMINAL --class=$APP_CLASS -e $APP_EXEC Exec=xdg-terminal-exec --app-id=$APP_CLASS -e $APP_EXEC
Terminal=false Terminal=false
Type=Application Type=Application
Icon=$ICON_PATH Icon=$ICON_PATH

View File

@@ -4,7 +4,8 @@ set -e
trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR
omarchy-update-confirm if omarchy-update-confirm; then
omarchy-snapshot create || [ $? -eq 127 ] omarchy-snapshot create || [ $? -eq 127 ]
omarchy-update-git omarchy-update-git
omarchy-update-perform omarchy-update-perform
fi

View File

@@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
gum style --border normal --border-foreground 6 --padding "1 2" \ gum style --border normal --border-foreground 6 --padding "1 2" \
"Ready to update Omarchy?" \ "Ready to update Omarchy?" \
"" \ "" \
@@ -10,5 +8,5 @@ gum style --border normal --border-foreground 6 --padding "1 2" \
if ! gum confirm "Continue with update?"; then if ! gum confirm "Continue with update?"; then
echo "Update cancelled" echo "Update cancelled"
exit 0 exit 1
fi fi

View File

@@ -327,7 +327,7 @@ To stop: omarchy-windows-vm stop"
"$LIFECYCLE" "$LIFECYCLE"
# Detect display scale from Hyprland # Detect display scale from Hyprland
HYPR_SCALE=$(hyprctl monitors -j | jq -r '.[0].scale') HYPR_SCALE=$(hyprctl monitors -j | jq -r '.[] | select (.focused == true) | .scale')
SCALE_PERCENT=$(echo "$HYPR_SCALE" | awk '{print int($1 * 100)}') SCALE_PERCENT=$(echo "$HYPR_SCALE" | awk '{print int($1 * 100)}')
RDP_SCALE="" RDP_SCALE=""

View File

@@ -4,9 +4,9 @@ general.import = [ "~/.config/omarchy/current/theme/alacritty.toml" ]
TERM = "xterm-256color" TERM = "xterm-256color"
[font] [font]
normal = { family = "CaskaydiaMono Nerd Font", style = "Regular" } normal = { family = "JetBrainsMono Nerd Font", style = "Regular" }
bold = { family = "CaskaydiaMono Nerd Font", style = "Bold" } bold = { family = "JetBrainsMono Nerd Font", style = "Bold" }
italic = { family = "CaskaydiaMono Nerd Font", style = "Italic" } italic = { family = "JetBrainsMono Nerd Font", style = "Italic" }
size = 9 size = 9
[window] [window]

View File

@@ -24,7 +24,7 @@
<string>monospace</string> <string>monospace</string>
</test> </test>
<edit name="family" mode="assign" binding="strong"> <edit name="family" mode="assign" binding="strong">
<string>CaskaydiaMono Nerd Font</string> <string>JetBrainsMono Nerd Font</string>
</edit> </edit>
</match> </match>

View File

@@ -2,7 +2,7 @@
config-file = ?"~/.config/omarchy/current/theme/ghostty.conf" config-file = ?"~/.config/omarchy/current/theme/ghostty.conf"
# Font # Font
font-family = "CaskaydiaMono Nerd Font" font-family = "JetBrainsMono Nerd Font"
font-style = Regular font-style = Regular
font-size = 9 font-size = 9
@@ -25,3 +25,6 @@ shell-integration-features = no-cursor,ssh-env
# Keyboard bindings # Keyboard bindings
keybind = shift+insert=paste_from_clipboard keybind = shift+insert=paste_from_clipboard
keybind = control+insert=copy_to_clipboard keybind = control+insert=copy_to_clipboard
# Slowdown mouse scrolling
mouse-scroll-multiplier = 0.95

View File

@@ -2,7 +2,7 @@
$terminal = uwsm-app -- xdg-terminal-exec $terminal = uwsm-app -- xdg-terminal-exec
$browser = omarchy-launch-browser $browser = omarchy-launch-browser
bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)" bindd = SUPER, RETURN, Terminal, exec, $terminal --dir="$(omarchy-cmd-terminal-cwd)"
bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window
bindd = SUPER SHIFT, B, Browser, exec, $browser bindd = SUPER SHIFT, B, Browser, exec, $browser
bindd = SUPER SHIFT ALT, B, Browser (private), exec, $browser --private bindd = SUPER SHIFT ALT, B, Browser (private), exec, $browser --private
@@ -11,7 +11,7 @@ bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor
bindd = SUPER SHIFT, T, Activity, exec, $terminal -e btop bindd = SUPER SHIFT, T, Activity, exec, $terminal -e btop
bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker
bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop" bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop"
bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime
bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password

View File

@@ -1,2 +0,0 @@
# Extra env variables
# env = MY_GLOBAL_ENV,setting

View File

@@ -16,7 +16,6 @@ source = ~/.config/omarchy/current/theme/hyprland.conf
source = ~/.config/hypr/monitors.conf source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/input.conf source = ~/.config/hypr/input.conf
source = ~/.config/hypr/bindings.conf source = ~/.config/hypr/bindings.conf
source = ~/.config/hypr/envs.conf
source = ~/.config/hypr/looknfeel.conf source = ~/.config/hypr/looknfeel.conf
source = ~/.config/hypr/autostart.conf source = ~/.config/hypr/autostart.conf

View File

@@ -22,10 +22,10 @@ input-field {
outer_color = $outer_color outer_color = $outer_color
outline_thickness = 4 outline_thickness = 4
font_family = CaskaydiaMono Nerd Font Propo font_family = JetBrainsMono Nerd Font
font_color = $font_color font_color = $font_color
placeholder_text = Enter Password 󰈷 placeholder_text = Enter Password
check_color = $check_color check_color = $check_color
fail_text = <i>$FAIL ($ATTEMPTS)</i> fail_text = <i>$FAIL ($ATTEMPTS)</i>

View File

@@ -3,7 +3,7 @@
input { input {
# Use multiple keyboard layouts and switch between them with Left Alt + Right Alt # Use multiple keyboard layouts and switch between them with Left Alt + Right Alt
# kb_layout = us,dk,eu # kb_layout = us,dk,eu
kb_options = compose:caps # ,grp:shifts_toggle kb_options = compose:caps # ,grp:alts_toggle
# Change speed of keyboard repeat # Change speed of keyboard repeat
repeat_rate = 40 repeat_rate = 40

View File

@@ -1,2 +1,13 @@
[binds] [binds]
<Ctrl+p> = exec lp $imv_current_file
# Print the current image file
<Ctrl+p> = exec lp "$imv_current_file"
# Delete the current image and quit the viewer
<Ctrl+x> = exec rm "$imv_current_file"; quit
# Delete the current image and move to the next one
<Ctrl+Shift+X> = exec rm "$imv_current_file"; close
# Rotate the currently open image by 90 degrees
<Ctrl+r> = exec mogrify -rotate 90 "$imv_current_file"

View File

@@ -1,7 +1,7 @@
include ~/.config/omarchy/current/theme/kitty.conf include ~/.config/omarchy/current/theme/kitty.conf
# Font # Font
font_family CaskaydiaMono Nerd Font font_family JetBrainsMono Nerd Font
bold_italic_font auto bold_italic_font auto
font_size 9.0 font_size 9.0

View File

@@ -9,7 +9,7 @@ window {
} }
label { label {
font-family: 'CaskaydiaMono Nerd Font'; font-family: 'JetBrainsMono Nerd Font';
font-size: 11pt; font-size: 11pt;
color: @label; color: @label;

View File

@@ -1,6 +1,6 @@
force_keyboard_focus = true # forces keyboard forcus to stay in Walker force_keyboard_focus = true # forces keyboard forcus to stay in Walker
selection_wrap = true # wrap list if at bottom or top selection_wrap = true # wrap list if at bottom or top
theme = "omarchy-default" # theme to use theme = "omarchy-default" # theme to use
additional_theme_location = "~/.local/share/omarchy/default/walker/themes/" additional_theme_location = "~/.local/share/omarchy/default/walker/themes/"
[placeholders] [placeholders]
@@ -10,6 +10,7 @@ additional_theme_location = "~/.local/share/omarchy/default/walker/themes/"
quick_activate = [] quick_activate = []
[providers] [providers]
max_results = 256 # 256 should be enough for everyone
default = [ default = [
"desktopapplications", "desktopapplications",
"menus", "menus",

View File

@@ -7,7 +7,7 @@
border: none; border: none;
border-radius: 0; border-radius: 0;
min-height: 0; min-height: 0;
font-family: 'CaskaydiaMono Nerd Font'; font-family: 'JetBrainsMono Nerd Font';
font-size: 12px; font-size: 12px;
} }

View File

@@ -0,0 +1,3 @@
# Terminal emulator preference order for xdg-terminal-exec
# The first found and valid terminal will be used
com.mitchellh.ghostty.desktop

View File

@@ -25,14 +25,21 @@ format-drive() {
else else
echo "WARNING: This will completely erase all data on $1 and label it '$2'." echo "WARNING: This will completely erase all data on $1 and label it '$2'."
read -rp "Are you sure you want to continue? (y/N): " confirm read -rp "Are you sure you want to continue? (y/N): " confirm
if [[ "$confirm" =~ ^[Yy]$ ]]; then if [[ "$confirm" =~ ^[Yy]$ ]]; then
sudo wipefs -a "$1" sudo wipefs -a "$1"
sudo dd if=/dev/zero of="$1" bs=1M count=100 status=progress sudo dd if=/dev/zero of="$1" bs=1M count=100 status=progress
sudo parted -s "$1" mklabel gpt sudo parted -s "$1" mklabel gpt
sudo parted -s "$1" mkpart primary ext4 1MiB 100% sudo parted -s "$1" mkpart primary 1MiB 100%
sudo mkfs.ext4 -L "$2" "$([[ $1 == *"nvme"* ]] && echo "${1}p1" || echo "${1}1")"
sudo chmod -R 777 "/run/media/$USER/$2" partition="$([[ $1 == *"nvme"* ]] && echo "${1}p1" || echo "${1}1")"
echo "Drive $1 formatted and labeled '$2'." sudo partprobe "$1" || true
sudo udevadm settle || true
omarchy-pkg-add exfatprogs
sudo mkfs.exfat -n "$2" "$partition"
echo "Drive $1 formatted as exFAT and labeled '$2'."
fi fi
fi fi
} }

View File

@@ -10,6 +10,10 @@ if command -v zoxide &> /dev/null; then
eval "$(zoxide init bash)" eval "$(zoxide init bash)"
fi fi
if command -v try &> /dev/null; then
eval "$(try init ~/Work/tries)"
fi
if command -v fzf &> /dev/null; then if command -v fzf &> /dev/null; then
if [[ -f /usr/share/fzf/completion.bash ]]; then if [[ -f /usr/share/fzf/completion.bash ]]; then
source /usr/share/fzf/completion.bash source /usr/share/fzf/completion.bash

View File

@@ -1,7 +0,0 @@
# Technicolor dreams
force_color_prompt=yes
color_prompt=yes
# Simple prompt with path in the window/pane title and caret for typing line
PS1=$'\uf0a9 '
PS1="\[\e]0;\w\a\]$PS1"

View File

@@ -1,7 +1,6 @@
source ~/.local/share/omarchy/default/bash/shell source ~/.local/share/omarchy/default/bash/shell
source ~/.local/share/omarchy/default/bash/aliases source ~/.local/share/omarchy/default/bash/aliases
source ~/.local/share/omarchy/default/bash/functions 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/init
source ~/.local/share/omarchy/default/bash/envs source ~/.local/share/omarchy/default/bash/envs
[[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc [[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc

View File

@@ -1 +1,2 @@
windowrule = noscreenshare, class:^(1Password)$ windowrule = noscreenshare, class:^(1[p|P]assword)$
windowrule = tag +floating-window, class:^(1[p|P]assword)$

View File

@@ -1,5 +1,5 @@
# Browser types # Browser types
windowrule = tag +chromium-based-browser, class:((google-)?[cC]hrom(e|ium)|[bB]rave-browser|Microsoft-edge|Vivaldi-stable|helium) windowrule = tag +chromium-based-browser, class:((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium)
windowrule = tag +firefox-based-browser, class:([fF]irefox|zen|librewolf) windowrule = tag +firefox-based-browser, class:([fF]irefox|zen|librewolf)
# Force chromium-based browsers into a tile to deal with --app bug # Force chromium-based browsers into a tile to deal with --app bug

View File

@@ -0,0 +1,2 @@
# Focus floating DaVinci Resolve dialog windows
windowrule = stayfocused, class:.*[Rr]esolve.*, floating:1

View File

@@ -1,9 +1,19 @@
# JetBrains windows default size # Fix splash screen showing in weird places and prevent annoying focus takeovers
windowrule = size 50% 50%, class:(.*jetbrains.*)$, title:^$ windowrule = tag +jetbrains-splash, class:^(jetbrains-.*)$, title:^(splash)$, floating:1
windowrule = center, tag:jetbrains-splash
windowrule = nofocus, tag:jetbrains-splash
windowrule = noborder, tag:jetbrains-splash
# Fix tab dragging (tab titles are just one space) # Center popups/find windows
windowrule = noinitialfocus, class:^(.*jetbrains.*)$, title:^\\s$ windowrule = tag +jetbrains, class:^(jetbrains-.*), title:^()$, floating:1
windowrule = center, tag:jetbrains
# Allow dialogs (like "Send usage statistics") to be focusable and clickable # Enabling this makes it possible to provide input in popup dialogs (search window, new file, etc.)
windowrule = unset,nofocus,class:^(.*jetbrains.*)$,title:^$ windowrule = stayfocused, tag:jetbrains
windowrule = unset,noinitialfocus,class:^(.*jetbrains.*)$,title:^$ windowrule = noborder, tag:jetbrains
# For some reason tag:jetbrains does not work for size rule
windowrule = size >50% >50%, class:^(jetbrains-.*), title:^()$, floating:1
# Disable window flicker when autocomplete or tooltips appear
windowrule = noinitialfocus, class:^(jetbrains-.*)$, title:^(win.*)$, floating:1

View File

@@ -1,5 +1,5 @@
# Picture-in-picture overlays # Picture-in-picture overlays
windowrule = tag +pip, title:(Picture.{0,1}in.{0,1}[Pp]icture) windowrule = tag +pip, title:(Picture.?in.?[Pp]icture)
windowrule = float, tag:pip windowrule = float, tag:pip
windowrule = pin, tag:pip windowrule = pin, tag:pip
windowrule = size 600 338, tag:pip windowrule = size 600 338, tag:pip

View File

@@ -8,7 +8,7 @@ windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|De
windowrule = float, class:org.gnome.Calculator windowrule = float, class:org.gnome.Calculator
# Fullscreen screensaver # Fullscreen screensaver
windowrule = fullscreen, class:Screensaver windowrule = fullscreen, class:com.omarchy.Screensaver
# No transparency on media windows # No transparency on media windows
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$ windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$

View File

@@ -48,6 +48,10 @@ bindd = SUPER, TAB, Next workspace, workspace, e+1
bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1 bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1
bindd = SUPER CTRL, TAB, Former workspace, workspace, previous bindd = SUPER CTRL, TAB, Former workspace, workspace, previous
# Move workspaces to other monitors
bindd = SUPER SHIFT ALT, LEFT, Move workspace to left monitor, movecurrentworkspacetomonitor, l
bindd = SUPER SHIFT ALT, RIGHT, Move workspace to right monitor, movecurrentworkspacetomonitor, r
# Swap active window with the one next to it with SUPER + SHIFT + arrow keys # Swap active window with the one next to it with SUPER + SHIFT + arrow keys
bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l
bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r
@@ -87,14 +91,14 @@ bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d
# Navigate a single set of grouped windows # Navigate a single set of grouped windows
bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f
bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b
bindd = SUPER ALT, page_up, Next window in group, changegroupactive, f
# Scroll through a set of grouped windows with SUPER + ALT + scroll bindd = SUPER ALT, page_down, Previous window in group, changegroupactive, b
bindd = SUPER ALT, mouse_down, Next window in group, changegroupactive, f bindd = SUPER ALT, mouse_down, Next window in group, changegroupactive, f
bindd = SUPER ALT, mouse_up, Previous window in group, changegroupactive, b bindd = SUPER ALT, mouse_up, Previous window in group, changegroupactive, b
# Activate window in a group by number # Activate window in a group by number
bindd = SUPER ALT, 1, Switch to group window 1, changegroupactive, 1 bindd = SUPER ALT, code:10, Switch to group window 1, changegroupactive, 1
bindd = SUPER ALT, 2, Switch to group window 2, changegroupactive, 2 bindd = SUPER ALT, code:11, Switch to group window 2, changegroupactive, 2
bindd = SUPER ALT, 3, Switch to group window 3, changegroupactive, 3 bindd = SUPER ALT, code:12, Switch to group window 3, changegroupactive, 3
bindd = SUPER ALT, 4, Switch to group window 4, changegroupactive, 4 bindd = SUPER ALT, code:13, Switch to group window 4, changegroupactive, 4
bindd = SUPER ALT, 5, Switch to group window 5, changegroupactive, 5 bindd = SUPER ALT, code:14, Switch to group window 5, changegroupactive, 5

View File

@@ -18,6 +18,7 @@ bindd = SUPER SHIFT, BACKSPACE, Toggle workspace gaps, exec, omarchy-hyprland-wo
bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss
bindd = SUPER SHIFT, COMMA, Dismiss all notifications, exec, makoctl dismiss --all bindd = SUPER SHIFT, COMMA, Dismiss all notifications, exec, makoctl dismiss --all
bindd = SUPER CTRL, COMMA, Toggle silencing notifications, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications" bindd = SUPER CTRL, COMMA, Toggle silencing notifications, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications"
bindd = SUPER ALT, COMMA, Invoke last notification, exec, makoctl invoke
# Toggle idling # Toggle idling
bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle

View File

@@ -14,3 +14,8 @@ input {
natural_scroll = false natural_scroll = false
} }
} }
misc {
key_press_enables_dpms = true # key press will trigger wake
mouse_move_enables_dpms = true # mouse move will trigger wake
}

View File

@@ -38,8 +38,11 @@ decoration {
# https://wiki.hyprland.org/Configuring/Variables/#blur # https://wiki.hyprland.org/Configuring/Variables/#blur
blur { blur {
enabled = true enabled = true
size = 3 size = 2
passes = 3 passes = 2
special = true
brightness = 0.60
contrast = 0.75
} }
} }

View File

@@ -1,3 +0,0 @@
Server = https://mirror.omarchy.org/$repo/os/$arch
Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch

View File

@@ -0,0 +1 @@
Server = https://mirror.omarchy.org/$repo/os/$arch

View File

@@ -0,0 +1 @@
Server = https://stable-mirror.omarchy.org/$repo/os/$arch

View File

@@ -1,6 +1,8 @@
# Add ./bin to path for all items in ~/Work # Setup default work directory (and tries)
mkdir -p "$HOME/Work" mkdir -p "$HOME/Work"
mkdir -p "$HOME/Work/tries"
# Add ./bin to path for all items in ~/Work
cat >"$HOME/Work/.mise.toml" <<'EOF' cat >"$HOME/Work/.mise.toml" <<'EOF'
[env] [env]
_.path = "{{ cwd }}/bin" _.path = "{{ cwd }}/bin"

View File

@@ -1,6 +1,6 @@
if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then
notify-send "󰖩 Click to Setup Wi-Fi" "Tab to navigate, Space to select, ? for help." -u critical -t 30000
notify-send " Update System" "When you have internet, click to update the system." -u critical notify-send " Update System" "When you have internet, click to update the system." -u critical
notify-send "󰖩 Click to Setup Wi-Fi" "Tab to navigate, Space to select, ? for help." -u critical
else else
notify-send " Update System" "Click to update the system." -u critical notify-send " Update System" "Click to update the system." -u critical
fi fi

View File

@@ -78,6 +78,11 @@ term_background_bright: 24283b
EOF EOF
# Remove the original config file if it's not /boot/limine.conf
if [[ "$limine_config" != "/boot/limine.conf" ]] && [[ -f "$limine_config" ]]; then
sudo rm "$limine_config"
fi
# Match Snapper configs if not installing from the ISO # Match Snapper configs if not installing from the ISO
if [[ -z ${OMARCHY_CHROOT_INSTALL:-} ]]; then if [[ -z ${OMARCHY_CHROOT_INSTALL:-} ]]; then

View File

@@ -4,7 +4,6 @@
1password-beta 1password-beta
1password-cli 1password-cli
aether aether
alacritty
asdcontrol asdcontrol
avahi avahi
bash-completion bash-completion
@@ -12,7 +11,6 @@ bat
blueberry blueberry
brightnessctl brightnessctl
btop btop
cargo
clang clang
cups cups
cups-browsed cups-browsed
@@ -33,6 +31,7 @@ fd
ffmpegthumbnailer ffmpegthumbnailer
fontconfig fontconfig
fzf fzf
ghostty
github-cli github-cli
gnome-calculator gnome-calculator
gnome-keyring gnome-keyring
@@ -45,7 +44,7 @@ gvfs-nfs
gvfs-smb gvfs-smb
hypridle hypridle
hyprland hyprland
hyprland-qtutils hyprland-guiutils
hyprlock hyprlock
hyprpicker hyprpicker
hyprsunset hyprsunset
@@ -64,12 +63,12 @@ less
libsecret libsecret
libyaml libyaml
libqalculate libqalculate
libreoffice libreoffice-fresh
llvm llvm
localsend localsend
luarocks luarocks
mako mako
man man-db
mariadb-libs mariadb-libs
mise mise
mpv mpv
@@ -99,6 +98,8 @@ python-poetry-core
python-terminaltexteffects python-terminaltexteffects
qt5-wayland qt5-wayland
ripgrep ripgrep
ruby
rust
satty satty
sddm sddm
signal-desktop signal-desktop
@@ -111,6 +112,7 @@ swayosd
system-config-printer system-config-printer
tldr tldr
tree-sitter-cli tree-sitter-cli
tobi-try
ttf-cascadia-mono-nerd ttf-cascadia-mono-nerd
ttf-ia-writer ttf-ia-writer
ttf-jetbrains-mono-nerd ttf-jetbrains-mono-nerd
@@ -119,6 +121,7 @@ tzupdate
ufw ufw
ufw-docker ufw-docker
unzip unzip
usage
uwsm uwsm
waybar waybar
wayfreeze wayfreeze

View File

@@ -35,7 +35,6 @@ pipewire
pipewire-alsa pipewire-alsa
pipewire-jack pipewire-jack
pipewire-pulse pipewire-pulse
qt5-remoteobjects
qt6-wayland qt6-wayland
sassc sassc
snapper snapper

View File

@@ -1,6 +1,6 @@
# Configure pacman # Configure pacman
sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf
sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist
if lspci -nn | grep -q "106b:180[12]"; then if lspci -nn | grep -q "106b:180[12]"; then
cat <<EOF | sudo tee -a /etc/pacman.conf >/dev/null cat <<EOF | sudo tee -a /etc/pacman.conf >/dev/null

View File

@@ -12,15 +12,9 @@ omarchy-pkg-add xdg-terminal-exec
# Set up xdg-terminals.list based on current $TERMINAL # Set up xdg-terminals.list based on current $TERMINAL
if [ -n "$TERMINAL" ]; then if [ -n "$TERMINAL" ]; then
case "$TERMINAL" in case "$TERMINAL" in
alacritty) alacritty) desktop_id="Alacritty.desktop" ;;
desktop_id="Alacritty.desktop" ghostty) desktop_id="com.mitchellh.ghostty.desktop" ;;
;; kitty) desktop_id="kitty.desktop" ;;
ghostty)
desktop_id="com.mitchellh.ghostty.desktop"
;;
kitty)
desktop_id="kitty.desktop"
;;
esac esac
if [ -n "$desktop_id" ]; then if [ -n "$desktop_id" ]; then

5
migrations/1762352101.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Increase Walker limit on how many entries can be shown to 256"
if ! grep -q "max_results" ~/.config/walker/config.toml; then
sed -i '/^\[providers\]$/a max_results = 256' ~/.config/walker/config.toml
fi

12
migrations/1762446739.sh Normal file
View File

@@ -0,0 +1,12 @@
echo "Remove alternative limine.conf files"
if omarchy-cmd-present limine; then
if [ ! -f /boot/limine.conf ]; then
echo "Error: /boot/limine.conf does not exist. Do not reboot without resolving this issue!"
exit 1
fi
sudo rm -f /boot/EFI/limine/limine.conf
sudo rm -f /boot/EFI/BOOT/limine.conf
sudo rm -f /boot/limine/limine.conf
fi

12
migrations/1762684663.sh Normal file
View File

@@ -0,0 +1,12 @@
echo "Update hyprlock font to match current system font"
font_name=$(omarchy-font-current)
if [[ -n "$font_name" ]]; then
cp ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak.$(date +%s)
echo "Found font '$font_name', updating hyprlock"
sed -i "s/font_family = .*/font_family = $font_name/g" ~/.config/hypr/hyprlock.conf
else
echo "No font found, skipping migration"
fi

12
migrations/1762685081.sh Normal file
View File

@@ -0,0 +1,12 @@
echo "Update hyprlock placeholder text based on fingerprint setup status"
cp ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak.$(date +%s)
# Check if fprintd is installed and has enrolled fingerprints
if command -v fprintd-list &>/dev/null && fprintd-list "$USER" 2>/dev/null | grep -q "Fingerprints for user"; then
echo "Fingerprint detected, updating placeholder text with fingerprint icon"
sed -i 's/placeholder_text = .*/placeholder_text = <span> Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf
else
echo "No fingerprint enrolled, updating placeholder text without fingerprint icon"
sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf
fi

3
migrations/1762711005.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Add usage package to provide tab completion for mise"
omarchy-pkg-add usage

3
migrations/1762768186.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Ensure config/uwsm/default uses generic terminal exec"
sed -i 's/export TERMINAL=.*/export TERMINAL=xdg-terminal-exec/' ~/.config/uwsm/default

5
migrations/1762770442.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Slow down Ghostty mouse scrolling to match Alacritty"
if ! grep -q "mouse-scroll-multiplier" ~/.config/ghostty/config; then
echo -e "\n# Slowdown mouse scrolling\nmouse-scroll-multiplier = 0.95" >> ~/.config/ghostty/config
fi

3
migrations/1762770815.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Pull packages from stable Arch mirror"
omarchy-refresh-pacman-mirrorlist stable

4
migrations/1762781907.sh Normal file
View File

@@ -0,0 +1,4 @@
echo "Add try command for managing quick code experiments"
omarchy-pkg-add ruby tobi-try
mkdir -p ~/Work/tries

4
migrations/1762802472.sh Normal file
View File

@@ -0,0 +1,4 @@
echo "Update imv config with new keybindings"
mkdir -p ~/.config/imv
cp $OMARCHY_PATH/config/imv/config ~/.config/imv/

View File

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

View File

@@ -1 +1 @@
3.1.5 3.1.7