Files
dotfiles/.config/hypr/scripts/opacity.py

47 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python3
import sys
import subprocess
import os
def tag_window(tag:str):
"""
Tags the currently focused window with the specified tag.
"""
command = f"hyprctl dispatch tagwindow {tag}"
subprocess.run(command, shell=True)
def notify(message: str):
"""
Displays a notification with the specified message.
"""
command = f'hyprctl notify 1 1000 0 "{message}"';
subprocess.run(command, shell=True)
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python3 opacity.py <opacity_value>")
sys.exit(1)
opacity_value = sys.argv[1]
# Validate the opacity value
valid_opacities = ['0.1', '0.2', '0.3', '0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1']
if opacity_value not in valid_opacities and opacity_value != '-1':
print(f"Invalid opacity value: {opacity_value}. Valid values are: {', '.join(valid_opacities)}")
sys.exit(1)
# If the opacity value is -1, reset to default
if opacity_value == '-1':
notify("Resetting opacity to default")
for op in valid_opacities:
tag_window(f'-- -opacity:{op}')
else:
notify(f"Setting opacity to {opacity_value}")
for op in valid_opacities:
if op == opacity_value:
tag_window(f'opacity:{op}')
else:
tag_window(f'-- -opacity:{op}')