Compare commits

...
48 Commits
Author SHA1 Message Date
David Heinemeier HanssonandGitHub c44dcdfacb Merge pull request #4806 from basecamp/dev
Omarchy 3.4.1
2026-02-28 18:34:49 +01:00
David Heinemeier Hansson bce8263675 Update toggle split window binding
Fixes #4809
2026-02-28 18:33:21 +01:00
David Heinemeier Hansson eb4f9bd5c8 Better description 2026-02-28 18:17:25 +01:00
David Heinemeier Hansson 42e20870d3 Use slide in animation for screensaver
Co-authored-by: @ieocin
Fixes #4815
2026-02-28 18:14:41 +01:00
David Heinemeier Hansson eb7457d227 Force color output even as we're capturing the update log 2026-02-28 18:14:14 +01:00
David Heinemeier Hansson 82e779fc5f B not b 2026-02-28 18:09:49 +01:00
David Heinemeier Hansson b3c6a095f9 Consistent naming 2026-02-28 18:07:59 +01:00
748fbed3bd Update default/hypr/bindings/tiling-v2.conf
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-28 18:07:22 +01:00
David Heinemeier HanssonandGitHub 7c1670b474 Merge pull request #4808 from rez1coder/migration-typo
migration(1772211023): fix overflow typo
2026-02-28 18:04:47 +01:00
David Heinemeier Hansson a4303e1782 Use fixed framework for easier importing into kdenlive 2026-02-28 17:56:35 +01:00
David Heinemeier Hansson 7d95dcdfc7 In order of apperance 2026-02-28 17:51:59 +01:00
David Heinemeier Hansson aabaef83ea Cap recordings to 4K and do start/stop correctly and no indicator until recording 2026-02-28 17:46:57 +01:00
David Heinemeier Hansson 7934b0d51b Add tmux alt+arrow bindings if missing 2026-02-28 17:01:11 +01:00
David Heinemeier Hansson aa3ea5b04a Just recommend scrolling as alternative
The others really aren't useful imo
2026-02-28 16:52:13 +01:00
David Heinemeier Hansson a8a1e3acf1 Move the single-window square aspect toggle to Super + Ctrl + Backspace 2026-02-28 16:51:23 +01:00
David Heinemeier Hansson 5f9b108afd Migrate the single_window_aspect_ratio setting to layout per Hyprland 0.54 2026-02-28 16:51:03 +01:00
David Heinemeier Hansson 6ac243ec3c Merge branch 'master' into dev 2026-02-28 15:07:55 +01:00
David Heinemeier Hansson 1bbb20695e Proper spacing 2026-02-28 15:06:16 +01:00
rez1coderandGitHub 0bc9629e8a migration(1772211023): fix overflow typo 2026-02-28 20:04:13 +06:00
David Heinemeier Hansson debeea0bf7 Offer to reboot if Hyprland has been updated 2026-02-28 15:03:51 +01:00
David Heinemeier Hansson 47f396cfc6 Bump version 2026-02-28 14:56:39 +01:00
David Heinemeier Hansson 8f5c1ee55e Promote monitor scaling to Super + / 2026-02-28 14:34:27 +01:00
David Heinemeier Hansson 39761b93b3 Fix spelling 2026-02-28 14:24:17 +01:00
David Heinemeier Hansson 42a437ad48 Add toggle for switching between dwindle/scrolling layout per workspace on Super + L 2026-02-28 14:23:42 +01:00
David Heinemeier Hansson b746958823 Allow esc to close capture menu when accessed directly 2026-02-28 10:05:36 +01:00
David Heinemeier Hansson 103cb728e6 Add Super + Ctrl + O to access toggle menu and add more toggles 2026-02-28 10:04:43 +01:00
David Heinemeier Hansson 30c6d431f7 Match existing naming styles 2026-02-28 10:04:18 +01:00
David Heinemeier HanssonandGitHub b42183e692 Merge pull request #4789 from Trippie-Redd/update-outdated-keybind-description
Update outdated keybind description for opening the background selection menu
2026-02-28 03:32:01 -05:00
Andrej Maxhem 191cbb165c Update outdated keybind description for opening the background selection menu 2026-02-27 20:28:17 +01:00
David Heinemeier Hansson d7b0ab1a23 Ensure password field doesn't overlow on SDDM login screen
Closes #4774
2026-02-27 18:02:40 +01:00
David Heinemeier Hansson 34f0d64d77 Try with alt+arrows for windows/sessions navigation for a while 2026-02-27 17:50:23 +01:00
David Heinemeier Hansson c585fec9cf Stop erasing output without a newline
Closes #4783
References #4269
2026-02-27 17:44:56 +01:00
David Heinemeier Hansson 8ac7cd9e23 Stop erasing output without a newline
Closes #4783
References #4269
2026-02-27 17:44:46 +01:00
David Heinemeier HanssonandGitHub c3af1fef01 Merge pull request #4771 from KrisKind75/fix-asus-rog-mic-unmute
Unmute ALSA capture switch in ASUS ROG mic fix
2026-02-27 11:40:12 -05:00
David Heinemeier Hansson 39792246d2 Merge pull request #4782 from alexpgates/dev
Update bash rc source order
2026-02-27 17:31:57 +01:00
David Heinemeier HanssonandGitHub a548c3b528 Merge pull request #4782 from alexpgates/dev
Update bash rc source order
2026-02-27 11:31:11 -05:00
Alex P. GatesandGitHub 302d041d8e Update bash rc source order 2026-02-27 10:13:12 -06:00
David Heinemeier Hansson b97ea79090 Include .local/bin in path by default 2026-02-27 09:32:31 +01:00
Christoph KindlerandClaude Opus 4.6 46770774b5 Unmute ALSA capture switch in ASUS ROG mic fix
The Realtek ALC285 defaults to capture switch off. With
api.alsa.soft-mixer enabled, PipeWire no longer manages the hardware
mixer, so the switch stays off and the internal mic records silence.

