An unofficial async python wrapper for Hyprland's IPC supposed to somewhat work like awesomewm api in lua
Project description
Hyprland-py
An unofficial async python wrapper for Hyprland's IPC supposed to somewhat work like awesomewm api in lua
Todo
- async sockets
- change config options
- event listeners
- keybinds
- windowrules
- hyprland info
- misc hyprland commands(change workspace, move active window etc...)(dispatchers)
- a nice way to handle colors
- build
settings.py
file based on current hl version - get config values from the current hyprland config instead of using default values
getting binds still dont work
- docs
- widgets??
Install
git
from git
pip install git+https://github.com/hyprland-community/hyprland-py
release
from pypi
pip install hyprland
Example
change window border to a random number between 0 and 20 everytime a new window is opened
import hyprland
from hyprland import Bind, BindFlag
class Config(hyprland.Events):
def __init__(self):
self.c = hyprland.Config()
super().__init__()
async def terminal(self):
await hyprland.Dispatch.exec("kitty --single-instance")
async def on_connect(self):
print("Connected to hyprland")
await self.c.add_binds([
# general binds
Bind(["SUPER","m"],hyprland.Dispatch.exit),
# mouse binds
Bind(["SUPER","mouse:272"],"movewindow",BindFlag.mouse),
Bind(["SUPER","mouse:273"],"resizewindow",BindFlag.mouse),
# keyboard binds
Bind(["SUPER","return"],self.terminal),
Bind(["SUPER","q"],hyprland.Dispatch.kill_active),
])
# workspace binds
for i in range(1,11):
await self.c.add_bind(Bind([f"SUPER",str(i) if i!= 10 else str(0)],hyprland.Dispatch.workspace,args=[i]))
for i in range(1,11):
await self.c.add_bind(Bind([f"ALT",str(i) if i!= 10 else str(0)],hyprland.Dispatch.move_to_workspace,args=[i]))
c = Config()
c.async_connect()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hyprland-0.2.52.tar.gz
(14.1 kB
view hashes)
Built Distribution
hyprland-0.2.52-py3-none-any.whl
(15.1 kB
view hashes)
Close
Hashes for hyprland-0.2.52-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e266b2e7367fd039716ea491e0db5751c09346d5395b5ff058c6f99b5ae58d89 |
|
MD5 | 14d5c30e218981eafdda723ff59d3229 |
|
BLAKE2b-256 | 6ff9dab62501255151ab44cde955702797f368f6df6e16589f12247ed1d1c677 |