first commit

This commit is contained in:
2026-02-23 17:56:46 +01:00
commit 9c29be09bf
72 changed files with 3106 additions and 0 deletions

22
res/images/no_cover.svg Normal file
View File

@@ -0,0 +1,22 @@
<?xml version="1.0" ?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 1069 1069" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect height="1066.67" id="Turn-table" style="fill:none;" width="1066.67" x="0.031" y="1.589"/>
<g>
<path d="M533.364,253.673c-155.226,-0 -281.25,126.024 -281.25,281.25c0,155.226 126.024,281.25 281.25,281.25c155.226,-0 281.25,-126.024 281.25,-281.25c0,-155.226 -126.024,-281.25 -281.25,-281.25Zm0,62.5c120.731,-0 218.75,98.018 218.75,218.75c0,120.731 -98.019,218.75 -218.75,218.75c-120.731,-0 -218.75,-98.019 -218.75,-218.75c0,-120.732 98.019,-218.75 218.75,-218.75Z" style="fill-opacity:0.5;"/>
<path d="M533.364,441.173c-51.742,-0 -93.75,42.008 -93.75,93.75c0,51.742 42.008,93.75 93.75,93.75c51.742,-0 93.75,-42.008 93.75,-93.75c0,-51.742 -42.008,-93.75 -93.75,-93.75Zm0,62.5c17.247,-0 31.25,14.002 31.25,31.25c0,17.247 -14.003,31.25 -31.25,31.25c-17.247,-0 -31.25,-14.003 -31.25,-31.25c0,-17.248 14.003,-31.25 31.25,-31.25Z"/>
<path d="M981.281,284.922c-0.001,-109.306 -88.611,-197.916 -197.917,-197.916c-145.235,0 -354.765,0 -500,0c-52.491,0 -102.832,20.852 -139.948,57.968c-37.117,37.117 -57.969,87.458 -57.969,139.949c0,145.234 0,354.765 0,500c0,109.306 88.61,197.916 197.917,197.916c114.831,0 261.544,0 346.724,0c53.127,0 104.024,-21.359 141.241,-59.273c44.362,-45.194 109.311,-111.359 153.275,-156.147c36.326,-37.006 56.677,-86.789 56.677,-138.644l-0,-343.853Zm-62.5,-0.002l-0,343.855c-0,35.479 -13.925,69.542 -38.779,94.862l-153.276,156.147c-25.463,25.94 -60.287,40.555 -96.636,40.555c-0.004,0 -346.726,0 -346.726,0c-74.79,-0.001 -135.417,-60.628 -135.417,-135.416c0,-145.235 0,-354.766 0,-500c0,-35.915 14.267,-70.359 39.663,-95.754c25.396,-25.396 59.839,-39.663 95.754,-39.663c145.235,0 354.765,0 500,0c74.788,0 135.415,60.627 135.417,135.414Z"/>
<path d="M386.267,637.826l-145.833,145.833c-12.196,12.196 -12.196,31.998 -0,44.194c12.195,12.196 31.998,12.196 44.194,0l145.833,-145.833c12.196,-12.196 12.196,-31.999 0,-44.194c-12.196,-12.196 -31.998,-12.196 -44.194,-0Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
res/images/normal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -0,0 +1,37 @@
import time
import subprocess
from pynput.keyboard import Controller as KeyboardController, Key
from pynput.mouse import Controller as MouseController, Button
keyboard = KeyboardController()
mouse = MouseController()
# Intervall für Rechtsklick in Sekunden
rechtsklick_intervall = 4.50
def shift_spam_mit_rechtsklick():
letzter_klick = time.time()
try:
while True:
# Shift drücken und loslassen
# keyboard.press(Key.shift)
# time.sleep(0.05)
# keyboard.release(Key.shift)
# Kurze Pause zwischen den Shift-Spams
# time.sleep(0.1)
# Zeit für Rechtsklick?
jetzt = time.time()
if jetzt - letzter_klick >= rechtsklick_intervall:
mouse.click(Button.left)
letzter_klick = jetzt
except KeyboardInterrupt:
print("Skript beendet.")
if __name__ == "__main__":
shift_spam_mit_rechtsklick()

40
res/scripts/autostart.sh Executable file
View File

