Hyprpy - это библиотека, которая предоставляет привязки Python для композитора Hyprland Wayland.
С помощью Hyprpy вы можете очень легко получить информацию о Windows, рабочих пространствах и мониторах в экземпляре Hyprland. Он также предлагает монитор событий, позволяющий написать свои собственные функции обратного вызова, которые выполняются в ответ на события Hyprland.
Hyprpy использует розетки Unix для общения с Hyprland, что делает его быстрым и эффективным .
Пожалуйста, ознакомьтесь с документацией! Hyprpy полностью напечатана и подробно документирован. Счастливого взлома?
Установите Hyprpy с PIP, работая:
pip install hyprpy Hyprpy доступен в AUR как python-hyprpy .
Если вы используете помощника AUR, как Paru, просто установите его, работая:
paru -S python-hyprpy from hyprpy import Hyprland
instance = Hyprland ()
# Fetch active window and display information:
window = instance . get_active_window ()
print ( window . wm_class )
print ( window . width )
print ( window . position_x )
# Print information about the windows on the active workspace
workspace = instance . get_active_workspace ()
for window in workspace . windows :
print ( f" { window . address } : { window . title } [ { window . wm_class } ]" )
# Get the resolution of the first monitor
monitor = instance . get_monitor_by_id ( 0 )
if monitor :
print ( f" { monitor . width } x { monitor . height } " )
# Get all windows currently on the special workspace
special_workspace = instance . get_workspace_by_name ( "special" )
if special_workspace :
special_windows = special_workspace . windows
for window in special_windows :
print ( window . title )
# Show a desktop notification every time we switch to workspace 6
from hyprpy . utils . shell import run_or_fail
def workspace_changed ( sender , ** kwargs ):
current_workspace_id = kwargs . get ( 'active_workspace_id' )
if current_workspace_id == 6 :
run_or_fail ([ "notify-send" , "We are on workspace 6." ])
instance . signal_active_workspace_changed . connect ( workspace_changed )
instance . watch ()Hyprpy находится в активной разработке! Пожалуйста, подайте проблему, если вы найдете какие -либо ошибки или имеете запрос функции.
Ваш вклад высоко ценится.