Clipboardbuffers.py
From Lucca's Wiki
Jump to navigationJump to search
import sys import os import time import pyperclip import pyautogui as pg from PyHotKey import Key, keyboard import pickle import tkinter as tk
- 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)
- scriptFolder = (os.path.dirname(__file__))
clipboardBuffer = [] clipboardBuffer = ["No value in this clipboard buffer" for i in range(10)]
- 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
- 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]))