Hyprland ipc client and event receiver
  • Go 99.8%
  • Makefile 0.2%
Find a file
2026-08-07 16:22:36 +03:00
.github up actions, goreleaser v2 config 2026-08-07 16:22:36 +03:00
.goreleaser.yaml up actions, goreleaser v2 config 2026-08-07 16:22:36 +03:00
argv.go Fix batch command support 2024-07-21 17:02:17 +01:00
argv_test.go Fix batch command support 2024-07-21 17:02:17 +01:00
byteslice.go refactor queue 2024-03-01 01:33:23 +03:00
event.go add support for screencast events 2024-07-30 19:51:05 -07:00
event_dummy.go add support for screencast events 2024-07-30 19:51:05 -07:00
event_test.go add support for screencast events 2024-07-30 19:51:05 -07:00
event_type.go add support for screencast events 2024-07-30 19:51:05 -07:00
go.mod fix go mod 2024-05-14 14:43:02 +03:00
ipc.go Fix SetCursor 2024-07-22 11:44:37 +01:00
ipc_dummy.go Add binds 2024-04-28 02:01:08 +03:00
ipc_test.go Fix batch command support 2024-07-21 17:02:17 +01:00
ipc_type.go Add missing fields for Window struct 2024-07-21 11:40:34 +01:00
LICENSE Create LICENSE 2024-03-01 01:59:59 +03:00
Makefile remove reflection 2023-02-08 03:41:17 +03:00
README.md Update README.md 2024-06-24 11:23:44 +03:00
unsafe.go refactor queue 2024-03-01 01:33:23 +03:00

hypland ipc client

This is a client for the Hyprland IPC server. It is used to communicate with the Hyprland server.

Installation

go get -u github.com/labi-le/hyprland-ipc-client/v3

Example

package main

import (
	"fmt"
	"os"
	"github.com/labi-le/hyprland-ipc-client/v3"
)

type ed struct {
	client.DummyEvHandler
}

func main() {
	c := client.MustClient(os.Getenv("HYPRLAND_INSTANCE_SIGNATURE"))
	e := &ed{}
	client.Subscribe(c, e, client.EventActiveLayout)
}

func (e *ed) ActiveLayout(layout client.ActiveLayout) {
	fmt.Println("ActiveLayout", layout.Type, layout.Name)
}

Notice

I stopped using Hyprland as my main wm and so I don't follow its development, hence the addition of which api functionality should not be expected, you can make a pull request or ask me to add something
That doesn't mean I've abandoned the project, my attention is focused on other things, but I continue to support this project