@@ -0,0 +1,40 @@
#!/bin/bash
# ___ _____ ___ _ _____ ____ _ _
# / _ \_ _|_ _| | | ____| / ___|| |_ __ _ _ __| |_
# | | | || | | || | | _| \___ \| __/ _` | '__| __|
# | |_| || | | || |___| |___ ___) | || (_| | | | |_
# \__\_\|_| |___|_____|_____| |____/ \__\__,_|_| \__|
#
# by cerberus
# -----------------------------------------------------
# -----------------------------------------------------
# Essentials
# -----------------------------------------------------
# Load polkit agent
gnome-keyring-daemon --start --components=pkcs11,secrets,ssh &
/usr/lib/mate-polkit/polkit-mate-authentication-agent-1 &
mpd &
# -----------------------------------------------------
# Configure Screens
# -----------------------------------------------------
"$HOME"/.screenlayout/screens.sh &
# -----------------------------------------------------
# Autostart Applications
# -----------------------------------------------------
picom & # Compositor
nitrogen --restore & # Wallpaper Manager
copyq & # Clipboard Manager
flameshot & # Screenshot Tool
discord & # Discord
steam -silent & # Steam
firefox & # Firefox
youtube-music & # YT-Music
bitwarden-desktop & # Bitwarden Passwordmanager
joplin & # Note Taking
affine & # Hand-Written Notes
"$HOME"/Documents/scripts/wacom_screen_config.sh & # Grpahic tablet
# kitty --app-id "RMPC" --execute rmpc --theme=.config/rmpc/gruvbox.ron &
sleep 1 &
qtile cmd-obj -o cmd -f reload_config

67
res/scripts/keybinds.py Executable file
View File

@@ -0,0 +1,67 @@
#!/usr/bin/env python3
import re
from pathlib import Path
# Define the file path using Path and expand user directory
file_path = Path("~/.config/qtile/modules/keys.py").expanduser()
# Initialize a flag for header printing
header_printed = False
def capitalize_first_letter(s):
"""Capitalize the first letter of each key."""
return s.capitalize() if s else ""
def replace_keys(key):
"""Replace Mod and Control with Super and Ctrl."""
if key == "mod":
return "Super"
if key == "xf86calculator":
return "Calculator"
elif key == "control":
return "Ctrl"
return key
with open(file_path, "r") as file:
for line in file:
# Skip lines that contain "# Key("
if "# Key(" in line:
continue
# Check for KB_GROUP headers
if "# KB_GROUP-" in line:
if header_printed:
print("") # Add a blank line before the next header
# Print the header in bold yellow, removing "KB_GROUP-"
print(
f"\n\033[1;33m{line.strip().replace('KB_GROUP-', '').strip()}\033[0m\n"
)
header_printed = True
# Check for Key bindings
match = re.search(r'Key\(\[(.*?)\], "(.*?)", lazy\..*, desc="(.*)"\)', line)
if match:
# Get the modifier keys
keys = match.group(1).replace("'", "").replace('"', "").split(", ")
# Get the main key
key = match.group(2)
# Get the description
description = match.group(3)
# Prepare the key strings for each key position
mod1 = (
capitalize_first_letter(replace_keys(keys[0])) if len(keys) > 0 else ""
)
mod2 = (
capitalize_first_letter(replace_keys(keys[1])) if len(keys) > 1 else ""
)
key_str = capitalize_first_letter(key) # The main key
# Print the keys in their respective columns
print(f" {mod1:<6} {mod2:<8} {key_str:<30}{description}")
# Wait for user input before exiting
input("Press [Enter] to exit...")

Binary file not shown.

Binary file not shown.

25
res/themes/colors.py Normal file
View File

@@ -0,0 +1,25 @@
# --------------------------------------------------------
# Gruvbox Dark Theme Colors
# --------------------------------------------------------
gruvbox_dark = {
"bg0_hard": "#1d2021", # Background, hard
"bg0_soft": "#32302f", # Background, soft
"bg0_normal": "#282828", # Background, normal
"bg1": "#3c3836", # Secondary background
"bg2": "#504945", # Background, darker
"bg3": "#665c54", # Background, lighter
"bg4": "#7c6f64", # Background, lightest
"fg0": "#fbf1c7", # Foreground, light
"fg1": "#ebdbb2", # Foreground, normal
"fg2": "#d5c4a1", # Foreground, slightly dark
"fg3": "#bdae93", # Foreground, dark
"red": "#cc241d", # Red
"orange": "#d65d0e", # Orange
"yellow": "#d79921", # Yellow
"green": "#98971a", # Green
"aqua": "#689d6a", # Aqua
"blue": "#458588", # Blue
"purple": "#b16286" # Purple
}