mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Compare commits
90 Commits
v3.1.2
...
hotfix-lim
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6aa97350e | ||
|
|
5192c9b687 | ||
|
|
e263b5d00a | ||
|
|
26821c9b34 | ||
|
|
7cd5661f89 | ||
|
|
6cdf4a3790 | ||
|
|
7f9ee95e1a | ||
|
|
e369d68fe1 | ||
|
|
661abc89a6 | ||
|
|
28ba448020 | ||
|
|
4b15fe9a52 | ||
|
|
886a9f6f2c | ||
|
|
54795a2f55 | ||
|
|
d528393df6 | ||
|
|
4c97a31c98 | ||
|
|
66b5f7eab8 | ||
|
|
9e971e3e56 | ||
|
|
ae10133b5e | ||
|
|
0f64a11f4e | ||
|
|
b738c77acf | ||
|
|
f76ba69f70 | ||
|
|
bfeb3a1e65 | ||
|
|
3c89acadc1 | ||
|
|
58ecda3b80 | ||
|
|
dd3b64ef7f | ||
|
|
fc0983624e | ||
|
|
fb3271f3af | ||
|
|
3344f33104 | ||
|
|
407d283cb7 | ||
|
|
ac8073fc81 | ||
|
|
7770f49c1a | ||
|
|
9490e714c3 | ||
|
|
d3a54dc32e | ||
|
|
d7cd1950ce | ||
|
|
e58569b947 | ||
|
|
6243c82251 | ||
|
|
928910773c | ||
|
|
a48001b8cc | ||
|
|
c17e4f57ff | ||
|
|
62cdece33a | ||
|
|
45d4b41749 | ||
|
|
d64a178635 | ||
|
|
d493e0536a | ||
|
|
0e5c22ac38 | ||
|
|
d5a8f1b06b | ||
|
|
f3c816fe85 | ||
|
|
ba348a6a15 | ||
|
|
ef0a9464a2 | ||
|
|
d9a077d5b6 | ||
|
|
b75e70fb9b | ||
|
|
4bb626bc4e | ||
|
|
b3e7ff2b60 | ||
|
|
4bd29207c6 | ||
|
|
a39ecf41bc | ||
|
|
048fdea87a | ||
|
|
d8f97b8d02 | ||
|
|
556e474942 | ||
|
|
9d9f362c7a | ||
|
|
1060a54c1a | ||
|
|
06389d0422 | ||
|
|
e0e71a34fe | ||
|
|
d128833e7b | ||
|
|
bba2ade78f | ||
|
|
e4f2cc2175 | ||
|
|
e0f9beda7a | ||
|
|
79267da5f2 | ||
|
|
cc5c842f9f | ||
|
|
9b37d8549f | ||
|
|
75eb059779 | ||
|
|
7a7881b176 | ||
|
|
2586cec7a0 | ||
|
|
fc30a25842 | ||
|
|
1d29406910 | ||
|
|
249318b398 | ||
|
|
9b798c3c0f | ||
|
|
14f803857c | ||
|
|
b92beef294 | ||
|
|
6fce5e28c9 | ||
|
|
7b02895962 | ||
|
|
9a90afb6e8 | ||
|
|
37518c222c | ||
|
|
6f0958aa67 | ||
|
|
475e831391 | ||
|
|
69c2195c10 | ||
|
|
795bfdd969 | ||
|
|
eac7ea8a49 | ||
|
|
de2b32d77f | ||
|
|
63d4482e8c | ||
|
|
efdea50053 | ||
|
|
8b896b60a9 |
3
.github/ISSUE_TEMPLATE/bug.yml
vendored
3
.github/ISSUE_TEMPLATE/bug.yml
vendored
@@ -1,5 +1,5 @@
|
|||||||
name: Bug
|
name: Bug
|
||||||
description: Report a problem
|
description: Report a validated bug -- NOT FOR SUPPORT REQUESTS
|
||||||
labels: [bug]
|
labels: [bug]
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
@@ -19,5 +19,6 @@ body:
|
|||||||
id: steps
|
id: steps
|
||||||
attributes:
|
attributes:
|
||||||
label: What's wrong?
|
label: What's wrong?
|
||||||
|
description: Describe the issue, include steps to recreate it if possible, and attach the output of `omarchy-debug` if possible
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|||||||
7
.github/ISSUE_TEMPLATE/config.yml
vendored
7
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1 +1,8 @@
|
|||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Suggestion
|
||||||
|
url: https://github.com/basecamp/omarchy/discussions/categories/suggestions
|
||||||
|
about: Suggest a new feature, change to existing feature, or other ideas in Discussions.
|
||||||
|
- name: Support
|
||||||
|
url: https://omarchy.org/discord
|
||||||
|
about: Need help? Join our Discord community for support with any issues. GitHub issues should be used for verified bugs only.
|
||||||
|
|||||||
15
.github/ISSUE_TEMPLATE/documentation.yml
vendored
15
.github/ISSUE_TEMPLATE/documentation.yml
vendored
@@ -1,15 +0,0 @@
|
|||||||
name: Documentation
|
|
||||||
description: New pages or changes to existing
|
|
||||||
labels: [documentation]
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
Remember: Omarchy is an open source gift, not a product you bought from a vendor
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: steps
|
|
||||||
attributes:
|
|
||||||
label: What correction or addition do we need?
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
15
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
15
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
@@ -1,15 +0,0 @@
|
|||||||
name: Enhancement
|
|
||||||
description: Feature or change
|
|
||||||
labels: [enhancement]
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
Remember: Omarchy is an open source gift, not a product you bought from a vendor
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: steps
|
|
||||||
attributes:
|
|
||||||
label: What do you need?
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
21
applications/Alacritty.desktop
Normal file
21
applications/Alacritty.desktop
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
[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
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=Neovim
|
|
||||||
GenericName=Text Editor
|
|
||||||
Comment=Edit text files
|
|
||||||
Exec=omarchy-launch-editor %F
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Keywords=Text;editor;
|
|
||||||
Icon=nvim
|
|
||||||
Categories=Utility;TextEditor;
|
|
||||||
StartupNotify=false
|
|
||||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
|
||||||
@@ -11,11 +11,13 @@ send_notification() {
|
|||||||
notify-send -u critical " Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
|
notify-send -u critical " Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ $BATTERY_STATE == "discharging" && $BATTERY_LEVEL -le $BATTERY_THRESHOLD ]]; then
|
if [[ -n "$BATTERY_LEVEL" && "$BATTERY_LEVEL" =~ ^[0-9]+$ ]]; then
|
||||||
if [[ ! -f $NOTIFICATION_FLAG ]]; then
|
if [[ $BATTERY_STATE == "discharging" && $BATTERY_LEVEL -le $BATTERY_THRESHOLD ]]; then
|
||||||
send_notification $BATTERY_LEVEL
|
if [[ ! -f $NOTIFICATION_FLAG ]]; then
|
||||||
touch $NOTIFICATION_FLAG
|
send_notification $BATTERY_LEVEL
|
||||||
|
touch $NOTIFICATION_FLAG
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
rm -f $NOTIFICATION_FLAG
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
rm -f $NOTIFICATION_FLAG
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -14,6 +14,6 @@ if [[ -f "$FIRST_RUN_MODE" ]]; then
|
|||||||
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
||||||
sudo rm -f /etc/sudoers.d/first-run
|
sudo rm -f /etc/sudoers.d/first-run
|
||||||
|
|
||||||
bash "$OMARCHY_PATH/install/first-run/wifi.sh"
|
|
||||||
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
|
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
|
||||||
|
bash "$OMARCHY_PATH/install/first-run/wifi.sh"
|
||||||
fi
|
fi
|
||||||
|
|||||||
22
bin/omarchy-hyprland-window-pop
Executable file
22
bin/omarchy-hyprland-window-pop
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Toggle to pop-out a tile to stay fixed on a display basis.
|
||||||
|
|
||||||
|
active=$(hyprctl activewindow -j)
|
||||||
|
pinned=$(echo "$active" | jq .pinned)
|
||||||
|
addr=$(echo "$active" | jq -r ".address")
|
||||||
|
[ -z "$addr" ] && { echo "No active window"; exit 0; }
|
||||||
|
|
||||||
|
if [ "$pinned" = "true" ]; then
|
||||||
|
hyprctl -q --batch \
|
||||||
|
"dispatch pin address:$addr;" \
|
||||||
|
"dispatch togglefloating address:$addr;" \
|
||||||
|
"dispatch tagwindow -pop address:$addr;"
|
||||||
|
else
|
||||||
|
hyprctl -q --batch \
|
||||||
|
"dispatch togglefloating address:$addr;" \
|
||||||
|
"dispatch centerwindow address:$addr;" \
|
||||||
|
"dispatch pin address:$addr;" \
|
||||||
|
"dispatch alterzorder top address:$addr;" \
|
||||||
|
"dispatch tagwindow +pop address:$addr;"
|
||||||
|
fi
|
||||||
@@ -4,7 +4,7 @@ workspace_id=$(hyprctl activeworkspace -j | jq -r .id)
|
|||||||
gaps=$(hyprctl workspacerules -j | jq -r ".[] | select(.workspaceString==\"$workspace_id\") | .gapsOut[0] // 0")
|
gaps=$(hyprctl workspacerules -j | jq -r ".[] | select(.workspaceString==\"$workspace_id\") | .gapsOut[0] // 0")
|
||||||
|
|
||||||
if [[ $gaps == "0" ]]; then
|
if [[ $gaps == "0" ]]; then
|
||||||
hyprctl keyword "workspace $workspace_id, gapsout:10, gapsin:5, border:true"
|
hyprctl keyword "workspace $workspace_id, gapsout:10, gapsin:5, bordersize:2"
|
||||||
else \
|
else \
|
||||||
hyprctl keyword "workspace $workspace_id, gapsout:0, gapsin:0, border:false"
|
hyprctl keyword "workspace $workspace_id, gapsout:0, gapsin:0, bordersize:0"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -7,15 +7,41 @@ fi
|
|||||||
|
|
||||||
package="$1"
|
package="$1"
|
||||||
|
|
||||||
|
# Map package name to desktop entry ID
|
||||||
|
case "$package" in
|
||||||
|
alacritty)
|
||||||
|
desktop_id="Alacritty.desktop"
|
||||||
|
;;
|
||||||
|
ghostty)
|
||||||
|
desktop_id="com.mitchellh.ghostty.desktop"
|
||||||
|
;;
|
||||||
|
kitty)
|
||||||
|
desktop_id="kitty.desktop"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown terminal: $package"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Install package
|
# Install package
|
||||||
if omarchy-pkg-add $package; then
|
if omarchy-pkg-add $package; then
|
||||||
# Set as default terminal
|
# Set as default terminal
|
||||||
echo "Setting $package as new default terminal..."
|
echo "Setting $package as new default terminal..."
|
||||||
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
|
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
|
||||||
|
|
||||||
# Restart is needed for new default to take effect
|
# Copy custom desktop entry for alacritty with X-TerminalArg* keys
|
||||||
echo
|
if [ "$package" = "alacritty" ]; then
|
||||||
gum confirm "Restart to use new terminal?" && systemctl reboot --no-wall
|
mkdir -p ~/.local/share/applications
|
||||||
|
cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update xdg-terminals.list to prioritize the proper terminal
|
||||||
|
cat > ~/.config/xdg-terminals.list << EOF
|
||||||
|
# Terminal emulator preference order for xdg-terminal-exec
|
||||||
|
# The first found and valid terminal will be used
|
||||||
|
$desktop_id
|
||||||
|
EOF
|
||||||
else
|
else
|
||||||
echo "Failed to install $package"
|
echo "Failed to install $package"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -21,4 +21,7 @@ EOF
|
|||||||
# Ensure VSC's own auto-update feature is turned off
|
# Ensure VSC's own auto-update feature is turned off
|
||||||
printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json
|
printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json
|
||||||
|
|
||||||
|
# Apply Omarchy theme to VSCode
|
||||||
|
omarchy-theme-set-vscode
|
||||||
|
|
||||||
setsid gtk-launch code
|
setsid gtk-launch code
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
exec setsid uwsm-app -- alacritty --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s'
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Omarchy -e bash -c 'fastfetch; read -n 1 -s'
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
case "${EDITOR:-nvim}" in
|
omarchy-cmd-present "$EDITOR" || EDITOR=nvim
|
||||||
|
|
||||||
|
case "$EDITOR" in
|
||||||
nvim | vim | nano | micro | hx | helix)
|
nvim | vim | nano | micro | hx | helix)
|
||||||
exec setsid uwsm-app -- "$TERMINAL" -e "$EDITOR" "$@"
|
exec setsid uwsm-app -- xdg-terminal-exec "$EDITOR" "$@"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
exec setsid uwsm-app -- "$EDITOR" "$@"
|
exec setsid uwsm-app -- "$EDITOR" "$@"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cmd="$*"
|
cmd="$*"
|
||||||
exec setsid uwsm-app -- alacritty -o font.size=9 --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
exec setsid uwsm-app -- "${TERMINAL:-alacritty}" "$@"
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
exec setsid uwsm-app -- "$TERMINAL" --class=Impala -e impala "$@"
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Impala -e impala "$@"
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ menu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal() {
|
terminal() {
|
||||||
alacritty --class=Omarchy -e "$@"
|
xdg-terminal-exec --app-id=com.omarchy.Omarchy "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
present_terminal() {
|
present_terminal() {
|
||||||
@@ -178,7 +178,7 @@ show_setup_menu() {
|
|||||||
options="$options\n Defaults\n DNS\n Security\n Config"
|
options="$options\n Defaults\n DNS\n Security\n Config"
|
||||||
|
|
||||||
case $(menu "Setup" "$options") in
|
case $(menu "Setup" "$options") in
|
||||||
*Audio*) $TERMINAL --class=Wiremix -e wiremix ;;
|
*Audio*) xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix ;;
|
||||||
*Wifi*)
|
*Wifi*)
|
||||||
rfkill unblock wifi
|
rfkill unblock wifi
|
||||||
omarchy-launch-wifi
|
omarchy-launch-wifi
|
||||||
@@ -264,7 +264,7 @@ show_install_editor_menu() {
|
|||||||
*VSCode*) present_terminal omarchy-install-vscode ;;
|
*VSCode*) present_terminal omarchy-install-vscode ;;
|
||||||
*Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;;
|
*Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;;
|
||||||
*Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;;
|
*Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;;
|
||||||
*Sublime*) aur_install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;;
|
*Sublime*) install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;;
|
||||||
*Helix*) install "Helix" "helix" ;;
|
*Helix*) install "Helix" "helix" ;;
|
||||||
*Emacs*) install "Emacs" "emacs-wayland" && systemctl --user enable --now emacs.service ;;
|
*Emacs*) install "Emacs" "emacs-wayland" && systemctl --user enable --now emacs.service ;;
|
||||||
*) show_install_menu ;;
|
*) show_install_menu ;;
|
||||||
@@ -287,11 +287,11 @@ show_install_ai_menu() {
|
|||||||
echo ollama
|
echo ollama
|
||||||
)
|
)
|
||||||
|
|
||||||
case $(menu "Install" " Claude Code\n Cursor CLI [AUR]\n Gemini [AUR]\n OpenAI Codex [AUR]\n LM Studio\n Ollama\n Crush\n opencode") in
|
case $(menu "Install" " Claude Code\n Cursor CLI\n Gemini\n OpenAI Codex\n LM Studio\n Ollama\n Crush\n opencode") in
|
||||||
*Claude*) install "Claude Code" "claude-code" ;;
|
*Claude*) install "Claude Code" "claude-code" ;;
|
||||||
*Cursor*) aur_install "Cursor CLI" "cursor-cli" ;;
|
*Cursor*) install "Cursor CLI" "cursor-cli" ;;
|
||||||
*OpenAI*) aur_install "OpenAI Codex" "openai-codex-bin" ;;
|
*OpenAI*) install "OpenAI Codex" "openai-codex-bin" ;;
|
||||||
*Gemini*) aur_install "Gemini" "gemini-cli" ;;
|
*Gemini*) install "Gemini" "gemini-cli" ;;
|
||||||
*Studio*) install "LM Studio" "lmstudio" ;;
|
*Studio*) install "LM Studio" "lmstudio" ;;
|
||||||
*Ollama*) install "Ollama" $ollama_pkg ;;
|
*Ollama*) install "Ollama" $ollama_pkg ;;
|
||||||
*Crush*) install "Crush" "crush-bin" ;;
|
*Crush*) install "Crush" "crush-bin" ;;
|
||||||
@@ -304,7 +304,7 @@ show_install_gaming_menu() {
|
|||||||
case $(menu "Install" " Steam\n RetroArch [AUR]\n Minecraft") in
|
case $(menu "Install" " Steam\n RetroArch [AUR]\n Minecraft") in
|
||||||
*Steam*) present_terminal omarchy-install-steam ;;
|
*Steam*) present_terminal omarchy-install-steam ;;
|
||||||
*RetroArch*) aur_install_and_launch "RetroArch" "retroarch retroarch-assets libretro libretro-fbneo" "com.libretro.RetroArch.desktop" ;;
|
*RetroArch*) aur_install_and_launch "RetroArch" "retroarch retroarch-assets libretro libretro-fbneo" "com.libretro.RetroArch.desktop" ;;
|
||||||
*Minecraft*) aur_install_and_launch "Minecraft [AUR]" "minecraft-launcher" "minecraft-launcher" ;;
|
*Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;;
|
||||||
*) show_install_menu ;;
|
*) show_install_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -395,7 +395,7 @@ show_update_menu() {
|
|||||||
*Hardware*) show_update_hardware_menu ;;
|
*Hardware*) show_update_hardware_menu ;;
|
||||||
*Firmware*) present_terminal omarchy-update-firmware ;;
|
*Firmware*) present_terminal omarchy-update-firmware ;;
|
||||||
*Timezone*) present_terminal omarchy-tz-select ;;
|
*Timezone*) present_terminal omarchy-tz-select ;;
|
||||||
*Time*) present_terminal omarchy-reset-time ;;
|
*Time*) present_terminal omarchy-update-time ;;
|
||||||
*Password*) show_update_password_menu ;;
|
*Password*) show_update_password_menu ;;
|
||||||
*) show_main_menu ;;
|
*) show_main_menu ;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -49,6 +49,17 @@ parse_keycodes() {
|
|||||||
code="${BASH_REMATCH[1]}"
|
code="${BASH_REMATCH[1]}"
|
||||||
symbol=$(lookup_keycode_cached "$code" "$XKB_KEYMAP_CACHE")
|
symbol=$(lookup_keycode_cached "$code" "$XKB_KEYMAP_CACHE")
|
||||||
echo "${line/code:${code}/$symbol}"
|
echo "${line/code:${code}/$symbol}"
|
||||||
|
elif [[ "$line" =~ mouse:([0-9]+) ]]; then
|
||||||
|
code="${BASH_REMATCH[1]}"
|
||||||
|
|
||||||
|
case "$code" in
|
||||||
|
272) symbol="LEFT MOUSE BUTTON" ;;
|
||||||
|
273) symbol="RIGHT MOUSE BUTTON" ;;
|
||||||
|
274) symbol="MIDDLE MOUSE BUTTON" ;;
|
||||||
|
*) symbol="mouse:${code}" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "${line/mouse:${code}/$symbol}"
|
||||||
else
|
else
|
||||||
echo "$line"
|
echo "$line"
|
||||||
fi
|
fi
|
||||||
@@ -101,6 +112,11 @@ dynamic_bindings() {
|
|||||||
-e 's/^77,/SUPER SHIFT CTRL ALT,/'
|
-e 's/^77,/SUPER SHIFT CTRL ALT,/'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Hardcoded bindings, like the copy-url extension and such
|
||||||
|
static_bindings() {
|
||||||
|
echo "SHIFT ALT,L,Copy URL from Web App,extension,copy-url"
|
||||||
|
}
|
||||||
|
|
||||||
# Parse and format keybindings
|
# Parse and format keybindings
|
||||||
#
|
#
|
||||||
# `awk` does the heavy lifting:
|
# `awk` does the heavy lifting:
|
||||||
@@ -147,13 +163,67 @@ parse_bindings() {
|
|||||||
}'
|
}'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prioritize_entries() {
|
||||||
|
awk '
|
||||||
|
{
|
||||||
|
line = $0
|
||||||
|
prio = 50
|
||||||
|
if (match(line, /Terminal/)) prio = 0
|
||||||
|
if (match(line, /Browser/) && !match(line, /Browser[[:space:]]*\(/)) prio = 1
|
||||||
|
if (match(line, /File manager/)) prio = 2
|
||||||
|
if (match(line, /Launch apps/)) prio = 3
|
||||||
|
if (match(line, /Omarchy menu/)) prio = 4
|
||||||
|
if (match(line, /System menu/)) prio = 5
|
||||||
|
if (match(line, /Theme menu/)) prio = 6
|
||||||
|
if (match(line, /Full screen/)) prio = 7
|
||||||
|
if (match(line, /Close window/)) prio = 8
|
||||||
|
if (match(line, /Toggle window floating/)) prio = 9
|
||||||
|
if (match(line, /Toggle window split/)) prio = 10
|
||||||
|
if (match(line, /Universal/)) prio = 11
|
||||||
|
if (match(line, /Clipboard/)) prio = 12
|
||||||
|
if (match(line, /Emoji picker/)) prio = 13
|
||||||
|
if (match(line, /Color picker/)) prio = 14
|
||||||
|
if (match(line, /Screenshot/)) prio = 15
|
||||||
|
if (match(line, /Screenrecording/)) prio = 16
|
||||||
|
if (match(line, /(Switch|Next|Former|Previous).*workspace/)) prio = 17
|
||||||
|
if (match(line, /Move window to workspace/)) prio = 18
|
||||||
|
if (match(line, /Swap window/)) prio = 19
|
||||||
|
if (match(line, /Move window focus/)) prio = 20
|
||||||
|
if (match(line, /Move window$/)) prio = 21
|
||||||
|
if (match(line, /Resize window/)) prio = 22
|
||||||
|
if (match(line, /Expand window/)) prio = 23
|
||||||
|
if (match(line, /Shrink window/)) prio = 24
|
||||||
|
if (match(line, /scratchpad/)) prio = 25
|
||||||
|
if (match(line, /notification/)) prio = 26
|
||||||
|
if (match(line, /Toggle window transparency/)) prio = 27
|
||||||
|
if (match(line, /Toggle workspace gaps/)) prio = 28
|
||||||
|
if (match(line, /Toggle nightlight/)) prio = 29
|
||||||
|
if (match(line, /group/)) prio = 94
|
||||||
|
if (match(line, /Scroll active workspace/)) prio = 95
|
||||||
|
if (match(line, /Cycle to/)) prio = 96
|
||||||
|
if (match(line, /Reveal active/)) prio = 97
|
||||||
|
if (match(line, /Apple Display/)) prio = 98
|
||||||
|
if (match(line, /XF86/)) prio = 99
|
||||||
|
|
||||||
|
# print "priority<TAB>line"
|
||||||
|
printf "%d\t%s\n", prio, line
|
||||||
|
}' |
|
||||||
|
sort -k1,1n -k2,2 |
|
||||||
|
cut -f2-
|
||||||
|
}
|
||||||
|
|
||||||
monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height')
|
monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height')
|
||||||
menu_height=$((monitor_height * 40 / 100))
|
menu_height=$((monitor_height * 40 / 100))
|
||||||
|
|
||||||
build_keymap_cache
|
build_keymap_cache
|
||||||
|
|
||||||
dynamic_bindings |
|
{
|
||||||
|
dynamic_bindings
|
||||||
|
static_bindings
|
||||||
|
} |
|
||||||
sort -u |
|
sort -u |
|
||||||
parse_keycodes |
|
parse_keycodes |
|
||||||
parse_bindings |
|
parse_bindings |
|
||||||
|
prioritize_entries |
|
||||||
walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height"
|
walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height"
|
||||||
|
|
||||||
|
|||||||
@@ -17,5 +17,6 @@ if [[ $EUID -eq 0 ]]; then
|
|||||||
"
|
"
|
||||||
else
|
else
|
||||||
setsid uwsm-app -- elephant &
|
setsid uwsm-app -- elephant &
|
||||||
|
wait 2
|
||||||
setsid uwsm-app -- walker --gapplication-service &
|
setsid uwsm-app -- walker --gapplication-service &
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -87,6 +87,35 @@ calculate_brightness() {
|
|||||||
echo $(((r * 299 + g * 587 + b * 114) / 1000))
|
echo $(((r * 299 + g * 587 + b * 114) / 1000))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Calculate approximate contrast ratio between two colors
|
||||||
|
# Returns ratio scaled by 100 (e.g., 450 = 4.5:1 ratio)
|
||||||
|
# (this is due to bash not supporting decimal math)
|
||||||
|
calculate_contrast_ratio() {
|
||||||
|
local hex1="$1" hex2="$2"
|
||||||
|
local br1=$(calculate_brightness "$hex1") # 0-255 range
|
||||||
|
local br2=$(calculate_brightness "$hex2") # 0-255 range
|
||||||
|
|
||||||
|
# Ensure br1 is the lighter color (higher brightness)
|
||||||
|
if [ $br1 -lt $br2 ]; then
|
||||||
|
local temp=$br1
|
||||||
|
br1=$br2
|
||||||
|
br2=$temp
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Approximate contrast ratio scaled by 100
|
||||||
|
# Add offset to avoid division by zero and approximate WCAG +0.05 behavior
|
||||||
|
echo $(((br1 + 13) * 100 / (br2 + 13)))
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if two colors meet minimum contrast threshold
|
||||||
|
# Usage: meets_contrast_threshold <ratio> <threshold>
|
||||||
|
# Both ratio and threshold should be scaled by 100 (e.g., 300 = 3:1)
|
||||||
|
meets_contrast_threshold() {
|
||||||
|
local ratio="$1" # Ratio scaled by 100 (from calculate_contrast_ratio)
|
||||||
|
local threshold="$2" # Threshold scaled by 100 (300=3:1, 450=4.5:1, 700=7:1)
|
||||||
|
[ $ratio -ge $threshold ]
|
||||||
|
}
|
||||||
|
|
||||||
# Calculate color distance (euclidean in RGB space)
|
# Calculate color distance (euclidean in RGB space)
|
||||||
color_distance() {
|
color_distance() {
|
||||||
local hex1="$1"
|
local hex1="$1"
|
||||||
@@ -229,38 +258,30 @@ extract_theme_data() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Sort by distance and get the closest color for code background
|
|
||||||
local -a closest_to_bg
|
|
||||||
readarray -t closest_to_bg < <(printf '%s\n' "${bg_distances[@]}" | sort -n | head -1 | cut -d: -f2)
|
|
||||||
|
|
||||||
# All background variations use the same as primary background
|
# All background variations use the same as primary background
|
||||||
local bg_primary_alt="$bg_color"
|
local bg_primary_alt="$bg_color"
|
||||||
local bg_secondary="$bg_color"
|
local bg_secondary="$bg_color"
|
||||||
local bg_secondary_alt="$bg_color"
|
local bg_secondary_alt="$bg_color"
|
||||||
|
|
||||||
# Code block background uses the closest different color
|
# Generate code background color that will contrast with foreground text
|
||||||
local code_bg="${closest_to_bg[0]}"
|
read -r r g b <<<"$(hex_to_rgb "$bg_color")"
|
||||||
|
if [ $bg_brightness -gt 127 ]; then
|
||||||
# If no different color available, create a subtle variant for code blocks
|
r=$((r - 10))
|
||||||
if [ -z "$code_bg" ]; then
|
g=$((g - 10))
|
||||||
read -r r g b <<<"$(hex_to_rgb "$bg_color")"
|
b=$((b - 10))
|
||||||
if [ $bg_brightness -gt 127 ]; then
|
else
|
||||||
r=$((r - 10))
|
r=$((r + 15))
|
||||||
g=$((g - 10))
|
g=$((g + 15))
|
||||||
b=$((b - 10))
|
b=$((b + 15))
|
||||||
else
|
|
||||||
r=$((r + 15))
|
|
||||||
g=$((g + 15))
|
|
||||||
b=$((b + 15))
|
|
||||||
fi
|
|
||||||
[ $r -lt 0 ] && r=0
|
|
||||||
[ $r -gt 255 ] && r=255
|
|
||||||
[ $g -lt 0 ] && g=0
|
|
||||||
[ $g -gt 255 ] && g=255
|
|
||||||
[ $b -lt 0 ] && b=0
|
|
||||||
[ $b -gt 255 ] && b=255
|
|
||||||
code_bg=$(printf "#%02x%02x%02x" "$r" "$g" "$b")
|
|
||||||
fi
|
fi
|
||||||
|
[ $r -lt 0 ] && r=0
|
||||||
|
[ $r -gt 255 ] && r=255
|
||||||
|
[ $g -lt 0 ] && g=0
|
||||||
|
[ $g -gt 255 ] && g=255
|
||||||
|
[ $b -lt 0 ] && b=0
|
||||||
|
[ $b -gt 255 ] && b=255
|
||||||
|
code_bg=$(printf "#%02x%02x%02x" "$r" "$g" "$b")
|
||||||
|
|
||||||
|
|
||||||
# Find closest color to foreground for code block text
|
# Find closest color to foreground for code block text
|
||||||
local code_fg=""
|
local code_fg=""
|
||||||
@@ -345,6 +366,22 @@ extract_theme_data() {
|
|||||||
border_color=$(printf "#%02x%02x%02x" "$r" "$g" "$b")
|
border_color=$(printf "#%02x%02x%02x" "$r" "$g" "$b")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Set text colors for muted/faint based on contrast
|
||||||
|
local text_muted_color="$border_color"
|
||||||
|
local text_faint_color="$border_color"
|
||||||
|
|
||||||
|
# Validate border color contrast against background
|
||||||
|
|
||||||
|
# Represents a 3:1 WCAG contrast ratio
|
||||||
|
local ideal_contrast_ratio=300
|
||||||
|
|
||||||
|
local border_contrast=$(calculate_contrast_ratio "$border_color" "$bg_color")
|
||||||
|
if ! meets_contrast_threshold "$border_contrast" "$ideal_contrast_ratio"; then
|
||||||
|
# Override text colors for readability, keep border color for visibility
|
||||||
|
text_muted_color="$fg_color"
|
||||||
|
text_faint_color="$fg_color"
|
||||||
|
fi
|
||||||
|
|
||||||
# Get unique colors array (without bg/fg) sorted by frequency
|
# Get unique colors array (without bg/fg) sorted by frequency
|
||||||
local -a unique_colors
|
local -a unique_colors
|
||||||
readarray -t unique_colors < <(echo "$filtered_data" | sort_colors_by_frequency)
|
readarray -t unique_colors < <(echo "$filtered_data" | sort_colors_by_frequency)
|
||||||
@@ -409,8 +446,8 @@ extract_theme_data() {
|
|||||||
--text-mark: ${color_slots[7]};
|
--text-mark: ${color_slots[7]};
|
||||||
--interactive-accent: ${color_slots[8]};
|
--interactive-accent: ${color_slots[8]};
|
||||||
--blockquote-border: ${color_slots[9]};
|
--blockquote-border: ${color_slots[9]};
|
||||||
--text-muted: $border_color; /* Use border color for muted text */
|
--text-muted: $text_muted_color; /* Use text-specific color for muted text */
|
||||||
--text-faint: $border_color; /* Use border color for faint text */
|
--text-faint: $text_faint_color; /* Use text-specific color for faint text */
|
||||||
|
|
||||||
/* Additional mappings */
|
/* Additional mappings */
|
||||||
--text-accent: var(--interactive-accent);
|
--text-accent: var(--interactive-accent);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ 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
|
||||||
omarchy-snapshot create || [ $? -eq 127 ]
|
omarchy-snapshot create || [ $? -eq 127 ]
|
||||||
omarchy-update-git
|
omarchy-update-git
|
||||||
omarchy-update-perform
|
omarchy-update-perform
|
||||||
|
|||||||
14
bin/omarchy-update-confirm
Executable file
14
bin/omarchy-update-confirm
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
gum style --border normal --border-foreground 6 --padding "1 2" \
|
||||||
|
"Ready to update Omarchy?" \
|
||||||
|
"" \
|
||||||
|
"• You cannot stop the update once you start!" \
|
||||||
|
"• Make sure you're connected to power or have a full battery"
|
||||||
|
|
||||||
|
if ! gum confirm "Continue with update?"; then
|
||||||
|
echo "Update cancelled"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
12
bin/omarchy-update-keyring
Executable file
12
bin/omarchy-update-keyring
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Ensure we have the omarchy-keyring and it's populated
|
||||||
|
if omarchy-pkg-missing omarchy-keyring || ! sudo pacman-key --list-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 &>/dev/null; then
|
||||||
|
sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
|
||||||
|
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571
|
||||||
|
|
||||||
|
sudo pacman -Sy
|
||||||
|
omarchy-pkg-add omarchy-keyring
|
||||||
|
|
||||||
|
sudo pacman-key --list-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571
|
||||||
|
fi
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
omarchy-update-time
|
||||||
|
omarchy-update-keyring
|
||||||
omarchy-update-available-reset
|
omarchy-update-available-reset
|
||||||
omarchy-update-system-pkgs
|
omarchy-update-system-pkgs
|
||||||
omarchy-migrate
|
omarchy-migrate
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ if pacman -Qem >/dev/null; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
orphans=$(pacman -Qtdq)
|
orphans=$(pacman -Qtdq || true)
|
||||||
if [[ -n $orphans ]]; then
|
if [[ -n $orphans ]]; then
|
||||||
echo -e "\e[32m\nRemove orphan system packages\e[0m"
|
echo -e "\e[32m\nRemove orphan system packages\e[0m"
|
||||||
for pkg in $orphans; do
|
for pkg in $orphans; do
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${#APP_NAMES[@]} -eq 0 ]]; then
|
if [[ ${#APP_NAMES[@]} -eq 0 ]]; then
|
||||||
echo "You must provide web app names."
|
echo "You must select at least one web app to remove."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
2
config/fcitx5/conf/clipboard.conf
Normal file
2
config/fcitx5/conf/clipboard.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
TriggerKey=
|
||||||
|
PastePrimaryKey=
|
||||||
@@ -17,11 +17,11 @@ gtk-toolbar-style = flat
|
|||||||
# Cursor styling
|
# Cursor styling
|
||||||
cursor-style = "block"
|
cursor-style = "block"
|
||||||
cursor-style-blink = false
|
cursor-style-blink = false
|
||||||
shell-integration-features = no-cursor
|
|
||||||
|
# Cursor styling + SSH session terminfo
|
||||||
|
# (all shell integration options must be passed together)
|
||||||
|
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
|
||||||
|
|
||||||
# SSH session terminfo
|
|
||||||
shell-integration-features = ssh-env
|
|
||||||
|
|||||||
28
config/git/config
Normal file
28
config/git/config
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# See https://git-scm.com/docs/git-config
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
co = checkout
|
||||||
|
br = branch
|
||||||
|
ci = commit
|
||||||
|
st = status
|
||||||
|
[init]
|
||||||
|
defaultBranch = master
|
||||||
|
[pull]
|
||||||
|
rebase = true # Rebase (instead of merge) on pull
|
||||||
|
[push]
|
||||||
|
autoSetupRemote = true # Automatically set upstream branch on push
|
||||||
|
[diff]
|
||||||
|
algorithm = histogram # Clearer diffs on moved/edited lines
|
||||||
|
colorMoved = plain # Highlight moved blocks in diffs
|
||||||
|
mnemonicPrefix = true # More intuitive refs in diff output
|
||||||
|
[commit]
|
||||||
|
verbose = true # Include diff comment in commit message template
|
||||||
|
[column]
|
||||||
|
ui = auto # Output in columns when possible
|
||||||
|
[branch]
|
||||||
|
sort = -committerdate # Sort branches by most recent commit first
|
||||||
|
[tag]
|
||||||
|
sort = -version:refname # Sort version numbers as you would expect
|
||||||
|
[rerere]
|
||||||
|
enabled = true # Record and reuse conflict resolutions
|
||||||
|
autoupdate = true # Apply stored conflict resolutions automatically
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# Application bindings
|
# Application bindings
|
||||||
$terminal = uwsm-app -- $TERMINAL
|
$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 --working-directory="$(omarchy-cmd-terminal-cwd)"
|
||||||
@@ -12,7 +12,7 @@ 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
|
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
|
||||||
|
|
||||||
# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment
|
# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ profile {
|
|||||||
identity = true
|
identity = true
|
||||||
}
|
}
|
||||||
|
|
||||||
# Enable auto switch to nightlight:
|
# To enable auto switch to nightlight, set in your .config/hypr/autostart:
|
||||||
|
# exec-once = uwsm app -- hyprsunset
|
||||||
|
# and use the following:
|
||||||
# profile {
|
# profile {
|
||||||
# time = 20:00
|
# time = 20:00
|
||||||
# temperature = 4000
|
# temperature = 4000
|
||||||
|
|||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
general {
|
general {
|
||||||
# No gaps between windows
|
# No gaps between windows or borders
|
||||||
# gaps_in = 0
|
# gaps_in = 0
|
||||||
# gaps_out = 0
|
# gaps_out = 0
|
||||||
|
# border_size = 0
|
||||||
|
|
||||||
# Use master layout instead of dwindle
|
# Use master layout instead of dwindle
|
||||||
# layout = master
|
# layout = master
|
||||||
|
|||||||
2
config/imv/config
Normal file
2
config/imv/config
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[binds]
|
||||||
|
<Ctrl+p> = exec lp $imv_current_file
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# Changes require a restart to take effect.
|
# Changes require a restart to take effect.
|
||||||
|
|
||||||
# Install other terminals via Install > Terminal
|
# Install other terminals via Install > Terminal
|
||||||
export TERMINAL=alacritty
|
export TERMINAL=xdg-terminal-exec
|
||||||
|
|
||||||
# Use code for VSCode
|
# Use code for VSCode
|
||||||
export EDITOR=nvim
|
export EDITOR=nvim
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Ensure Omarchy bins are in the path
|
# Ensure Omarchy bins are in the path
|
||||||
export OMARCHY_PATH=$HOME/.local/share/omarchy
|
export OMARCHY_PATH=$HOME/.local/share/omarchy
|
||||||
export PATH=$OMARCHY_PATH/bin/:$PATH
|
export PATH=$OMARCHY_PATH/bin:$PATH
|
||||||
|
|
||||||
# Set default terminal and editor
|
# Set default terminal and editor
|
||||||
source ~/.config/uwsm/default
|
source ~/.config/uwsm/default
|
||||||
|
|||||||
@@ -1,28 +1,12 @@
|
|||||||
force_keyboard_focus = true # forces keyboard forcus to stay in Walker
|
force_keyboard_focus = true # forces keyboard forcus to stay in Walker
|
||||||
close_when_open = true # close walker when invoking while already opened
|
|
||||||
selection_wrap = true # wrap list if at bottom or top
|
selection_wrap = true # wrap list if at bottom or top
|
||||||
click_to_close = true # closes walker if clicking outside of the main content area
|
|
||||||
global_argument_delimiter = "#" # query: firefox#https://benz.dev => part after delimiter will be ignored when querying. this should be the same as in the elephant config
|
|
||||||
exact_search_prefix = "'" # disable fuzzy searching
|
|
||||||
theme = "omarchy-default" # theme to use
|
theme = "omarchy-default" # theme to use
|
||||||
disable_mouse = false # disable mouse (on input and list only)
|
|
||||||
additional_theme_location = "~/.local/share/omarchy/default/walker/themes/"
|
additional_theme_location = "~/.local/share/omarchy/default/walker/themes/"
|
||||||
|
|
||||||
[shell]
|
|
||||||
anchor_top = true
|
|
||||||
anchor_bottom = true
|
|
||||||
anchor_left = true
|
|
||||||
anchor_right = true
|
|
||||||
|
|
||||||
[placeholders]
|
[placeholders]
|
||||||
"default" = { input = " Search...", list = "No Results" } # placeholders for input and empty list, key is the providers name, so f.e. "desktopapplications" or "menus:other"
|
"default" = { input = " Search...", list = "No Results" } # placeholders for input and empty list, key is the providers name, so f.e. "desktopapplications" or "menus:other"
|
||||||
|
|
||||||
[keybinds]
|
[keybinds]
|
||||||
close = ["Escape"]
|
|
||||||
next = ["Down"]
|
|
||||||
previous = ["Up"]
|
|
||||||
toggle_exact = ["ctrl e"]
|
|
||||||
resume_last_query = ["ctrl r"]
|
|
||||||
quick_activate = []
|
quick_activate = []
|
||||||
|
|
||||||
[providers]
|
[providers]
|
||||||
@@ -31,11 +15,6 @@ default = [
|
|||||||
"menus",
|
"menus",
|
||||||
"websearch",
|
"websearch",
|
||||||
] # providers to be queried by default
|
] # providers to be queried by default
|
||||||
empty = ["desktopapplications"] # providers to be queried when query is empty
|
|
||||||
max_results = 50 # global max results
|
|
||||||
|
|
||||||
[providers.sets] # define your own defaults/empty sets of providers
|
|
||||||
[providers.max_results_provider] # define max results per provider in here
|
|
||||||
|
|
||||||
[[providers.prefixes]]
|
[[providers.prefixes]]
|
||||||
prefix = "/"
|
prefix = "/"
|
||||||
@@ -60,86 +39,3 @@ provider = "websearch"
|
|||||||
[[providers.prefixes]]
|
[[providers.prefixes]]
|
||||||
prefix = "$"
|
prefix = "$"
|
||||||
provider = "clipboard"
|
provider = "clipboard"
|
||||||
|
|
||||||
[providers.actions] # This will be MERGED/OVEWRITTEN with what the user specifies
|
|
||||||
dmenu = [{ action = "select", default = true, bind = "Return" }]
|
|
||||||
|
|
||||||
providerlist = [
|
|
||||||
{ action = "activate", default = true, bind = "Return", after = "ClearReload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
bluetooth = [
|
|
||||||
{ action = "find", global = true, bind = "ctrl f", after = "AsyncClearReload" },
|
|
||||||
{ action = "trust", bind = "ctrl t", after = "AsyncReload" },
|
|
||||||
{ action = "untrust", bind = "ctrl t", after = "AsyncReload" },
|
|
||||||
{ action = "pair", bind = "Return", after = "AsyncReload" },
|
|
||||||
{ action = "remove", bind = "ctrl d", after = "AsyncReload" },
|
|
||||||
{ action = "connect", bind = "Return", after = "AsyncReload" },
|
|
||||||
{ action = "disconnect", bind = "Return", after = "AsyncReload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
archlinuxpkgs = [
|
|
||||||
{ action = "install", bind = "Return", default = true },
|
|
||||||
{ action = "remove", bind = "Return" },
|
|
||||||
]
|
|
||||||
|
|
||||||
calc = [
|
|
||||||
{ action = "copy", default = true, bind = "Return" },
|
|
||||||
{ action = "delete", bind = "ctrl d", after = "AsyncReload" },
|
|
||||||
{ action = "save", bind = "ctrl s", after = "AsyncClearReload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
websearch = [
|
|
||||||
{ action = "search", default = true, bind = "Return" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
desktopapplications = [
|
|
||||||
{ action = "start", default = true, bind = "Return" },
|
|
||||||
{ action = "start:keep", label = "open+next", bind = "shift Return", after = "KeepOpen" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
|
|
||||||
{ action = "pin", bind = "ctrl p", after = "AsyncReload" },
|
|
||||||
{ action = "unpin", bind = "ctrl p", after = "AsyncReload" },
|
|
||||||
{ action = "pinup", bind = "ctrl n", after = "AsyncReload" },
|
|
||||||
{ action = "pindown", bind = "ctrl m", after = "AsyncReload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
files = [
|
|
||||||
{ action = "open", default = true, bind = "Return" },
|
|
||||||
{ action = "opendir", label = "open dir", bind = "ctrl Return" },
|
|
||||||
{ action = "copypath", label = "copy path", bind = "ctrl shift c" },
|
|
||||||
{ action = "copyfile", label = "copy file", bind = "ctrl c" },
|
|
||||||
]
|
|
||||||
|
|
||||||
todo = [
|
|
||||||
{ action = "save", default = true, bind = "Return", after = "ClearReload" },
|
|
||||||
{ action = "delete", bind = "ctrl d", after = "ClearReload" },
|
|
||||||
{ action = "active", bind = "Return", after = "ClearReload" },
|
|
||||||
{ action = "inactive", bind = "Return", after = "ClearReload" },
|
|
||||||
{ action = "done", bind = "ctrl f", after = "ClearReload" },
|
|
||||||
{ action = "clear", bind = "ctrl x", after = "ClearReload", global = true },
|
|
||||||
]
|
|
||||||
|
|
||||||
runner = [
|
|
||||||
{ action = "run", default = true, bind = "Return" },
|
|
||||||
{ action = "runterminal", label = "run in terminal", bind = "shift Return" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
symbols = [
|
|
||||||
{ action = "run_cmd", label = "select", default = true, bind = "Return" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
unicode = [
|
|
||||||
{ action = "run_cmd", label = "select", default = true, bind = "Return" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
clipboard = [
|
|
||||||
{ action = "copy", default = true, bind = "Return" },
|
|
||||||
{ action = "remove", bind = "ctrl d", after = "ClearReload" },
|
|
||||||
{ action = "remove_all", global = true, label = "clear", bind = "ctrl shift d", after = "ClearReload" },
|
|
||||||
{ action = "toggle_images", global = true, label = "toggle images", bind = "ctrl i", after = "ClearReload" },
|
|
||||||
{ action = "edit", bind = "ctrl o" },
|
|
||||||
]
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
"custom/omarchy": {
|
"custom/omarchy": {
|
||||||
"format": "<span font='omarchy'>\ue900</span>",
|
"format": "<span font='omarchy'>\ue900</span>",
|
||||||
"on-click": "omarchy-menu",
|
"on-click": "omarchy-menu",
|
||||||
"on-click-right": "omarchy-launch-terminal",
|
"on-click-right": "xdg-terminal-exec",
|
||||||
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
||||||
},
|
},
|
||||||
"custom/update": {
|
"custom/update": {
|
||||||
@@ -50,13 +50,13 @@
|
|||||||
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
||||||
"tooltip-format": "Omarchy update available",
|
"tooltip-format": "Omarchy update available",
|
||||||
"signal": 7,
|
"signal": 7,
|
||||||
"interval": 3600
|
"interval": 21600
|
||||||
},
|
},
|
||||||
|
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
"format": "",
|
"format": "",
|
||||||
"on-click": "$TERMINAL -e btop"
|
"on-click": "xdg-terminal-exec btop"
|
||||||
},
|
},
|
||||||
"clock": {
|
"clock": {
|
||||||
"format": "{:L%A %H:%M}",
|
"format": "{:L%A %H:%M}",
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
},
|
},
|
||||||
"pulseaudio": {
|
"pulseaudio": {
|
||||||
"format": "{icon}",
|
"format": "{icon}",
|
||||||
"on-click": "$TERMINAL --class=Wiremix -e wiremix",
|
"on-click": "xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix",
|
||||||
"on-click-right": "pamixer -t",
|
"on-click-right": "pamixer -t",
|
||||||
"tooltip-format": "Playing at {volume}%",
|
"tooltip-format": "Playing at {volume}%",
|
||||||
"scroll-step": 5,
|
"scroll-step": 5,
|
||||||
|
|||||||
@@ -1,19 +1,26 @@
|
|||||||
# File system
|
# File system
|
||||||
alias ls='eza -lh --group-directories-first --icons=auto'
|
if command -v eza &> /dev/null; then
|
||||||
alias lsa='ls -a'
|
alias ls='eza -lh --group-directories-first --icons=auto'
|
||||||
alias lt='eza --tree --level=2 --long --icons --git'
|
alias lsa='ls -a'
|
||||||
alias lta='lt -a'
|
alias lt='eza --tree --level=2 --long --icons --git'
|
||||||
|
alias lta='lt -a'
|
||||||
|
fi
|
||||||
|
|
||||||
alias ff="fzf --preview 'bat --style=numbers --color=always {}'"
|
alias ff="fzf --preview 'bat --style=numbers --color=always {}'"
|
||||||
alias cd="zd"
|
|
||||||
zd() {
|
if command -v zoxide &> /dev/null; then
|
||||||
if [ $# -eq 0 ]; then
|
alias cd="zd"
|
||||||
builtin cd ~ && return
|
zd() {
|
||||||
elif [ -d "$1" ]; then
|
if [ $# -eq 0 ]; then
|
||||||
builtin cd "$1"
|
builtin cd ~ && return
|
||||||
else
|
elif [ -d "$1" ]; then
|
||||||
z "$@" && printf "\U000F17A9 " && pwd || echo "Error: Directory not found"
|
builtin cd "$1"
|
||||||
fi
|
else
|
||||||
}
|
z "$@" && printf "\U000F17A9 " && pwd || echo "Error: Directory not found"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
open() {
|
open() {
|
||||||
xdg-open "$@" >/dev/null 2>&1 &
|
xdg-open "$@" >/dev/null 2>&1 &
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
# Fixing popup size issue
|
# JetBrains windows default size
|
||||||
windowrule = size 50% 50%, class:(.*jetbrains.*)$, title:^$,floating:1
|
windowrule = size 50% 50%, class:(.*jetbrains.*)$, title:^$
|
||||||
|
|
||||||
# Fix tab dragging (always have a single space character as their title)
|
# Fix tab dragging (tab titles are just one space)
|
||||||
windowrule = noinitialfocus, class:^(.*jetbrains.*)$, title:^\\s$
|
windowrule = noinitialfocus, class:^(.*jetbrains.*)$, title:^\\s$
|
||||||
windowrule = nofocus, class:^(.*jetbrains.*)$, title:^\\s$
|
|
||||||
|
# Allow dialogs (like "Send usage statistics") to be focusable and clickable
|
||||||
|
windowrule = unset,nofocus,class:^(.*jetbrains.*)$,title:^$
|
||||||
|
windowrule = unset,noinitialfocus,class:^(.*jetbrains.*)$,title:^$
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
# Floating windows
|
# Floating windows
|
||||||
windowrule = float, tag:floating-window
|
windowrule = float, tag:floating-window
|
||||||
windowrule = center, tag:floating-window
|
windowrule = center, tag:floating-window
|
||||||
windowrule = size 800 600, tag:floating-window
|
windowrule = size 875 600, tag:floating-window
|
||||||
|
|
||||||
windowrule = tag +floating-window, class:(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float)
|
windowrule = tag +floating-window, class:(blueberry.py|com.omarchy.Impala|com.omarchy.Wiremix|com.omarchy.Omarchy|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float)
|
||||||
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files)
|
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*)
|
||||||
windowrule = float, class:org.gnome.Calculator
|
windowrule = float, class:org.gnome.Calculator
|
||||||
|
|
||||||
# Fullscreen screensaver
|
# Fullscreen screensaver
|
||||||
@@ -12,3 +12,6 @@ windowrule = fullscreen, class: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)$
|
||||||
|
|
||||||
|
# Popped window rounding
|
||||||
|
windowrule = rounding 8, tag:pop
|
||||||
|
|||||||
@@ -8,3 +8,7 @@ exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|||||||
exec-once = omarchy-cmd-first-run
|
exec-once = omarchy-cmd-first-run
|
||||||
exec-once = uwsm-app -- elephant
|
exec-once = uwsm-app -- elephant
|
||||||
exec-once = uwsm-app -- walker --gapplication-service
|
exec-once = uwsm-app -- walker --gapplication-service
|
||||||
|
|
||||||
|
# Slow app launch fix -- set systemd vars
|
||||||
|
exec-once = systemctl --user import-environment $(env | cut -d'=' -f 1)
|
||||||
|
exec-once = dbus-update-activation-environment --systemd --all
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Copy / Paste
|
# Copy / Paste
|
||||||
bindd = SUPER, C, Copy, sendshortcut, CTRL, Insert,
|
bindd = SUPER, C, Universal copy, sendshortcut, CTRL, Insert,
|
||||||
bindd = SUPER, V, Paste, sendshortcut, SHIFT, Insert,
|
bindd = SUPER, V, Universal paste, sendshortcut, SHIFT, Insert,
|
||||||
bindd = SUPER, X, Cut, sendshortcut, CTRL, X,
|
bindd = SUPER, X, Universal cut, sendshortcut, CTRL, X,
|
||||||
bindd = SUPER CTRL, V, Clipboard, exec, omarchy-launch-walker -m clipboard
|
bindd = SUPER CTRL, V, Clipboard manager, exec, omarchy-launch-walker -m clipboard
|
||||||
|
|||||||
@@ -1,22 +1,23 @@
|
|||||||
# Close windows
|
# Close windows
|
||||||
bindd = SUPER, W, Close active window, killactive,
|
bindd = SUPER, W, Close window, killactive,
|
||||||
bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-hyprland-window-close-all
|
bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all
|
||||||
|
|
||||||
# Control tiling
|
# Control tiling
|
||||||
bindd = SUPER, J, Toggle split, togglesplit, # dwindle
|
bindd = SUPER, J, Toggle window split, togglesplit, # dwindle
|
||||||
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
||||||
bindd = SUPER, T, Toggle floating, togglefloating,
|
bindd = SUPER, T, Toggle window floating/tiling, togglefloating,
|
||||||
bindd = SUPER, F, Force full screen, fullscreen, 0
|
bindd = SUPER, F, Full screen, fullscreen, 0
|
||||||
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
|
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
|
||||||
bindd = SUPER ALT, F, Full width, fullscreen, 1
|
bindd = SUPER ALT, F, Full width, fullscreen, 1
|
||||||
|
bindd = SUPER, O, Pop window out (float & pin), exec, omarchy-hyprland-window-pop
|
||||||
|
|
||||||
# Move focus with SUPER + arrow keys
|
# Move focus with SUPER + arrow keys
|
||||||
bindd = SUPER, LEFT, Move focus left, movefocus, l
|
bindd = SUPER, LEFT, Move window focus left, movefocus, l
|
||||||
bindd = SUPER, RIGHT, Move focus right, movefocus, r
|
bindd = SUPER, RIGHT, Move window focus right, movefocus, r
|
||||||
bindd = SUPER, UP, Move focus up, movefocus, u
|
bindd = SUPER, UP, Move window focus up, movefocus, u
|
||||||
bindd = SUPER, DOWN, Move focus down, movefocus, d
|
bindd = SUPER, DOWN, Move window focus down, movefocus, d
|
||||||
|
|
||||||
# Switch workspaces with SUPER + [0-9]
|
# Switch workspaces with SUPER + [1-9]
|
||||||
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
|
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
|
||||||
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
|
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
|
||||||
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
|
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
|
||||||
@@ -26,9 +27,8 @@ bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
|
|||||||
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
|
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
|
||||||
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
|
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
|
||||||
bindd = SUPER, code:18, Switch to workspace 9, workspace, 9
|
bindd = SUPER, code:18, Switch to workspace 9, workspace, 9
|
||||||
bindd = SUPER, code:19, Switch to workspace 10, workspace, 10
|
|
||||||
|
|
||||||
# Move active window to a workspace with SUPER + SHIFT + [0-9]
|
# Move active window to a workspace with SUPER + SHIFT + [1-9]
|
||||||
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
|
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
|
||||||
bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2
|
bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2
|
||||||
bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3
|
bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3
|
||||||
@@ -38,7 +38,10 @@ bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6
|
|||||||
bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7
|
bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7
|
||||||
bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8
|
bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8
|
||||||
bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9
|
bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9
|
||||||
bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10
|
|
||||||
|
# Control scratchpad
|
||||||
|
bindd = SUPER, S, Toggle scratchpad, togglespecialworkspace, scratchpad
|
||||||
|
bindd = SUPER ALT, S, Move window to scratchpad, movetoworkspacesilent, special:scratchpad
|
||||||
|
|
||||||
# TAB between workspaces
|
# TAB between workspaces
|
||||||
bindd = SUPER, TAB, Next workspace, workspace, e+1
|
bindd = SUPER, TAB, Next workspace, workspace, e+1
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
# Do not make changes here, but bring them to tiling-v2.conf instead.
|
# Do not make changes here, but bring them to tiling-v2.conf instead.
|
||||||
|
|
||||||
# Close windows
|
# Close windows
|
||||||
bindd = SUPER, W, Close active window, killactive,
|
bindd = SUPER, W, Close window, killactive,
|
||||||
bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-hyprland-window-close-all
|
bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all
|
||||||
|
|
||||||
# Control tiling
|
# Control tiling
|
||||||
bindd = SUPER, J, Toggle split, togglesplit, # dwindle
|
bindd = SUPER, J, Toggle window split, togglesplit, # dwindle
|
||||||
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
||||||
bindd = SUPER SHIFT, V, Toggle floating, togglefloating,
|
bindd = SUPER SHIFT, V, Toggle window floating/tiling, togglefloating,
|
||||||
bindd = SHIFT, F11, Force full screen, fullscreen, 0
|
bindd = SHIFT, F11, Force full screen, fullscreen, 0
|
||||||
bindd = ALT, F11, Full width, fullscreen, 1
|
bindd = ALT, F11, Full width, fullscreen, 1
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker
|
bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker
|
||||||
bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols
|
bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols
|
||||||
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
|
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
|
||||||
bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system
|
bindd = SUPER, ESCAPE, System menu, exec, omarchy-menu system
|
||||||
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
|
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
|
||||||
bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings
|
bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings
|
||||||
bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
||||||
@@ -10,7 +10,7 @@ bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
|||||||
# Aesthetics
|
# Aesthetics
|
||||||
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar
|
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar
|
||||||
bindd = SUPER CTRL, SPACE, Next background in theme, exec, omarchy-theme-bg-next
|
bindd = SUPER CTRL, SPACE, Next background in theme, exec, omarchy-theme-bg-next
|
||||||
bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, omarchy-menu theme
|
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, 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 workspace gaps, exec, omarchy-hyprland-workspace-toggle-gaps
|
||||||
|
|
||||||
@@ -31,10 +31,10 @@ bindd = CTRL, F2, Apple Display brightness up, exec, omarchy-cmd-apple-display-b
|
|||||||
bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-cmd-apple-display-brightness +60000
|
bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-cmd-apple-display-brightness +60000
|
||||||
|
|
||||||
# Captures
|
# Captures
|
||||||
bindd = , PRINT, Screenshot with Editing, exec, omarchy-cmd-screenshot
|
bindd = , PRINT, Screenshot with editing, exec, omarchy-cmd-screenshot
|
||||||
bindd = SHIFT, PRINT, Screenshot to Clipboard, exec, omarchy-cmd-screenshot smart clipboard
|
bindd = SHIFT, PRINT, Screenshot to clipboard, exec, omarchy-cmd-screenshot smart clipboard
|
||||||
bindd = ALT, PRINT, Screenrecording, exec, omarchy-menu screenrecord
|
bindd = ALT, PRINT, Screenrecording, exec, omarchy-menu screenrecord
|
||||||
bindd = SUPER, PRINT, Color picking, exec, pkill hyprpicker || hyprpicker -a
|
bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a
|
||||||
|
|
||||||
# File sharing
|
# File sharing
|
||||||
bindd = SUPER CTRL, S, Share, exec, omarchy-menu share
|
bindd = SUPER CTRL, S, Share, exec, omarchy-menu share
|
||||||
|
|||||||
@@ -120,9 +120,17 @@ misc {
|
|||||||
disable_splash_rendering = true
|
disable_splash_rendering = true
|
||||||
focus_on_activate = true
|
focus_on_activate = true
|
||||||
anr_missed_pings = 3
|
anr_missed_pings = 3
|
||||||
|
new_window_takes_over_fullscreen = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# https://wiki.hypr.land/Configuring/Variables/#cursor
|
# https://wiki.hypr.land/Configuring/Variables/#cursor
|
||||||
cursor {
|
cursor {
|
||||||
hide_on_key_press = true
|
hide_on_key_press = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Style Gum confirm to match terminal theme
|
||||||
|
env = GUM_CONFIRM_PROMPT_FOREGROUND,6 # Cyan
|
||||||
|
env = GUM_CONFIRM_SELECTED_FOREGROUND,0 # Black
|
||||||
|
env = GUM_CONFIRM_SELECTED_BACKGROUND,2 # Green
|
||||||
|
env = GUM_CONFIRM_UNSELECTED_FOREGROUND,0 # Black
|
||||||
|
env = GUM_CONFIRM_UNSELECTED_BACKGROUND,8 # Dark grey
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if pgrep -f "gpu-screen-recorder" >/dev/null; then
|
if pgrep -f "^gpu-screen-recorder" >/dev/null; then
|
||||||
echo '{"text": "", "tooltip": "Stop recording", "class": "active"}'
|
echo '{"text": "", "tooltip": "Stop recording", "class": "active"}'
|
||||||
else
|
else
|
||||||
echo '{"text": ""}'
|
echo '{"text": ""}'
|
||||||
|
|||||||
@@ -30,3 +30,4 @@ run_logged $OMARCHY_INSTALL/config/hardware/fix-bcm43xx.sh
|
|||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-suspend-nvme.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-suspend-nvme.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh
|
||||||
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-surface-keyboard.sh
|
||||||
|
|||||||
@@ -1,15 +1,3 @@
|
|||||||
# Ensure git settings live under ~/.config
|
|
||||||
mkdir -p ~/.config/git
|
|
||||||
touch ~/.config/git/config
|
|
||||||
|
|
||||||
# Set common git aliases
|
|
||||||
git config --global alias.co checkout
|
|
||||||
git config --global alias.br branch
|
|
||||||
git config --global alias.ci commit
|
|
||||||
git config --global alias.st status
|
|
||||||
git config --global pull.rebase true
|
|
||||||
git config --global init.defaultBranch master
|
|
||||||
|
|
||||||
# Set identification from install inputs
|
# Set identification from install inputs
|
||||||
if [[ -n "${OMARCHY_USER_NAME//[[:space:]]/}" ]]; then
|
if [[ -n "${OMARCHY_USER_NAME//[[:space:]]/}" ]]; then
|
||||||
git config --global user.name "$OMARCHY_USER_NAME"
|
git config --global user.name "$OMARCHY_USER_NAME"
|
||||||
|
|||||||
23
install/config/hardware/fix-surface-keyboard.sh
Normal file
23
install/config/hardware/fix-surface-keyboard.sh
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Detect Surface devices which require additional modules for the keyboard to work.
|
||||||
|
# Module list derived from Chris McLeod's manual install instructions
|
||||||
|
# https://chrismcleod.dev/blog/installing-arch-linux-with-secure-boot-on-a-microsoft-surface-laptop-studio/
|
||||||
|
product_name="$(cat /sys/class/dmi/id/product_name 2>/dev/null)"
|
||||||
|
if [[ "$product_name" =~ Surface ]]; then
|
||||||
|
echo "Detected Surface Device"
|
||||||
|
|
||||||
|
# Modules already exist in the rootfs for the default kernel.
|
||||||
|
if [[ "$product_name" != "Surface Laptop 3" ]]; then
|
||||||
|
echo "Untested Surface Device: $product_name, additional modules may be required for your device."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Attempting to autodetect required pinctrl module"
|
||||||
|
pinctrl_module=$(lsmod | grep pinctrl_ | cut -f 1 -d" ")
|
||||||
|
if [[ -z "$pinctrl_module" ]]; then
|
||||||
|
echo "Failed to autodetect pinctrl module."
|
||||||
|
else
|
||||||
|
echo "Detected pinctrl module: $pinctrl_module"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "MODULES=(${pinctrl_module} surface_aggregator surface_aggregator_registry surface_aggregator_hub surface_hid_core surface_hid surface_kbd intel_lpss_pci 8250_dw)" | sudo tee /etc/mkinitcpio.conf.d/surface_device_modules.conf >/dev/null
|
||||||
|
|
||||||
|
fi
|
||||||
@@ -36,3 +36,22 @@ xdg-mime default mpv.desktop application/ogg
|
|||||||
|
|
||||||
# Use Hey for mailto: links
|
# Use Hey for mailto: links
|
||||||
xdg-mime default HEY.desktop x-scheme-handler/mailto
|
xdg-mime default HEY.desktop x-scheme-handler/mailto
|
||||||
|
|
||||||
|
# Open text files with nvim
|
||||||
|
xdg-mime default nvim.desktop text/plain
|
||||||
|
xdg-mime default nvim.desktop text/english
|
||||||
|
xdg-mime default nvim.desktop text/x-makefile
|
||||||
|
xdg-mime default nvim.desktop text/x-c++hdr
|
||||||
|
xdg-mime default nvim.desktop text/x-c++src
|
||||||
|
xdg-mime default nvim.desktop text/x-chdr
|
||||||
|
xdg-mime default nvim.desktop text/x-csrc
|
||||||
|
xdg-mime default nvim.desktop text/x-java
|
||||||
|
xdg-mime default nvim.desktop text/x-moc
|
||||||
|
xdg-mime default nvim.desktop text/x-pascal
|
||||||
|
xdg-mime default nvim.desktop text/x-tcl
|
||||||
|
xdg-mime default nvim.desktop text/x-tex
|
||||||
|
xdg-mime default nvim.desktop application/x-shellscript
|
||||||
|
xdg-mime default nvim.desktop text/x-c
|
||||||
|
xdg-mime default nvim.desktop text/x-c++
|
||||||
|
xdg-mime default nvim.desktop application/xml
|
||||||
|
xdg-mime default nvim.desktop text/xml
|
||||||
|
|||||||
@@ -20,9 +20,6 @@ ln -snf ~/.config/omarchy/current/theme/btop.theme ~/.config/btop/themes/current
|
|||||||
mkdir -p ~/.config/mako
|
mkdir -p ~/.config/mako
|
||||||
ln -snf ~/.config/omarchy/current/theme/mako.ini ~/.config/mako/config
|
ln -snf ~/.config/omarchy/current/theme/mako.ini ~/.config/mako/config
|
||||||
|
|
||||||
mkdir -p ~/.config/eza
|
|
||||||
ln -snf ~/.config/omarchy/current/theme/eza.yml ~/.config/eza/theme.yml
|
|
||||||
|
|
||||||
# Add managed policy directories for Chromium and Brave for theme changes
|
# Add managed policy directories for Chromium and Brave for theme changes
|
||||||
sudo mkdir -p /etc/chromium/policies/managed
|
sudo mkdir -p /etc/chromium/policies/managed
|
||||||
sudo chmod a+rw /etc/chromium/policies/managed
|
sudo chmod a+rw /etc/chromium/policies/managed
|
||||||
|
|||||||
@@ -6,9 +6,6 @@ sudo ufw default allow outgoing
|
|||||||
sudo ufw allow 53317/udp
|
sudo ufw allow 53317/udp
|
||||||
sudo ufw allow 53317/tcp
|
sudo ufw allow 53317/tcp
|
||||||
|
|
||||||
# Allow SSH in
|
|
||||||
sudo ufw allow 22/tcp
|
|
||||||
|
|
||||||
# Allow Docker containers to use DNS on host
|
# Allow Docker containers to use DNS on host
|
||||||
sudo ufw allow in proto udp from 172.16.0.0/12 to 172.17.0.1 port 53 comment 'allow-docker-dns'
|
sudo ufw allow in proto udp from 172.16.0.0/12 to 172.17.0.1 port 53 comment 'allow-docker-dns'
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1 @@
|
|||||||
notify-send " Update System" "When you have internet, click to update the system." -u critical
|
|
||||||
notify-send " Learn Keybindings" "Super + K for cheatsheet.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -u critical
|
notify-send " Learn Keybindings" "Super + K for cheatsheet.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -u critical
|
||||||
|
|||||||
@@ -1,3 +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 " 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
|
||||||
|
else
|
||||||
|
notify-send " Update System" "Click to update the system." -u critical
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -22,19 +22,6 @@ docker
|
|||||||
docker-buildx
|
docker-buildx
|
||||||
docker-compose
|
docker-compose
|
||||||
dust
|
dust
|
||||||
elephant
|
|
||||||
elephant-bluetooth
|
|
||||||
elephant-calc
|
|
||||||
elephant-clipboard
|
|
||||||
elephant-desktopapplications
|
|
||||||
elephant-files
|
|
||||||
elephant-menus
|
|
||||||
elephant-providerlist
|
|
||||||
elephant-runner
|
|
||||||
elephant-symbols
|
|
||||||
elephant-todo
|
|
||||||
elephant-unicode
|
|
||||||
elephant-websearch
|
|
||||||
evince
|
evince
|
||||||
expac
|
expac
|
||||||
eza
|
eza
|
||||||
@@ -98,6 +85,7 @@ obs-studio
|
|||||||
obsidian
|
obsidian
|
||||||
omarchy-chromium
|
omarchy-chromium
|
||||||
omarchy-nvim
|
omarchy-nvim
|
||||||
|
omarchy-walker
|
||||||
pamixer
|
pamixer
|
||||||
pinta
|
pinta
|
||||||
playerctl
|
playerctl
|
||||||
@@ -132,7 +120,6 @@ ufw
|
|||||||
ufw-docker
|
ufw-docker
|
||||||
unzip
|
unzip
|
||||||
uwsm
|
uwsm
|
||||||
walker
|
|
||||||
waybar
|
waybar
|
||||||
wayfreeze
|
wayfreeze
|
||||||
whois
|
whois
|
||||||
@@ -143,6 +130,7 @@ wl-clipboard
|
|||||||
woff2-font-awesome
|
woff2-font-awesome
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
xdg-desktop-portal-hyprland
|
xdg-desktop-portal-hyprland
|
||||||
|
xdg-terminal-exec
|
||||||
xmlstarlet
|
xmlstarlet
|
||||||
xournalpp
|
xournalpp
|
||||||
yaru-icon-theme
|
yaru-icon-theme
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
|
# Includes lazyvim and the themes
|
||||||
omarchy-nvim-setup
|
omarchy-nvim-setup
|
||||||
|
|||||||
@@ -22,8 +22,6 @@ fi
|
|||||||
|
|
||||||
if sudo test -f /etc/sudoers.d/99-omarchy-installer; then
|
if sudo test -f /etc/sudoers.d/99-omarchy-installer; then
|
||||||
sudo rm -f /etc/sudoers.d/99-omarchy-installer &>/dev/null
|
sudo rm -f /etc/sudoers.d/99-omarchy-installer &>/dev/null
|
||||||
echo
|
|
||||||
echo_in_style "Remember to remove USB installer!"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Exit gracefully if user chooses not to reboot
|
# Exit gracefully if user chooses not to reboot
|
||||||
|
|||||||
@@ -6,6 +6,13 @@ if [[ -n ${OMARCHY_ONLINE_INSTALL:-} ]]; then
|
|||||||
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 /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
|
||||||
|
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571
|
||||||
|
|
||||||
|
sudo pacman -Sy
|
||||||
|
sudo pacman -S --noconfirm --needed omarchy-keyring
|
||||||
|
|
||||||
|
|
||||||
# Refresh all repos
|
# Refresh all repos
|
||||||
sudo pacman -Syu --noconfirm
|
sudo pacman -Syu --noconfirm
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
echo "Fix opening in nvim from files manager"
|
|
||||||
|
|
||||||
cp -f $OMARCHY_PATH/applications/nvim.desktop ~/.local/share/applications/nvim.desktop
|
|
||||||
9
migrations/1761569743.sh
Normal file
9
migrations/1761569743.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
echo "Add default Ctrl+P binding for imv; backup existing config if present"
|
||||||
|
|
||||||
|
if [ -f ~/.config/imv/config ]; then
|
||||||
|
cp ~/.config/imv/config ~/.config/imv/config.bak.$(date +%s)
|
||||||
|
else
|
||||||
|
mkdir -p ~/.config/imv
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp ~/.local/share/omarchy/config/imv/config ~/.config/imv/config
|
||||||
3
migrations/1761585764.sh
Normal file
3
migrations/1761585764.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
echo "Disable Nvim news alerts box"
|
||||||
|
|
||||||
|
cp /usr/share/omarchy-nvim/config/lua/plugins/disable-news-alert.lua ~/.config/nvim/lua/plugins/disable-news-alert.lua
|
||||||
6
migrations/1761638377.sh
Normal file
6
migrations/1761638377.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
echo "Turn off fcitx5 clipboard that is interferring with other applications"
|
||||||
|
|
||||||
|
mkdir -p ~/.config/fcitx5/conf
|
||||||
|
cp $OMARCHY_PATH/config/fcitx5/conf/clipboard.conf ~/.config/fcitx5/conf/
|
||||||
|
|
||||||
|
omarchy-restart-xcompose
|
||||||
21
migrations/1761758552.sh
Normal file
21
migrations/1761758552.sh
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
echo "Set nvim as default via xdg-mime"
|
||||||
|
|
||||||
|
rm ~/.local/share/applications/nvim.desktop || true
|
||||||
|
|
||||||
|
xdg-mime default nvim.desktop text/plain
|
||||||
|
xdg-mime default nvim.desktop text/english
|
||||||
|
xdg-mime default nvim.desktop text/x-makefile
|
||||||
|
xdg-mime default nvim.desktop text/x-c++hdr
|
||||||
|
xdg-mime default nvim.desktop text/x-c++src
|
||||||
|
xdg-mime default nvim.desktop text/x-chdr
|
||||||
|
xdg-mime default nvim.desktop text/x-csrc
|
||||||
|
xdg-mime default nvim.desktop text/x-java
|
||||||
|
xdg-mime default nvim.desktop text/x-moc
|
||||||
|
xdg-mime default nvim.desktop text/x-pascal
|
||||||
|
xdg-mime default nvim.desktop text/x-tcl
|
||||||
|
xdg-mime default nvim.desktop text/x-tex
|
||||||
|
xdg-mime default nvim.desktop application/x-shellscript
|
||||||
|
xdg-mime default nvim.desktop text/x-c
|
||||||
|
xdg-mime default nvim.desktop text/x-c++
|
||||||
|
xdg-mime default nvim.desktop application/xml
|
||||||
|
xdg-mime default nvim.desktop text/xml
|
||||||
64
migrations/1762121828.sh
Normal file
64
migrations/1762121828.sh
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
echo "Setting up xdg-terminal-exec for gtk-launch terminal support"
|
||||||
|
# Solve for hardcoded glib terminals
|
||||||
|
# https://github.com/basecamp/omarchy/issues/1852
|
||||||
|
|
||||||
|
# Remove old symlink if it exists -- if someone ran the previous migration early
|
||||||
|
if [ -L /usr/local/bin/xdg-terminal-exec ]; then
|
||||||
|
sudo rm /usr/local/bin/xdg-terminal-exec
|
||||||
|
fi
|
||||||
|
|
||||||
|
omarchy-pkg-add xdg-terminal-exec
|
||||||
|
|
||||||
|
# Set up xdg-terminals.list based on current $TERMINAL
|
||||||
|
if [ -n "$TERMINAL" ]; then
|
||||||
|
case "$TERMINAL" in
|
||||||
|
alacritty)
|
||||||
|
desktop_id="Alacritty.desktop"
|
||||||
|
;;
|
||||||
|
ghostty)
|
||||||
|
desktop_id="com.mitchellh.ghostty.desktop"
|
||||||
|
;;
|
||||||
|
kitty)
|
||||||
|
desktop_id="kitty.desktop"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -n "$desktop_id" ]; then
|
||||||
|
mkdir -p ~/.config
|
||||||
|
cat > ~/.config/xdg-terminals.list << EOF
|
||||||
|
# Terminal emulator preference order for xdg-terminal-exec
|
||||||
|
# The first found and valid terminal will be used
|
||||||
|
$desktop_id
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy custom desktop entries with proper X-TerminalArg* keys
|
||||||
|
if command -v alacritty > /dev/null 2>&1; then
|
||||||
|
cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update hyprland bindings to use xdg-terminal-exec
|
||||||
|
sed -i 's/\$terminal = uwsm-app -- \$TERMINAL/$terminal = uwsm-app -- xdg-terminal-exec/' ~/.config/hypr/bindings.conf
|
||||||
|
# Update --working-directory to --dir for xdg-terminal-exec
|
||||||
|
sed -i 's/--working-directory=/--dir=/g' ~/.config/hypr/bindings.conf
|
||||||
|
|
||||||
|
# Update TERMINAL variable in uwsm config
|
||||||
|
sed -i 's/export TERMINAL=.*/export TERMINAL=xdg-terminal-exec/' ~/.config/uwsm/default
|
||||||
|
|
||||||
|
# Update waybar config to use xdg-terminal-exec
|
||||||
|
waybar_config=~/.config/waybar/config.jsonc
|
||||||
|
if [ -f "$waybar_config" ]; then
|
||||||
|
sed -i 's|"on-click-right": "omarchy-launch-terminal"|"on-click-right": "xdg-terminal-exec"|' "$waybar_config"
|
||||||
|
sed -i 's|"on-click": "\$TERMINAL -e btop"|"on-click": "xdg-terminal-exec btop"|' "$waybar_config"
|
||||||
|
sed -i 's|"on-click": "\$TERMINAL --class=Wiremix -e wiremix"|"on-click": "xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix"|' "$waybar_config"
|
||||||
|
omarchy-state set restart-waybar-required
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update hyprland window rules to use DNS-format class names
|
||||||
|
system_conf=~/.config/hypr/apps/system.conf
|
||||||
|
if [ -f "$system_conf" ]; then
|
||||||
|
if grep -q 'class:(.*|Impala|' "$system_conf" || grep -q 'class:(.*|Wiremix|' "$system_conf" || grep -q '|Omarchy|' "$system_conf"; then
|
||||||
|
sed -i 's/\bImpala\b/com.omarchy.Impala/g; s/\bWiremix\b/com.omarchy.Wiremix/g; s/|Omarchy|/|com.omarchy.Omarchy|/g' "$system_conf"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
2
migrations/1762150269.sh
Normal file
2
migrations/1762150269.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
echo "Install omarchy-walker meta package"
|
||||||
|
omarchy-pkg-add omarchy-walker
|
||||||
12
migrations/1762446739.sh
Normal file
12
migrations/1762446739.sh
Normal 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
|
||||||
Reference in New Issue
Block a user