Sun Jun 23 03:42:09 PM CEST 2024
This commit is contained in:
parent
0cd4f1d044
commit
5276775d59
|
@ -77,47 +77,47 @@
|
||||||
action = "ReceiveChar";
|
action = "ReceiveChar";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[72;6u";
|
chars = "\\u001B[72;6u";
|
||||||
key = "H";
|
key = "H";
|
||||||
mods = "Control|Shift";
|
mods = "Control|Shift";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[74;6u";
|
chars = "\\u001B[74;6u";
|
||||||
key = "J";
|
key = "J";
|
||||||
mods = "Control|Shift";
|
mods = "Control|Shift";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[75;6u";
|
chars = "\\u001B[75;6u";
|
||||||
key = "K";
|
key = "K";
|
||||||
mods = "Control|Shift";
|
mods = "Control|Shift";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[76;6u";
|
chars = "\\u001B[76;6u";
|
||||||
key = "L";
|
key = "L";
|
||||||
mods = "Control|Shift";
|
mods = "Control|Shift";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[105;5u";
|
chars = "\\u001B[105;5u";
|
||||||
key = "I";
|
key = "I";
|
||||||
mods = "Control";
|
mods = "Control";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[46;5u";
|
chars = "\\u001B[46;5u";
|
||||||
key = "Period";
|
key = "Period";
|
||||||
mods = "Control";
|
mods = "Control";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[44;5u";
|
chars = "\\u001B[44;5u";
|
||||||
key = "Comma";
|
key = "Comma";
|
||||||
mods = "Control";
|
mods = "Control";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[59;5u";
|
chars = "\\u001B[59;5u";
|
||||||
key = "Semicolon";
|
key = "Semicolon";
|
||||||
mods = "Control";
|
mods = "Control";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "u001B[13;2u";
|
chars = "\\u001B[13;2u";
|
||||||
key = "Return";
|
key = "Return";
|
||||||
mods = "Shift";
|
mods = "Shift";
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,30 +27,38 @@ let
|
||||||
# hyprland_plugins = [];
|
# hyprland_plugins = [];
|
||||||
|
|
||||||
launch_alacritty = pkgs.writeShellScriptBin "launch_alacritty" ''
|
launch_alacritty = pkgs.writeShellScriptBin "launch_alacritty" ''
|
||||||
RUNNING_WAYPIPE=false
|
function find_leaf_pid(){
|
||||||
SSH_CLIENT=""
|
local PID=$1
|
||||||
CHILD_PID=$(pgrep -P "$1")
|
local CHILD_PID=$(pgrep -P "$PID")
|
||||||
|
if [ "$CHILD_PID" != "" ]; then
|
||||||
|
local RET=$(find_leaf_pid "$CHILD_PID")
|
||||||
|
if [ "$RET" != "" ]; then
|
||||||
|
PID=$RET
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
local NAME=$(ps -p "$PID" -o comm=)
|
||||||
|
if [ "$NAME" == "zsh" ]; then
|
||||||
|
echo "$PID"
|
||||||
|
elif [ "$NAME" == "ssh" ]; then
|
||||||
|
echo "$PID"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
if [ "$GRAND_CHILD_PID" != "" ]; then
|
LEAF_PID=$(find_leaf_pid "$1")
|
||||||
GRAND_CHILD_NAME=$(ps -p "$GRAND_CHILD_PID" -o comm=)
|
if [ "$(ps -p "$LEAF_PID" -o comm=)" == "ssh" ]; then
|
||||||
if [ "$GRAND_CHILD_NAME" == "ssh" ]; then
|
SSH_COMMAND=$(ps -p "$LEAF_PID" -o args --no-headers)
|
||||||
CHILD_PID=$GRAND_CHILD_PID
|
if [[ "$SSH_COMMAND" == *"waypipe"* ]]; then
|
||||||
SSH_CLIENT=$(ps -p "$CHILD_PID" -o args --no-headers | awk '{ print $2 }')
|
CLIENT=$(echo "$SSH_COMMAND" | awk '{ print $5 }')
|
||||||
fi
|
PREVIOUS_SESSION_ID=$(grep -z "SSH_SESSION_ID" "/proc/$LEAF_PID/environ" | xargs -0 -n 1 | grep -oP "[0-9]*")
|
||||||
if [ "$GRAND_CHILD_NAME" == "waypipe" ]; then
|
|
||||||
RUNNING_WAYPIPE=true
|
|
||||||
CHILD_PID=$(pgrep -P "$GRAND_CHILD_PID")
|
|
||||||
SSH_CLIENT=$(ps -p "$GRAND_CHILD_PID" -o args --no-headers | awk '{ print $4 }')
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $RUNNING_WAYPIPE == true ]; then
|
|
||||||
PREVIOUS_SESSION_ID=$(grep -z "SSH_SESSION_ID" "/proc/$CHILD_PID/environ" | xargs -0 -n 1 | grep -oP "[0-9]*")
|
|
||||||
SSH_SESSION_ID=$RANDOM
|
SSH_SESSION_ID=$RANDOM
|
||||||
${alacritty} -e zsh -c "SSH_SESSION_ID=$SSH_SESSION_ID waypipe ssh -t \"$SSH_CLIENT\" env SSH_SESSION_ID=\"$SSH_SESSION_ID\" PREVIOUS_SESSION_ID=\"$PREVIOUS_SESSION_ID\" \"zsh --login\""
|
${alacritty} -e zsh -c "SSH_SESSION_ID=$SSH_SESSION_ID waypipe ssh -t \"$CLIENT\" env SSH_SESSION_ID=\"$SSH_SESSION_ID\" PREVIOUS_SESSION_ID=\"$PREVIOUS_SESSION_ID\" \"zsh --login\""
|
||||||
else
|
else
|
||||||
|
${alacritty} -e zsh -c "ssh -t \"$(echo "$SSH_COMMAND" | awk '{ print $2 }')\""
|
||||||
|
fi
|
||||||
|
|
||||||
|
else # Not an ssh session
|
||||||
if [ "$(ps -p "$1" -o comm=)" == "alacritty" ]; then
|
if [ "$(ps -p "$1" -o comm=)" == "alacritty" ]; then
|
||||||
CWD=$(readlink -e /proc/"$CHILD_PID"/cwd)
|
CWD=$(readlink -e /proc/"$LEAF_PID"/cwd)
|
||||||
if [ "$CWD" != "" ]; then
|
if [ "$CWD" != "" ]; then
|
||||||
${alacritty} --working-directory "$CWD"
|
${alacritty} --working-directory "$CWD"
|
||||||
else
|
else
|
||||||
|
|
|
@ -6,12 +6,12 @@ vim.keymap.set("t", "jj", "<C-\\><C-n>", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<Backspace>", ":q<cr>", { noremap = true, silent = true })
|
vim.keymap.set("n", "<Backspace>", ":q<cr>", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-Backspace>", ":q!<cr>", { noremap = true, silent = true })
|
vim.keymap.set("n", "<C-Backspace>", ":q!<cr>", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", ",;", ":", { noremap = true, silent = true })
|
vim.keymap.set("n", ",;", ":", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-U>", "<C-O>", { noremap = true })
|
vim.keymap.set("n", "<C-U>", "<C-O>", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<S-C-U>", "g;", { noremap = true })
|
vim.keymap.set("n", "<S-C-U>", "g;", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<S-C-I>", "g,", { noremap = true })
|
vim.keymap.set("n", "<S-C-I>", "g,", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-E>", "<C-U>zz", { noremap = true })
|
vim.keymap.set("n", "<C-E>", "<C-U>zz", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-D>", "<C-D>zz", { noremap = true })
|
vim.keymap.set("n", "<C-D>", "<C-D>zz", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-I>", "<C-I>", { noremap = true })
|
vim.keymap.set("n", "<C-I>", "<C-I>", { noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "n", "nzz", { noremap = true })
|
vim.keymap.set("n", "n", "nzz", { noremap = true })
|
||||||
vim.keymap.set("n", "N", "Nzz", { noremap = true })
|
vim.keymap.set("n", "N", "Nzz", { noremap = true })
|
||||||
vim.keymap.set("x", "<leader>p", [["_dP]], { noremap = true })
|
vim.keymap.set("x", "<leader>p", [["_dP]], { noremap = true })
|
||||||
|
|
Loading…
Reference in New Issue