Clipboardbuffers.py: Difference between revisions

From Lucca's Wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
Line 56: Line 56:
     b.pack()
     b.pack()
     textbox.bind('<Return>', onclick)
     textbox.bind('<Return>', onclick)
    textbox.bind('<KP_Enter>', onclick)
     textbox.bind('<Control-BackSpace>', entry_ctrl_backspace)
     textbox.bind('<Control-BackSpace>', entry_ctrl_backspace)
     textbox.bind('<Control-Key-a>', entry_select_all)
     textbox.bind('<Control-Key-a>', entry_select_all)
Line 67: Line 68:
#    pyautogui.write(clipboardBuffer[inputBuffer])
#    pyautogui.write(clipboardBuffer[inputBuffer])
     keyboard.type(clipboardBuffer[inputBuffer])
     keyboard.type(clipboardBuffer[inputBuffer])
def copy_clipboard():
    pg.hotkey('ctrl', 'c')
    time.sleep(.01)  # ctrl-c is usually very fast but your program may execute faster
    return pyperclip.paste()
def copyToBuffer(inputBuffer):
def copyToBuffer(inputBuffer):
     global clipboardBuffer
     global clipboardBuffer
     clipboardBuffer[inputBuffer] = copy_clipboard()
    clip = pyperclip.paste()
     clipboardBuffer[inputBuffer] = clip
    print(clipboardBuffer[inputBuffer])
     dumpClipboardBufferToFile()
     dumpClipboardBufferToFile()
   
      
      
if sys.argv[1] == "paste":
if sys.argv[1] == "paste":

Latest revision as of 05:48, 12 December 2024

import sys import os import time import pyperclip import pyautogui as pg from PyHotKey import Key, keyboard import pickle import tkinter as tk

  1. pg.prompt(text="deez nuts?", title="deez nutz!", default="deez nars")

def dumpClipboardBufferToFile():

   global clipboardBuffer
   with open("clipboardBufferData.pk", 'wb') as fi:
       pickle.dump(clipboardBuffer, fi)

def getClipboardBufferFromFile():

   global clipboardBuffer
   with open("clipboardBufferData.pk", 'rb') as fi:
       clipboardBuffer = pickle.load(fi)
  1. scriptFolder = (os.path.dirname(__file__))

clipboardBuffer = [] clipboardBuffer = ["No value in this clipboard buffer" for i in range(10)]

  1. check if pickle file exists, if not, then create one

if os.path.isfile("clipboardBufferData.pk"):

   getClipboardBufferFromFile()

else:

   dumpClipboardBufferToFile()

def inputbox(inputBuffer):

   inputText = "No Input Given Yet"
   window = tk.Tk()
   window.title('clipboardbuffers')
   textbox = tk.Entry(window, width=400)
   textbox.pack()
   textbox.insert(0, clipboardBuffer[inputBuffer])
   textbox.focus_set()
   def entry_select_all(event):
       event.widget.select_range(0, 'end')
       event.widget.icursor('end')
       return 'break'
   def entry_ctrl_backspace(event):
       end_idx = textbox.index(tk.INSERT)
       start_idx = textbox.get().rfind(" ", None, end_idx)
       textbox.selection_range(start_idx, end_idx)
   def onclick(pos):
       nonlocal inputText
       inputText = textbox.get()
       global clipboardBuffer
       clipboardBuffer[inputBuffer] = inputText
       print(f"Clipboard buffer {inputBuffer} was set to: {inputText}")
       window.destroy()
   b = tk.Button(window, text="OK", width=10, command=onclick)
   b.pack()
   textbox.bind('<Return>', onclick)
   textbox.bind('<KP_Enter>', onclick)
   textbox.bind('<Control-BackSpace>', entry_ctrl_backspace)
   textbox.bind('<Control-Key-a>', entry_select_all)
   window.mainloop()
   print(clipboardBuffer)
   dumpClipboardBufferToFile()
   return (inputText)
   

def typeBuffer(inputBuffer):

   global clipboardBuffer
  1. pyautogui.write(clipboardBuffer[inputBuffer])
   keyboard.type(clipboardBuffer[inputBuffer])

def copyToBuffer(inputBuffer):

   global clipboardBuffer
   clip = pyperclip.paste()
   clipboardBuffer[inputBuffer] = clip
   print(clipboardBuffer[inputBuffer])
   dumpClipboardBufferToFile()
   

if sys.argv[1] == "paste":

   typeBuffer(int(sys.argv[2]))

if sys.argv[1] == "copy":

   copyToBuffer(int(sys.argv[2]))

if sys.argv[1] == "edit":

   inputbox(int(sys.argv[2]))