diff --git a/home/user/.config/nvim/lua/base/mappings/mappings.lua b/home/user/.config/nvim/lua/base/mappings/mappings.lua index 68d1e56..6b926cc 100644 --- a/home/user/.config/nvim/lua/base/mappings/mappings.lua +++ b/home/user/.config/nvim/lua/base/mappings/mappings.lua @@ -77,7 +77,7 @@ map("c", '%%', [[getcmdtype() == ':' ? expand('%:h').'/' : '%%']], {expr = true} -- Save from root -vim.api.nvim_create_user_command('W', [[execute 'silent! write !SUDO_ASKPASS=vim_askpass_helper_python sudo -A tee % >/dev/null' edit!]], {}) +vim.api.nvim_create_user_command('W', [[execute 'silent! write !SUDO_ASKPASS=vim_askpass_helper sudo -A tee % >/dev/null' edit!]], {}) vim.cmd([[autocmd FileChangedRO * set readonly!]]) diff --git a/home/user/.local/bin/vim_askpass_helper b/home/user/.local/bin/vim_askpass_helper index 2d7ffe4..82c853c 100755 --- a/home/user/.local/bin/vim_askpass_helper +++ b/home/user/.local/bin/vim_askpass_helper @@ -1,2 +1,44 @@ -#!/usr/bin/env bash -echo -e "SETTITLE vim\nOPTION default-prompt=[sudo] password for $USER:\nGETPIN" | pinentry --display :0 2>/dev/null | grep ^D | cut -d" " -f2- +#!/usr/bin/env python3 + +import os +import tkinter as tk +from tkinter import Entry, Label + + +class App: + def __init__(self): + self.root = tk.Tk() + self.root.title("vim") + self.root.attributes('-type', 'dialog') + + self.create_label() + self.create_widget_get_password() + self.create_button_ok() + + def mainloop(self): + self.root.mainloop() + + def __event_get(self, _): + print(self.widget.get()) + self.root.quit() + + def create_label(self): + label_text = f"[sudo] password for {os.getlogin()}:" + user_password = Label(self.root, text = label_text) + user_password.grid(row = 1, column = 1) + + def create_widget_get_password(self): + self.widget = Entry(self.root, show="*", width=15) + self.widget.grid(row = 1, column = 2) + self.widget.focus_set() + + def create_button_ok(self): + btn = tk.Button(self.root, text="OK") + btn.bind("", self.__event_get) + self.root.bind("", self.__event_get) + btn.grid(row = 1, column = 3) + + +if __name__ == "__main__": + app = App() + app.mainloop() diff --git a/home/user/.local/bin/vim_askpass_helper_python b/home/user/.local/bin/vim_askpass_helper_python deleted file mode 100755 index 82c853c..0000000 --- a/home/user/.local/bin/vim_askpass_helper_python +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python3 - -import os -import tkinter as tk -from tkinter import Entry, Label - - -class App: - def __init__(self): - self.root = tk.Tk() - self.root.title("vim") - self.root.attributes('-type', 'dialog') - - self.create_label() - self.create_widget_get_password() - self.create_button_ok() - - def mainloop(self): - self.root.mainloop() - - def __event_get(self, _): - print(self.widget.get()) - self.root.quit() - - def create_label(self): - label_text = f"[sudo] password for {os.getlogin()}:" - user_password = Label(self.root, text = label_text) - user_password.grid(row = 1, column = 1) - - def create_widget_get_password(self): - self.widget = Entry(self.root, show="*", width=15) - self.widget.grid(row = 1, column = 2) - self.widget.focus_set() - - def create_button_ok(self): - btn = tk.Button(self.root, text="OK") - btn.bind("", self.__event_get) - self.root.bind("", self.__event_get) - btn.grid(row = 1, column = 3) - - -if __name__ == "__main__": - app = App() - app.mainloop() diff --git a/install b/install index 085d77a..3751687 100755 --- a/install +++ b/install @@ -15,7 +15,7 @@ declare -r -A TARGETS=( ["zsh"]="%bash .config/zsh .zshenv .inputrc" ["tmux"]=".tmux.conf" ["alacritty"]=".config/alacritty" - ["nvim"]=".config/nvim .editorconfig .local/bin/vim_askpass_helper .local/bin/vim_askpass_helper_python" + ["nvim"]=".config/nvim .editorconfig .local/bin/vim_askpass_helper" ["ssh"]="" ["less"]=".lesskey" ["git"]=".config/git" @@ -208,4 +208,4 @@ case "$executed_command" in help) shift; cmd_help "$@" ;; *) shift; cmd_install "$executed_command" "$@" ;; esac -exit 0 +exit 0 \ No newline at end of file