mirror of
https://github.com/LukeHagar/omarchy.git
synced 2025-12-09 20:47:48 +00:00
Allow custom editor, like we do custom terminal
This commit is contained in:
13
bin/omarchy-launch-editor
Executable file
13
bin/omarchy-launch-editor
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
case "$EDITOR" in
|
||||||
|
nvim | vim | nano | micro | hx)
|
||||||
|
exec setsid uwsm app -- "$TERMINAL" -e "$EDITOR" "$@"
|
||||||
|
;;
|
||||||
|
code | codium | subl | gedit | kate | zeditor)
|
||||||
|
exec setsid uwsm app -- "$EDITOR" "$@"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exec setsid uwsm app -- "$TERMINAL" -e nvim "$@"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -44,9 +44,9 @@ present_terminal() {
|
|||||||
omarchy-launch-floating-terminal-with-presentation $1
|
omarchy-launch-floating-terminal-with-presentation $1
|
||||||
}
|
}
|
||||||
|
|
||||||
edit_in_nvim() {
|
open_in_editor() {
|
||||||
notify-send "Editing config file" "$1"
|
notify-send "Editing config file" "$1"
|
||||||
$TERMINAL -e nvim "$1"
|
omarchy-launch-editor "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
install() {
|
install() {
|
||||||
@@ -142,9 +142,9 @@ show_style_menu() {
|
|||||||
*Theme*) show_theme_menu ;;
|
*Theme*) show_theme_menu ;;
|
||||||
*Font*) show_font_menu ;;
|
*Font*) show_font_menu ;;
|
||||||
*Background*) omarchy-theme-bg-next ;;
|
*Background*) omarchy-theme-bg-next ;;
|
||||||
*Hyprland*) edit_in_nvim ~/.config/hypr/looknfeel.conf ;;
|
*Hyprland*) open_in_editor ~/.config/hypr/looknfeel.conf ;;
|
||||||
*Screensaver*) edit_in_nvim ~/.config/omarchy/branding/screensaver.txt ;;
|
*Screensaver*) open_in_editor ~/.config/omarchy/branding/screensaver.txt ;;
|
||||||
*About*) edit_in_nvim ~/.config/omarchy/branding/about.txt ;;
|
*About*) open_in_editor ~/.config/omarchy/branding/about.txt ;;
|
||||||
*) show_main_menu ;;
|
*) show_main_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -171,7 +171,7 @@ show_setup_menu() {
|
|||||||
local options=" Audio\n Wifi\n Bluetooth\n Power Profile\n Monitors"
|
local options=" Audio\n Wifi\n Bluetooth\n Power Profile\n Monitors"
|
||||||
[ -f ~/.config/hypr/bindings.conf ] && options="$options\n Keybindings"
|
[ -f ~/.config/hypr/bindings.conf ] && options="$options\n Keybindings"
|
||||||
[ -f ~/.config/hypr/input.conf ] && options="$options\n Input"
|
[ -f ~/.config/hypr/input.conf ] && options="$options\n Input"
|
||||||
options="$options\n DNS\n Config\n Fingerprint\n Fido2"
|
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*) $TERMINAL --class=Wiremix -e wiremix ;;
|
||||||
@@ -184,13 +184,13 @@ show_setup_menu() {
|
|||||||
blueberry
|
blueberry
|
||||||
;;
|
;;
|
||||||
*Power*) show_setup_power_menu ;;
|
*Power*) show_setup_power_menu ;;
|
||||||
*Monitors*) edit_in_nvim ~/.config/hypr/monitors.conf ;;
|
*Monitors*) open_in_editor ~/.config/hypr/monitors.conf ;;
|
||||||
*Keybindings*) edit_in_nvim ~/.config/hypr/bindings.conf ;;
|
*Keybindings*) open_in_editor ~/.config/hypr/bindings.conf ;;
|
||||||
*Input*) edit_in_nvim ~/.config/hypr/input.conf ;;
|
*Input*) open_in_editor ~/.config/hypr/input.conf ;;
|
||||||
|
*Defaults*) open_in_editor ~/.config/uwsm/default ;;
|
||||||
*DNS*) present_terminal omarchy-setup-dns ;;
|
*DNS*) present_terminal omarchy-setup-dns ;;
|
||||||
|
*Security*) show_setup_security_menu ;;
|
||||||
*Config*) show_setup_config_menu ;;
|
*Config*) show_setup_config_menu ;;
|
||||||
*Fingerprint*) present_terminal omarchy-setup-fingerprint ;;
|
|
||||||
*Fido2*) present_terminal omarchy-setup-fido2 ;;
|
|
||||||
*) show_main_menu ;;
|
*) show_main_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -207,18 +207,26 @@ show_setup_power_menu() {
|
|||||||
|
|
||||||
show_setup_config_menu() {
|
show_setup_config_menu() {
|
||||||
case $(menu "Setup" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n Swayosd\n Walker\n Waybar\n XCompose") in
|
case $(menu "Setup" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n Swayosd\n Walker\n Waybar\n XCompose") in
|
||||||
*Hyprland*) edit_in_nvim ~/.config/hypr/hyprland.conf ;;
|
*Hyprland*) open_in_editor ~/.config/hypr/hyprland.conf ;;
|
||||||
*Hypridle*) edit_in_nvim ~/.config/hypr/hypridle.conf && omarchy-restart-hypridle ;;
|
*Hypridle*) open_in_editor ~/.config/hypr/hypridle.conf && omarchy-restart-hypridle ;;
|
||||||
*Hyprlock*) edit_in_nvim ~/.config/hypr/hyprlock.conf ;;
|
*Hyprlock*) open_in_editor ~/.config/hypr/hyprlock.conf ;;
|
||||||
*Hyprsunset*) edit_in_nvim ~/.config/hypr/hyprsunset.conf && omarchy-restart-hyprsunset ;;
|
*Hyprsunset*) open_in_editor ~/.config/hypr/hyprsunset.conf && omarchy-restart-hyprsunset ;;
|
||||||
*Swayosd*) edit_in_nvim ~/.config/swayosd/config.toml && omarchy-restart-swayosd ;;
|
*Swayosd*) open_in_editor ~/.config/swayosd/config.toml && omarchy-restart-swayosd ;;
|
||||||
*Walker*) edit_in_nvim ~/.config/walker/config.toml && omarchy-restart-walker ;;
|
*Walker*) open_in_editor ~/.config/walker/config.toml && omarchy-restart-walker ;;
|
||||||
*Waybar*) edit_in_nvim ~/.config/waybar/config.jsonc && omarchy-restart-waybar ;;
|
*Waybar*) open_in_editor ~/.config/waybar/config.jsonc && omarchy-restart-waybar ;;
|
||||||
*XCompose*) edit_in_nvim ~/.XCompose && omarchy-restart-xcompose ;;
|
*XCompose*) open_in_editor ~/.XCompose && omarchy-restart-xcompose ;;
|
||||||
*) show_main_menu ;;
|
*) show_main_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
show_setup_security_menu() {
|
||||||
|
case $(menu "Setup" " Fingerprint\n Fido2") in
|
||||||
|
*Fingerprint*) present_terminal omarchy-setup-fingerprint ;;
|
||||||
|
*Fido2*) present_terminal omarchy-setup-fido2 ;;
|
||||||
|
*) show_setup_menu ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
show_install_menu() {
|
show_install_menu() {
|
||||||
case $(menu "Install" " Package\n AUR\n Web App\n TUI\n Service\n Style\n Development\n Editor\n AI\n Gaming") in
|
case $(menu "Install" " Package\n AUR\n Web App\n TUI\n Service\n Style\n Development\n Editor\n AI\n Gaming") in
|
||||||
*Package*) terminal omarchy-pkg-install ;;
|
*Package*) terminal omarchy-pkg-install ;;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ bindd = SUPER, F, File manager, exec, uwsm app -- nautilus --new-window
|
|||||||
bindd = SUPER, B, Browser, exec, $browser
|
bindd = SUPER, B, Browser, exec, $browser
|
||||||
bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private
|
bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private
|
||||||
bindd = SUPER, M, Music, exec, omarchy-launch-or-focus spotify
|
bindd = SUPER, M, Music, exec, omarchy-launch-or-focus spotify
|
||||||
bindd = SUPER, N, Neovim, exec, $terminal -e nvim
|
bindd = SUPER, N, Editor, exec, omarchy-launch-editor
|
||||||
bindd = SUPER, T, Activity, exec, $terminal -e btop
|
bindd = SUPER, T, Activity, exec, $terminal -e btop
|
||||||
bindd = SUPER, D, Docker, exec, $terminal -e lazydocker
|
bindd = SUPER, D, Docker, exec, $terminal -e lazydocker
|
||||||
bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- signal-desktop"
|
bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- signal-desktop"
|
||||||
|
|||||||
4
config/uwsm/default
Normal file
4
config/uwsm/default
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Changes require a relaunch of Hyprland to take effect.
|
||||||
|
|
||||||
|
export TERMINAL=alacritty
|
||||||
|
export EDITOR=nvim
|
||||||
@@ -4,8 +4,8 @@
|
|||||||
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 terminal used by all default commands
|
# Set default terminal and editor
|
||||||
export TERMINAL=alacritty
|
source ~/.config/uwsm/default
|
||||||
|
|
||||||
# Activate mise if present on the system
|
# Activate mise if present on the system
|
||||||
omarchy-cmd-present mise && eval "$(mise activate bash)"
|
omarchy-cmd-present mise && eval "$(mise activate bash)"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Editor used by CLI
|
# Editor used by CLI
|
||||||
export EDITOR="nvim"
|
|
||||||
export SUDO_EDITOR="$EDITOR"
|
export SUDO_EDITOR="$EDITOR"
|
||||||
export BAT_THEME=ansi
|
export BAT_THEME=ansi
|
||||||
|
|||||||
@@ -6,9 +6,3 @@ source ~/.local/share/omarchy/default/bash/rc
|
|||||||
#
|
#
|
||||||
# Make an alias for invoking commands you use constantly
|
# Make an alias for invoking commands you use constantly
|
||||||
# alias p='python'
|
# alias p='python'
|
||||||
#
|
|
||||||
# Use VSCode instead of neovim as your default editor
|
|
||||||
# export EDITOR="code"
|
|
||||||
#
|
|
||||||
# Set a custom prompt with the directory revealed (alternatively use https://starship.rs)
|
|
||||||
# PS1="\W \[\e]0;\w\a\]$PS1"
|
|
||||||
|
|||||||
@@ -1,10 +1,16 @@
|
|||||||
echo "Ensure $TERMINAL is set in uwsm env so entire system can rely on it"
|
echo "Set \$TERMINAL and \$EDITOR in ~/.config/uwsm/default so entire system can rely on it"
|
||||||
|
|
||||||
if ! grep -q "export TERMINAL" ~/.config/uwsm/env; then
|
# Set terminal and editor default in uwsm
|
||||||
omarchy-refresh-config uwsm/env
|
omarchy-refresh-config uwsm/default
|
||||||
omarchy-state set relaunch-required
|
omarchy-refresh-config uwsm/env
|
||||||
fi
|
omarchy-state set relaunch-required
|
||||||
|
|
||||||
|
# Ensure scrolltouchpad setting applies to all terminals
|
||||||
if grep -q "scrolltouchpad 1.5, class:Alacritty" ~/.config/hypr/input.conf; then
|
if grep -q "scrolltouchpad 1.5, class:Alacritty" ~/.config/hypr/input.conf; then
|
||||||
sed -i 's/windowrule = scrolltouchpad 1\.5, class:Alacritty/windowrule = scrolltouchpad 1.5, tag:terminal/' ~/.config/hypr/input.conf
|
sed -i 's/windowrule = scrolltouchpad 1\.5, class:Alacritty/windowrule = scrolltouchpad 1.5, tag:terminal/' ~/.config/hypr/input.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Use default editor for keybinding
|
||||||
|
if grep -q "bindd = SUPER, N, Neovim" ~/.config/hypr/bindings.conf; then
|
||||||
|
sed -i '/SUPER, N, Neovim, exec/ c\bindd = SUPER, N, Editor, exec, omarchy-launch-editor' ~/.config/hypr/bindings.conf
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user