1212from email .mime .multipart import MIMEMultipart
1313from email .mime .text import MIMEText
1414from time import sleep
15- from tkinter import Label , Frame , Entry , Button , messagebox , StringVar , Tk
15+ from tkinter import messagebox , StringVar , Tk
1616from urllib .request import urlopen
1717
1818from PIL import ImageGrab , Image , ImageTk
19- from customtkinter import CTk
19+ from customtkinter import CTk , CTkLabel , CTkFrame , CTkEntry , CTkButton , set_appearance_mode
2020from dotenv import load_dotenv
2121from pynput .keyboard import Listener
2222
@@ -192,11 +192,16 @@ def on_button_click():
192192
193193
194194# Create the root window
195+ set_appearance_mode ("dark" )
195196root = CTk () # Creating root window using customTkinter, it allows to change color of Title bar unlike the official tkinter
196197root .geometry ("800x600" )
197- root .config ( bg = "black" )
198+ root .resizable ( False , False )
198199root .protocol ("WM_DELETE_WINDOW" , on_closing )
199200
201+ # Main frame to hold all widgets and center them
202+ main_frame = CTkFrame (root , fg_color = "transparent" )
203+ main_frame .pack (expand = True )
204+
200205# Set initial button text
201206btnStr = StringVar ()
202207btnStr .set ("Start Keylogger" )
@@ -208,31 +213,33 @@ def on_button_click():
208213image = Image .open ('cracking.png' )
209214resize_image = image .resize ((300 , 300 ))
210215img = ImageTk .PhotoImage (resize_image )
211- icon = Label ( root , image = img , bg = "black" , width = 300 , height = 400 )
212- icon .pack ()
216+ icon = CTkLabel ( main_frame , image = img , text = "" )
217+ icon .pack (pady = ( 20 , 0 ) )
213218
214219# Set window title
215220root .title ("Key Logger 5155" )
216221
217222# Display title label
218- Title = Label ( root , text = "Key Logger 5155" , font = ("Cascadia Code" , 50 , "bold" ), pady = 20 , bg = "black" , fg = "green " )
219- Title .pack ()
223+ Title = CTkLabel ( main_frame , text = "Key Logger 5155" , font = ("Cascadia Code" , 50 , "bold" ), text_color = "#00ff00 " )
224+ Title .pack (pady = ( 10 , 20 ) )
220225
221226# Frame for input widgets
222- InputFrame = Frame ( root , bg = "black" , pady = 20 )
223- InputFrame .pack ()
227+ InputFrame = CTkFrame ( main_frame , fg_color = "transparent" )
228+ InputFrame .pack (pady = 10 )
224229
225230# Widgets for email address entry
226- receiver_label = Label (InputFrame , text = "Recipients E-mail Address : " , font = ("Cascadia Code" , 13 , "bold" ), pady = 20 ,
227- bg = "black" , fg = "green" )
228- receiver_entry = Entry (InputFrame , bg = "black" , fg = "green" , width = 35 , font = ("Cascadia Code" , 13 , "bold" ))
229- receiver_entry .grid (row = 0 , column = 1 )
231+ receiver_label = CTkLabel (InputFrame , text = "Recipient's E-mail Address : " , font = ("Cascadia Code" , 13 , "bold" ),
232+ text_color = "#00ff00" )
233+ receiver_entry = CTkEntry (InputFrame , width = 300 , font = ("Cascadia Code" , 13 , "bold" ),
234+ placeholder_text = "Enter recipient's email..." , border_color = "#00ff00" , border_width = 2 )
235+ receiver_entry .grid (row = 0 , column = 1 , padx = 10 )
230236receiver_label .grid (row = 0 , column = 0 )
231237
232238# Button to start/stop keylogger
233- button = Button (root , textvariable = btnStr , command = on_button_click , width = 30 , bg = "green" ,
234- font = ("Cascadia Code" , 13 , "bold" ))
235- button .pack ()
239+ button = CTkButton (main_frame , textvariable = btnStr , command = on_button_click , width = 200 ,
240+ font = ("Cascadia Code" , 13 , "bold" ), fg_color = "#00ff00" , hover_color = "#008F11" ,
241+ text_color = "#000000" , corner_radius = 6 , border_width = 2 , border_color = "#000000" )
242+ button .pack (pady = 20 )
236243
237244# Run the main event loop
238245root .mainloop ()
0 commit comments