2025-05-28 18:27:10 +02:00

65 lines
1.6 KiB
Python
Executable File

#!/usr/bin/python3
import json
import os
import sys
def read_value_from_file(file_path):
try:
with open(file_path, 'r') as file:
value = file.read().strip()
return value
except Exception as e:
return f"Error: {e}"
def read_click_state(state_file):
try:
if os.path.exists(state_file):
with open(state_file, 'r') as file:
state = file.read().strip()
return state == "clicked"
else:
return False
except Exception as e:
return False
def toggle_click_state(state_file):
try:
if read_click_state(state_file):
with open(state_file, 'w') as file:
file.write("unclicked")
else:
with open(state_file, 'w') as file:
file.write("clicked")
except Exception as e:
pass
def generate_waybar_json(value, clicked):
if clicked:
data = {
"text": value,
#"tooltip": f"Upload Speed: {value}",
#"class": "custom"
}
else:
data = {
"text": "UP",
"tooltip": f"Upload Speed: {value}",
"class": "custom"
}
return json.dumps(data)
if __name__ == "__main__":
file_path = "/home/teraflops/.config/waybar/scripts/up.txt"
state_file = "/tmp/waybar_tooltip_state"
value = read_value_from_file(file_path)
# Check for the toggle argument
if len(sys.argv) > 1 and sys.argv[1] == "toggle":
toggle_click_state(state_file)
clicked = read_click_state(state_file)
waybar_json = generate_waybar_json(value, clicked)
print(waybar_json)