From 73edbd8ae46d1917e9676b02730fe3ccfcb2930c Mon Sep 17 00:00:00 2001 From: TheK4n Date: Mon, 30 Jan 2023 00:26:18 +0300 Subject: [PATCH] add(vim_askpass_helper_python) --- functions/vim_askpass_helper_python | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 functions/vim_askpass_helper_python diff --git a/functions/vim_askpass_helper_python b/functions/vim_askpass_helper_python new file mode 100755 index 0000000..82c853c --- /dev/null +++ b/functions/vim_askpass_helper_python @@ -0,0 +1,44 @@ +#!/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()