Adding `unmute` to the amixer set command ensures the hardware capture
path is enabled.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 08:51:59 +01:00
David Heinemeier Hansson d0084ff10d Ensure OMARCHY_PATH + bin PATH are set for SSH access
Closes #4757
2026-02-27 08:21:19 +01:00
David Heinemeier Hansson db03ae6cb6 Merge pull request #4766 from garethson/fix-omarchy-launch-or-focus
Fix recently broken jq reference to "$p" value in omarchy-launch-or-focus
2026-02-27 08:17:06 +01:00
David Heinemeier HanssonandGitHub f88bd13936 Merge pull request #4766 from garethson/fix-omarchy-launch-or-focus
Fix recently broken jq reference to "$p" value in omarchy-launch-or-focus
2026-02-27 02:16:38 -05:00
Gareth du Plooy 10b8a6a514 Fix jq reference to value in omarchy-launch-or-focus 2026-02-26 23:18:26 -06:00
David Heinemeier Hansson 6757b7068a Ensure OMARCHY_PATH + bin PATH are set for SSH access
Closes #4757
2026-02-26 22:40:57 +01:00
David Heinemeier HanssonandGitHub 42b409a17f Merge pull request #4751 from Kasui92/patch-1
Remove example alias for claude command
2026-02-26 15:19:26 -05:00
David Heinemeier HanssonandGitHub a613f4c63c Merge pull request #4752 from pomartel/fcitx5-autostart
Remove Fcitx5 autostart desktop entry
2026-02-26 15:19:08 -05:00
Pierre Olivier Martel 744d6c3349 Remove Fcitx5 XDG autostart desktop entry 2026-02-26 11:08:06 -05:00
Luca PattocchioandGitHub e84795e4d7 Remove example alias for claude command 2026-02-26 16:36:32 +01:00
29 changed files with 191 additions and 81 deletions
+80 -53
View File
@@ -2,6 +2,8 @@
# Start and stop a screenrecording, which will be saved to ~/Videos by default.
# Alternative location can be set via OMARCHY_SCREENRECORD_DIR or XDG_VIDEOS_DIR ENVs.
# Resolution is capped to 4K for monitors above 4K, native otherwise.
# Override via --resolution= (e.g. --resolution=1920x1080, --resolution=0x0 for native).
[[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs
OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-${XDG_VIDEOS_DIR:-$HOME/Videos}}"
@@ -15,28 +17,27 @@ DESKTOP_AUDIO="false"
MICROPHONE_AUDIO="false"
WEBCAM="false"
WEBCAM_DEVICE=""
RESOLUTION=""
STOP_RECORDING="false"
RECORDING_FILE="/tmp/omarchy-screenrecord-filename"
for arg in "$@"; do
case "$arg" in
--with-desktop-audio) DESKTOP_AUDIO="true" ;;
--with-microphone-audio) MICROPHONE_AUDIO="true" ;;
--with-webcam) WEBCAM="true" ;;
--webcam-device=*) WEBCAM_DEVICE="${arg#*=}" ;;
--stop-recording) STOP_RECORDING="true"
--with-desktop-audio) DESKTOP_AUDIO="true" ;;
--with-microphone-audio) MICROPHONE_AUDIO="true" ;;
--with-webcam) WEBCAM="true" ;;
--webcam-device=*) WEBCAM_DEVICE="${arg#*=}" ;;
--resolution=*) RESOLUTION="${arg#*=}" ;;
--stop-recording) STOP_RECORDING="true" ;;
esac
done
cleanup_webcam() {
pkill -f "WebcamOverlay" 2>/dev/null
}
start_webcam_overlay() {
cleanup_webcam
# Auto-detect first available webcam if none specified
if [[ -z $WEBCAM_DEVICE ]]; then
WEBCAM_DEVICE=$(v4l2-ctl --list-devices 2>/dev/null | grep -m1 "^\s*/dev/video" | tr -d '\t')
WEBCAM_DEVICE=$(v4l2-ctl --list-devices 2>/dev/null | grep -m1 "^[[:space:]]*/dev/video" | tr -d '\t')
if [[ -z $WEBCAM_DEVICE ]]; then
notify-send "No webcam devices found" -u critical -t 3000
return 1
@@ -71,10 +72,24 @@ start_webcam_overlay() {
sleep 1
}
cleanup_webcam() {
pkill -f "WebcamOverlay" 2>/dev/null
}
default_resolution() {
local width height
read -r width height < <(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | "\(.width) \(.height)"')
if ((width > 3840 || height > 2160)); then
echo "3840x2160"
else
echo "0x0"
fi
}
start_screenrecording() {
local filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
local audio_devices=""
local audio_args=""
local audio_args=()
[[ $DESKTOP_AUDIO == "true" ]] && audio_devices+="default_output"
@@ -84,15 +99,61 @@ start_screenrecording() {
audio_devices+="default_input"
fi
[[ -n $audio_devices ]] && audio_args+="-a $audio_devices"
[[ -n $audio_devices ]] && audio_args+=(-a "$audio_devices" -ac aac)
local resolution="${RESOLUTION:-$(default_resolution)}"
gpu-screen-recorder -w portal -k auto -s "$resolution" -f 60 -fm cfr -fallback-cpu-encoding yes -o "$filename" "${audio_args[@]}" &
local pid=$!
# Wait for recording to actually start (file appears after portal selection)
while kill -0 $pid 2>/dev/null && [[ ! -f $filename ]]; do
sleep 0.2
done
if kill -0 $pid 2>/dev/null; then
echo "$filename" >"$RECORDING_FILE"
toggle_screenrecording_indicator
fi
}
stop_screenrecording() {
pkill -SIGINT -f "^gpu-screen-recorder" # SIGINT required to save video properly
# Wait a maximum of 5 seconds to finish before hard killing
local count=0
while pgrep -f "^gpu-screen-recorder" >/dev/null && ((count < 50)); do
sleep 0.1
count=$((count + 1))
done
gpu-screen-recorder -w portal -k h264 -f 60 -fallback-cpu-encoding yes -o "$filename" $audio_args -ac aac &
toggle_screenrecording_indicator
cleanup_webcam
if pgrep -f "^gpu-screen-recorder" >/dev/null; then
pkill -9 -f "^gpu-screen-recorder"
notify-send "Screen recording error" "Recording process had to be force-killed. Video may be corrupted." -u critical -t 5000
else
trim_first_frame
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
fi
rm -f "$RECORDING_FILE"
}
toggle_screenrecording_indicator() {
pkill -RTMIN+8 waybar
}
screenrecording_active() {
pgrep -f "^gpu-screen-recorder" >/dev/null
}
trim_first_frame() {
local latest=$(ls -t "$OUTPUT_DIR"/screenrecording-*.mp4 2>/dev/null | head -1)
if [[ -n $latest ]]; then
local latest
latest=$(cat "$RECORDING_FILE" 2>/dev/null)
if [[ -n $latest && -f $latest ]]; then
local trimmed="${latest%.mp4}-trimmed.mp4"
if ffmpeg -y -ss 0.1 -i "$latest" -c copy "$trimmed" -loglevel quiet 2>/dev/null; then
mv "$trimmed" "$latest"
@@ -102,46 +163,12 @@ trim_first_frame() {
fi
}
stop_screenrecording() {
pkill -SIGINT -f "^gpu-screen-recorder" # SIGINT required to save video properly
# Wait a maximum of 5 seconds to finish before hard killing
local count=0
while pgrep -f "^gpu-screen-recorder" >/dev/null && (( count < 50 )); do
sleep 0.1
count=$((count + 1))
done
if pgrep -f "^gpu-screen-recorder" >/dev/null; then
pkill -9 -f "^gpu-screen-recorder"
cleanup_webcam
notify-send "Screen recording error" "Recording process had to be force-killed. Video may be corrupted." -u critical -t 5000
else
cleanup_webcam
trim_first_frame
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
fi
toggle_screenrecording_indicator
}
toggle_screenrecording_indicator() {
pkill -RTMIN+8 waybar
}
screenrecording_active() {
pgrep -f "^gpu-screen-recorder" >/dev/null || pgrep -f "WebcamOverlay" >/dev/null
}
if screenrecording_active; then
if pgrep -f "WebcamOverlay" >/dev/null && ! pgrep -f "^gpu-screen-recorder" >/dev/null; then
cleanup_webcam
else
stop_screenrecording
fi
elif [[ $STOP_RECORDING == "false" ]]; then
stop_screenrecording
elif [[ $STOP_RECORDING == "true" ]]; then
exit 1
else
[[ $WEBCAM == "true" ]] && start_webcam_overlay
start_screenrecording || cleanup_webcam
else
exit 1
fi
@@ -1,13 +1,13 @@
#!/bin/bash
# Check current single_window_aspect_ratio setting
CURRENT_VALUE=$(hyprctl getoption "dwindle:single_window_aspect_ratio" 2>/dev/null | head -1)
CURRENT_VALUE=$(hyprctl getoption "layout:single_window_aspect_ratio" 2>/dev/null | head -1)
# Parse vec2 output: "vec2: [1, 1]" or "vec2: [0, 0]"
if [[ $CURRENT_VALUE == *"[1, 1]"* ]]; then
hyprctl keyword dwindle:single_window_aspect_ratio "0 0"
hyprctl keyword layout:single_window_aspect_ratio "0 0"
notify-send " Disable single-window square aspect ratio"
else
hyprctl keyword dwindle:single_window_aspect_ratio "1 1"
hyprctl keyword layout:single_window_aspect_ratio "1 1"
notify-send " Enable single-window square aspect"
fi
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash
# Toggle the layout on the current active workspace between dwindle and scrolling
ACTIVE_WORKSPACE=$(hyprctl activeworkspace -j | jq -r '.id')
CURRENT_LAYOUT=$(hyprctl activeworkspace -j | jq -r '.tiledLayout')
case "$CURRENT_LAYOUT" in
dwindle) NEW_LAYOUT=scrolling ;;
*) NEW_LAYOUT=dwindle ;;
esac
hyprctl keyword workspace $ACTIVE_WORKSPACE, layout:$NEW_LAYOUT
notify-send "󱂬 Workspace layout set to $NEW_LAYOUT"
+1 -1
View File
@@ -10,7 +10,7 @@ fi
WINDOW_PATTERN="$1"
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
hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS"
+9 -3
View File
@@ -102,7 +102,7 @@ show_capture_menu() {
*Screenshot*) omarchy-cmd-screenshot ;;
*Screenrecord*) show_screenrecord_menu ;;
*Color*) pkill hyprpicker || hyprpicker -a ;;
*) show_trigger_menu ;;
*) back_to show_trigger_menu ;;
esac
}
@@ -161,12 +161,17 @@ show_share_menu() {
}
show_toggle_menu() {
case $(menu "Toggle" "󱄄 Screensaver\n󰔎 Nightlight\n󱫖 Idle Lock\n󰍜 Top Bar") in
case $(menu "Toggle" "󱄄 Screensaver\n󰔎 Nightlight\n󱫖 Idle Lock\n󰍜 Top Bar\n󱂬 Workspace Layout\n Window Gaps\n 1-Window Ratio\n󰍹 Display Scaling") in
*Screensaver*) omarchy-toggle-screensaver ;;
*Nightlight*) omarchy-toggle-nightlight ;;
*Idle*) omarchy-toggle-idle ;;
*Bar*) omarchy-toggle-waybar ;;
*) show_trigger_menu ;;
*Layout*) omarchy-hyprland-workspace-layout-toggle ;;
*Ratio*) omarchy-hyprland-window-single-square-aspect-toggle ;;
*Gaps*) omarchy-hyprland-window-gaps-toggle ;;
*Scaling*) omarchy-hyprland-monitor-scaling-cycle ;;
*) back_to show_trigger_menu ;;
esac
}
@@ -593,6 +598,7 @@ go_to_menu() {
*apps*) walker -p "Launch…" ;;
*learn*) show_learn_menu ;;
*trigger*) show_trigger_menu ;;
*toggle*) show_toggle_menu ;;
*share*) show_share_menu ;;
*background*) show_background_menu ;;
*capture*) show_capture_menu ;;
+1 -4
View File
@@ -3,7 +3,4 @@
# Overwrite the user tmux config with the Omarchy default and reload tmux.
omarchy-refresh-config tmux/tmux.conf
if pgrep -x tmux; then
tmux source-file ~/.config/tmux/tmux.conf
fi
omarchy-restart-tmux
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
# Restart tmux if running with the latest configuration
if pgrep -x tmux; then
tmux source-file ~/.config/tmux/tmux.conf
fi
+2 -1
View File
@@ -5,7 +5,8 @@ set -e
# Ensure screensaver/sleep doesn't set in during updates
hyprctl dispatch tagwindow +noidle &> /dev/null || true
# Capture update logs
# Capture update logs (CLICOLOR_FORCE keeps gum styled when stdout is piped through tee)
export CLICOLOR_FORCE=1
exec > >(tee "/tmp/omarchy-update.log") 2>&1
# Perform all update steps
+7
View File
@@ -1,11 +1,18 @@
#!/bin/bash
echo
if [[ ! -d /usr/lib/modules/$(uname -r) ]]; then
gum confirm "Linux kernel has been updated. Reboot?" && omarchy-system-reboot
elif [[ -f $HOME/.local/state/omarchy/reboot-required ]]; then
gum confirm "Updates require reboot. Ready?" && omarchy-system-reboot
fi
running_hyprland=$(readlink /proc/$(pgrep -x Hyprland)/exe 2>/dev/null)
if [[ $running_hyprland == *"(deleted)"* ]]; then
gum confirm "Hyprland has been updated. Reboot?" && omarchy-system-reboot
fi
for file in "$HOME"/.local/state/omarchy/restart-*-required; do
if [[ -f $file ]]; then
filename=$(basename "$file")
+4 -4
View File
@@ -7,8 +7,8 @@ general {
# gaps_out = 0
# border_size = 0
# Use master layout instead of dwindle
# layout = master
# Change to niri-like side-scrolling layout
# layout = scrolling
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
@@ -27,8 +27,8 @@ animations {
# enabled = no
}
# https://wiki.hypr.land/Configuring/Dwindle-Layout/
dwindle {
# https://wiki.hypr.land/Configuring/Variables/#layout
layout {
# Avoid overly wide single-window layouts on wide screens
# single_window_aspect_ratio = 1 1
}
+6
View File
@@ -41,6 +41,9 @@ bind -n M-7 select-window -t 7
bind -n M-8 select-window -t 8
bind -n M-9 select-window -t 9
bind -n M-Left select-window -t -1
bind -n M-Right select-window -t +1
# Session controls
bind R command-prompt -I "#S" "rename-session -- '%%'"
bind C new-session -c "#{pane_current_path}"
@@ -48,6 +51,9 @@ bind K kill-session
bind P switch-client -p
bind N switch-client -n
bind -n M-Up switch-client -p
bind -n M-Down switch-client -n
# General
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",*:RGB"
+4
View File
@@ -1,3 +1,7 @@
# Editor used by CLI
export SUDO_EDITOR="$EDITOR"
export BAT_THEME=ansi
# Duplicated from .config/uwsm/env so SSH works too
export OMARCHY_PATH=$HOME/.local/share/omarchy
export PATH=$OMARCHY_PATH/bin:$PATH:$HOME/.local/bin
-3
View File
@@ -3,9 +3,6 @@ if command -v mise &> /dev/null; then
fi
if command -v starship &> /dev/null; then
# clear stale readline state before rendering prompt (prevents artifacts in prompt after abnormal exits like SIGQUIT)
__sanitize_prompt() { printf '\r\033[K'; }
PROMPT_COMMAND="__sanitize_prompt${PROMPT_COMMAND:+;$PROMPT_COMMAND}"
eval "$(starship init bash)"
fi
+1 -1
View File
@@ -1,6 +1,6 @@
source ~/.local/share/omarchy/default/bash/envs
source ~/.local/share/omarchy/default/bash/shell
source ~/.local/share/omarchy/default/bash/aliases
source ~/.local/share/omarchy/default/bash/functions
source ~/.local/share/omarchy/default/bash/init
source ~/.local/share/omarchy/default/bash/envs
[[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc
-1
View File
@@ -9,4 +9,3 @@ source ~/.local/share/omarchy/default/bash/rc
#
# Make an alias for invoking commands you use constantly
# alias p='python'
# alias cx="claude --permission-mode=plan --allow-dangerously-skip-permissions"
+1
View File
@@ -10,6 +10,7 @@ windowrule = float on, match:class org.gnome.Calculator
# Fullscreen screensaver
windowrule = fullscreen on, match:class org.omarchy.screensaver
windowrule = float on, match:class org.omarchy.screensaver
windowrule = animation slide, match:class org.omarchy.screensaver
# No transparency on media windows
windowrule = tag -default-opacity, match:class ^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$
+5 -1
View File
@@ -3,13 +3,14 @@ bindd = SUPER, W, Close window, killactive,
bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all
# Control tiling
bindd = SUPER, J, Toggle window split, togglesplit, # dwindle
bindd = SUPER, J, Toggle window split, layoutmsg, togglesplit
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
bindd = SUPER, T, Toggle window floating/tiling, togglefloating,
bindd = SUPER, F, Full screen, fullscreen, 0
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
bindd = SUPER ALT, F, Full width, fullscreen, 1
bindd = SUPER, O, Pop window out (float & pin), exec, omarchy-hyprland-window-pop
bindd = SUPER, L, Toggle workspace layout, exec, omarchy-hyprland-workspace-layout-toggle
# Move focus with SUPER + arrow keys
bindd = SUPER, LEFT, Move window focus left, movefocus, l
@@ -122,3 +123,6 @@ bindd = SUPER ALT, code:11, Switch to group window 2, changegroupactive, 2
bindd = SUPER ALT, code:12, Switch to group window 3, changegroupactive, 3
bindd = SUPER ALT, code:13, Switch to group window 4, changegroupactive, 4
bindd = SUPER ALT, code:14, Switch to group window 5, changegroupactive, 5
# Cycle monitor scaling
bindd = SUPER, Slash, Cycle monitor scaling, exec, omarchy-hyprland-monitor-scaling-cycle
+4 -4
View File
@@ -2,6 +2,7 @@
bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker
bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols
bindd = SUPER CTRL, C, Capture menu, exec, omarchy-menu capture
bindd = SUPER CTRL, O, Toggle menu, exec, omarchy-menu toggle
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
bindd = SUPER, ESCAPE, System menu, exec, omarchy-menu system
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
@@ -10,10 +11,11 @@ bindd = , XF86Calculator, Calculator, exec, gnome-calculator
# Aesthetics
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar
bindd = SUPER CTRL, SPACE, Next background in theme, exec, omarchy-menu background
bindd = SUPER CTRL, SPACE, Theme background menu, exec, omarchy-menu background
bindd = SUPER SHIFT CTRL, SPACE, Theme menu, exec, omarchy-menu theme
bindd = SUPER, BACKSPACE, Toggle window transparency, exec, hyprctl dispatch setprop "address:$(hyprctl activewindow -j | jq -r '.address')" opaque toggle
bindd = SUPER SHIFT, BACKSPACE, Toggle workspace gaps, exec, omarchy-hyprland-workspace-toggle-gaps
bindd = SUPER SHIFT, BACKSPACE, Toggle window gaps, exec, omarchy-hyprland-window-gaps-toggle
bindd = SUPER CTRL, BACKSPACE, Toggle single-window square aspect, exec, omarchy-hyprland-window-single-square-aspect-toggle
# Notifications
bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss
@@ -25,8 +27,6 @@ bindd = SUPER SHIFT ALT, COMMA, Restore last notification, exec, makoctl restore
# Toggles
bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle
bindd = SUPER CTRL, N, Toggle nightlight, exec, omarchy-toggle-nightlight
bindd = SUPER CTRL, Backspace, Toggle monitor scaling, exec, omarchy-hyprland-monitor-scaling-toggle
bindd = SUPER CTRL ALT, Backspace, Toggle single-window square aspect, exec, omarchy-hyprland-window-single-square-aspect-toggle
# Control Apple Display brightness
bindd = CTRL, F1, Apple Display brightness down, exec, omarchy-brightness-display-apple -5000
+1
View File
@@ -60,6 +60,7 @@ Rectangle {
color: "#000000"
border.color: "#ffffff"
border.width: 1
clip: true
TextInput {
id: password
+1
View File
@@ -14,6 +14,7 @@ run_logged $OMARCHY_INSTALL/config/mise-work.sh
run_logged $OMARCHY_INSTALL/config/fix-powerprofilesctl-shebang.sh
run_logged $OMARCHY_INSTALL/config/docker.sh
run_logged $OMARCHY_INSTALL/config/mimetypes.sh
run_logged $OMARCHY_INSTALL/config/remove-fcitx5-autostart.sh
run_logged $OMARCHY_INSTALL/config/localdb.sh
run_logged $OMARCHY_INSTALL/config/walker-elephant.sh
run_logged $OMARCHY_INSTALL/config/fast-shutdown.sh
+1 -1
View File
@@ -7,7 +7,7 @@ if omarchy-hw-asus-rog; then
if grep -q "ALC285" "$card" 2>/dev/null; then
cardnum=$(echo "$card" | grep -oP 'card\K\d+')
amixer -c "$cardnum" set 'Internal Mic Boost' 0 >/dev/null 2>&1 || true
amixer -c "$cardnum" set 'Capture' 70% >/dev/null 2>&1 || true
amixer -c "$cardnum" set 'Capture' 70% unmute >/dev/null 2>&1 || true
sudo alsactl store "$cardnum" 2>/dev/null || true
break
fi
@@ -0,0 +1 @@
sudo rm -f /etc/xdg/autostart/org.fcitx.Fcitx5.desktop
+3
View File
@@ -0,0 +1,3 @@
echo "Remove Fcitx5 XDG autostart desktop entry"
source $OMARCHY_PATH/install/config/remove-fcitx5-autostart.sh
+3
View File
@@ -0,0 +1,3 @@
echo "Ensure password field doesn't overflow on SDDM login screen"
omarchy-refresh-sddm
+10
View File
@@ -0,0 +1,10 @@
echo "Move single_window_aspect_ratio from dwindle to layout in user looknfeel.conf"
looknfeel="$HOME/.config/hypr/looknfeel.conf"
if [[ -f $looknfeel ]] && grep -q 'single_window_aspect_ratio' "$looknfeel"; then
sed -i \
-e 's|# https://wiki.hypr.land/Configuring/Dwindle-Layout/|# https://wiki.hypr.land/Configuring/Variables/#layout|' \
-e 's|^dwindle {|layout {|' \
"$looknfeel"
fi
+21
View File
@@ -0,0 +1,21 @@
echo "Add Alt+Arrow keybindings for tmux window and session navigation"
TMUX_CONF=~/.config/tmux/tmux.conf
if [[ -f $TMUX_CONF ]]; then
# Add M-Left/M-Right after M-9 if not present
if ! grep -q "bind -n M-Left select-window" "$TMUX_CONF"; then
sed -i '/bind -n M-9 select-window -t 9/a\
bind -n M-Left select-window -t -1\
bind -n M-Right select-window -t +1' "$TMUX_CONF"
fi
# Add M-Up/M-Down after "bind N switch-client -n" if not present
if ! grep -q "bind -n M-Up switch-client" "$TMUX_CONF"; then
sed -i '/^bind N switch-client -n$/a\
bind -n M-Up switch-client -p\
bind -n M-Down switch-client -n' "$TMUX_CONF"
fi
omarchy-restart-tmux
fi
+1 -1
View File
@@ -1 +1 @@
3.4.0
3.4.1