diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index eb655c0..8e09185 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -8,3 +8,8 @@ dynamic_padding = true [font.normal] family = "Adwaita Mono" + +[keyboard] +bindings = [ + { key = "Enter", mods = "Super|Shift", action = "CreateNewWindow" } +] diff --git a/.config/dconf/user b/.config/dconf/user index 287a85a..5a3a907 100644 Binary files a/.config/dconf/user and b/.config/dconf/user differ diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 591ff8a..cf96d3c 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -7,10 +7,26 @@ abbr --add adl album-dl.fish abbr --add vv nvim abbr --add tr gio trash -function mvi +function alacritty + command alacritty msg create-window $argv +end + +function mvi --description 'Launches mpv with mvi configuration' mpv --config-dir=$HOME/.config/mvi/ $argv end +function open --description 'Opens a file in its default application' + argparse h/help -- $argv + or return + + if set -ql _flag_help + echo "open [-h|--help] [STRING]" + return 0 + end + + niri msg action spawn -- xdg-open $argv +end + # BEGIN opam configuration # This is useful if you're using opam as it adds: # - the correct directories to the PATH diff --git a/.config/fish/functions/menu.fish b/.config/fish/functions/menu.fish index 089a532..a81aada 100644 --- a/.config/fish/functions/menu.fish +++ b/.config/fish/functions/menu.fish @@ -1,11 +1,25 @@ function menu --description 'Opens a menu of a list of Strings and writes the result to stdout' - argparse h/help -- $argv + argparse h/help p/prompt=? index -- $argv or return if set -ql _flag_help - echo "menu [-h|--help] [STRING ...]" + echo "menu [-h|--help] [-p|--prompt=?] [--placeholder] [--index] [STRING ...]" return 0 end - string join -- \n $argv | fuzzel --dmenu -l (count $argv) || exit 0 + set fuzzel_args + + if set -ql _flag_prompt + set -a fuzzel_args "--prompt=$_flag_prompt" + end + + if set -ql _flag_placeholder + set -a fuzzel_args "--placeholder=$_flag_placeholder" + end + + if set -ql _flag_index + set -a fuzzel_args "--index" + end + + string join -- \n $argv | fuzzel --dmenu -l (count $argv) $fuzzel_args || exit 0 end diff --git a/.config/fish/functions/prompt.fish b/.config/fish/functions/prompt.fish new file mode 100644 index 0000000..95d769f --- /dev/null +++ b/.config/fish/functions/prompt.fish @@ -0,0 +1,25 @@ +function prompt --description 'Opens a menu of a list of Strings and writes the result to stdout' + argparse h/help p/prompt=? placeholder=? password -- $argv + or return + + if set -ql _flag_help + echo "menu [-h|--help] [-p|--prompt=?] [--placeholder=?] [--password] [STRING ...]" + return 0 + end + + set fuzzel_args + + if set -ql _flag_prompt + set -a fuzzel_args "--prompt=$_flag_prompt" + end + + if set -ql _flag_placeholder + set -a fuzzel_args "--placeholder=$_flag_placeholder" + end + + if set -ql _flag_password + set -a fuzzel_args "--password=●" + end + + string join -- \n $argv | fuzzel --dmenu --prompt-only='' $fuzzel_args || exit 0 +end diff --git a/.config/niri/config.kdl b/.config/niri/config.kdl index 02ff324..f3d7771 100644 --- a/.config/niri/config.kdl +++ b/.config/niri/config.kdl @@ -379,7 +379,7 @@ binds { Mod+Shift+0 { show-hotkey-overlay; } // Suggested binds for running programs: terminal, app launcher, screen locker. - Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; } + Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn-sh "alacritty msg create-window"; } Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } Mod+B hotkey-overlay-title="Open a Browser: qutebrowser" { spawn "qutebrowser"; } Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } diff --git a/.config/systemd/user/alacritty.service b/.config/systemd/user/alacritty.service new file mode 100644 index 0000000..acb35cc --- /dev/null +++ b/.config/systemd/user/alacritty.service @@ -0,0 +1,15 @@ +[Unit] +Description=Alacritty Daemon +Before=graphical-session.target +After=graphical-session-pre.target +PartOf=graphical-session.target +StartLimitIntervalSec=30 +StartLimitBurst=3 + +[Service] +ExecStart=alacritty --daemon --socket %t/alacritty.sock +Restart=on-failure +RestartSec=5s + +[Install] +WantedBy=graphical-session-pre.target diff --git a/.config/systemd/user/graphical-session-pre.target.wants/alacritty.service b/.config/systemd/user/graphical-session-pre.target.wants/alacritty.service new file mode 120000 index 0000000..98bd667 --- /dev/null +++ b/.config/systemd/user/graphical-session-pre.target.wants/alacritty.service @@ -0,0 +1 @@ +/home/never/.config/systemd/user/alacritty.service \ No newline at end of file diff --git a/.local/scripts/actionmenu.fish b/.local/scripts/actionmenu.fish index 44de967..a8abaab 100755 --- a/.local/scripts/actionmenu.fish +++ b/.local/scripts/actionmenu.fish @@ -42,9 +42,9 @@ function audio_source end end - set input (menu $names) + set input (math (menu --index $names) + 1) - wpctl set-default $ids[(contains -i $input $names)] + wpctl set-default $ids[$input] end function audio_sink @@ -61,9 +61,9 @@ function audio_sink end end - set input (menu $names) + set input (math (menu --index $names) + 1) - wpctl set-default $ids[(contains -i $input $names)] + wpctl set-default $ids[$input] end set options "󱂵 Open Location" "󰍬 Select Audio Source" "󰕾 Select Audio Sink"