feat: added notifications & daemons + simplified naming

notifications are for `dunst` a notification handler for my setup
I added volume, charging, battery, time, and brightness notifications
This commit is contained in:
devaine 2025-04-26 10:22:34 -05:00
commit 9b374bb70d
Signed by untrusted user who does not match committer: devaine
GPG key ID: 954B1DCAC6FF84EE
11 changed files with 281 additions and 15 deletions

View file

@ -1,224 +0,0 @@
# Made by Devaine
# mostly because bash was pissing me off when it comes to recursion
# also because i am lazy and i wanted to automate things
import time
import os
class GPG():
def export(id_num):
print("\n\nHere's your exported key for ID: " + id_num)
os.system("gpg --armor --export " + id_num)
def view():
id_output = os.popen("gpg --list-keys --with-colons | \
awk -F: '/^pub:/ { print $5 }'").read()
id_split = id_output.split("\n")
info_output = os.popen("gpg --list-keys --with-colons | \
awk -F: '/^uid:/ { print $10 }'").read()
info_split = info_output.split("\n")
print("\n\n----------------------")
for i in range(len(info_split) - 1):
print("ID #" + str(i) + ": " + id_split[i] +
"\nInfo: " + info_split[i])
print("\n")
def prompt():
question = input("ID # you want to export: ")
while question == "":
question = input("ID # you want to export: ")
try:
response = int(question)
except ValueError:
print("Not a valid ID number!")
time.sleep(1)
prompt()
if response >= len(info_output) - 1 or response < 0:
print("Not a valid ID number! test")
time.sleep(1)
prompt()
else:
GPG.export(id_split[response])
prompt()
def view_prompt():
prompt = input("Do you want to see the entire GPG Key? (Y/N): ")
while prompt == "":
prompt = input("Do you want to see the entire GPG Key? (Y/N): ")
ans = prompt.upper()
if "Y" in ans:
GPG.view()
elif "N" in ans:
print("Exiting...")
exit(0)
else:
print("Incorrect Reponse!")
print("Retrying...")
time.sleep(1)
GPG.view_prompt()
def gpg_keygen():
os.system("gpg --full-generate-key")
def __init__():
GPG.gpg_keygen()
GPG.view_prompt()
class SSH():
def keygen():
def fileDestination():
default_destination = os.path.expanduser("~") + "/.ssh"
print("------------")
print("Default: " + default_destination)
prompt = input("Path for Key (Press Enter for Default): ")
if prompt == "":
prompt = default_destination
if os.path.exists(prompt) is True:
os.system("ssh-keygen -f " + prompt + "/" + name + " -t ed25519")
else:
print("Path " + prompt + " doesn't exist, try again.")
time.sleep(1)
fileDestination()
def nameConfirmation(confirm):
while confirm == "":
confirm = input("Are you sure this is the name you want? (Y/N): ")
ans = confirm.upper()
if "Y" in ans:
fileDestination()
elif "N" in ans:
print("Retrying...")
SSH.keygen()
else:
print("Incorrect Reponse!")
print("Retrying...")
time.sleep(1)
nameConfirmation()
# Function starts here actually.
name = input("What is the name of your key: ")
while name == "":
name = input("What is the name of your key: ")
confirm = input("Are you sure this is the name you want (" + name + ")? (Y/N): ")
nameConfirmation(confirm)
def gpg_prompt():
prompt = input("Do you want to create a GPG Key? (Y/N): ")
while prompt == "":
prompt = input("Do you want to create a GPG Key? (Y/N): ")
ans = prompt.upper()
if "Y" in ans:
print("Starting...")
GPG.gpg_keygen()
elif "N" in ans:
GPG.view_prompt()
else:
print("Incorrect Reponse!")
time.sleep(1)
SSH.gpg_prompt()
def public_key_view():
def choose_file():
default_destination = os.path.expanduser("~") + "/.ssh"
print("------------")
print("Default Path: " + default_destination)
path = input("Enter Key Path (Press Enter for Default): ")
if path == "":
path = default_destination
if os.path.exists(path) is True:
avail_options = os.popen("ls " + path + "| grep .pub").read()
else:
print("Path " + path + " doesn't exist, try again.")
time.sleep(1)
choose_file()
options_split = avail_options.split("\n")
print("There are " + str(len(options_split) - 1)
+ " public keys available to read...")
for i in range(len(options_split) - 1):
print("Option #" + str(i) + ": " + options_split[i][:-4])
def prompt():
question = input("Choose an option (by number): ")
while question == "":
question = input("Choose an option (by number): ")
try:
response = int(question)
except ValueError:
print("Not a valid number!")
time.sleep(1)
prompt()
if response >= len(options_split) - 1 or response < 0:
print("Not a valid ID number! test")
time.sleep(1)
prompt()
else:
print("Here's the public key from Option #" + str(i)
+ " (" + options_split[response] + "):")
os.system("cat " + path + "/" + options_split[response])
prompt()
prompt = input("Do you want to view your SSH public key? (Y/N): ")
while prompt == "":
prompt = input("Do you want to view your SSH public key? (Y/N): ")
ans = prompt.upper()
if "Y" in ans:
print("Starting...")
choose_file()
elif "N" in ans:
SSH.gpg_prompt()
else:
print("Incorrect Reponse!")
time.sleep(1)
SSH.public_key_view()
def start():
ssh_prompt = input("Do you want to create a SSH Key? (Y/N): ")
while ssh_prompt == "":
ssh_prompt = input("Do you want to create a SSH Key? (Y/N): ")
ans = ssh_prompt.upper()
if "Y" in ans:
print("Starting...")
SSH.keygen()
elif "N" in ans:
SSH.public_key_view()
else:
print("Incorrect Reponse!")
time.sleep(1)
SSH.start()
if __name__ == "__main__":
SSH.start()