9 Commits
v0.3.0 ... main

22 changed files with 64 additions and 78 deletions

View File

@@ -1,47 +0,0 @@
name: build-and-test
on: [push, pull_request]
jobs:
build:
strategy:
matrix:
version: ['1.22']
os: [ubuntu-latest, windows-latest, macos-latest]
name: Build
runs-on: ${{ matrix.os }}
steps:
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: '${{ matrix.version }}'
id: go
- name: checkout
uses: actions/checkout@v3
- name: build
run: go build
# - name: test
# run: make test
# - name: Update coverage report
# uses: ncruces/go-coverage-report@main
# with:
# report: true
# chart: true
# amend: true
# if: |
# matrix.os == 'ubuntu-latest' &&
# github.event_name == 'push'
# continue-on-error: true
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.22
- uses: actions/checkout@v3
- name: golangci-lint
uses: golangci/golangci-lint-action@v3

27
.woodpecker/build.yaml Normal file
View File

@@ -0,0 +1,27 @@
matrix:
platform:
- linux/amd64
goversion:
- 1.24
labels:
platform: ${platform}
steps:
build:
when:
event: [push]
image: golang:${goversion}
commands:
- go get
- go build
linter:
when:
event: [push]
image: golang:${goversion}
commands:
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.5.0
- golangci-lint --version
- golangci-lint run ./...
depends_on: [build]

View File

@@ -1,7 +1,7 @@
[![Go Report Card](https://goreportcard.com/badge/github.com/tlinden/swayipc)](https://goreportcard.com/report/github.com/tlinden/swayipc)
[![Actions](https://github.com/tlinden/swayipc/actions/workflows/ci.yaml/badge.svg)](https://github.com/tlinden/swayipc/actions)
![GitHub License](https://img.shields.io/github/license/tlinden/swayipc)
[![GoDoc](https://godoc.org/github.com/tlinden/swayipc?status.svg)](https://godoc.org/github.com/tlinden/swayipc)
[![status-badge](https://ci.codeberg.org/api/badges/15565/status.svg)](https://ci.codeberg.org/repos/15565)
[![Go Report Card](https://goreportcard.com/badge/codeberg.org/scip/swayipc)](https://goreportcard.com/report/codeberg.org/scip/swayipc)
[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://codeberg.org/scip/swayipc/raw/branch/main/LICENSE)
[![GoDoc](https://godoc.org/codeberg.org/scip/swayipc?status.svg)](https://godoc.org/codeberg.org/scip/swayipc)
# swayipc - go bindings to control sway and swayfx
@@ -26,7 +26,7 @@ haven't tested it on i3wm.
The module uses the i3-IPC proctocol as outlined in sway-ipc(7).
For details on how to use the library, see the
[reference documentation](https://godoc.org/github.com/tlinden/swayipc).
[reference documentation](https://godoc.org/codeberg.org/scip/swayipc).
## Example usage
@@ -39,7 +39,7 @@ import (
"fmt"
"log"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v2"
)
func main() {
@@ -68,14 +68,18 @@ func main() {
Also take a look into the **_examples** folder for more examples.
You may take a look at the [tool swaycycle](https://github.com/tlinden/swaycycle)
For a more comprehensive and practical example look at the
[descratch](https://codeberg.org/scip/sway-descratch) program which
you can use to selectively retrieve a window from the scratchpad.
You may also take a look at the [tool swaycycle](https://codeberg.org/scip/swaycycle)
which is using this module.
## Installation
Execute this to add the module to your project:
```sh
go get github.com/tlinden/swayipc
go get codeberg.org/scip/swayipc/v2
```
## Acknowledgements
@@ -91,7 +95,7 @@ best way for me to forget to do something.
In order to report a bug, unexpected behavior, feature requests or to
submit a patch, please open an issue on github:
https://github.com/TLINDEN/swayipc/issues.
https://codeberg.org/scip/swayipc/issues.
## Copyright and license
@@ -103,7 +107,7 @@ T.v.Dein <tom AT vondein DOT org>
## Project homepage
https://github.com/TLINDEN/swayipc
https://codeberg.org/scip/swayipc
## Copyright and License

View File

@@ -4,7 +4,7 @@ import (
"fmt"
"log"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -10,7 +10,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
// Event callback function, needs to implement each subscribed events,

View File

@@ -4,7 +4,7 @@ import (
"fmt"
"log"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -9,7 +9,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -8,7 +8,7 @@ import (
"fmt"
"log"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -8,7 +8,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -8,7 +8,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -8,7 +8,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -8,7 +8,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -4,7 +4,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -8,7 +8,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -8,7 +8,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -10,7 +10,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {
@@ -37,7 +37,7 @@ func main() {
// finally execute the given commands on it, you can use any run
// command, see sway(5)
responses, err := ipc.RunContainerCommand(focused.Id, "floating toggle, border toggle")
responses, err := ipc.RunContainerCommand(focused.Id, "floating toggle", "border toggle")
if err != nil {
repr.Println(responses)
log.Fatal(err)

View File

@@ -9,7 +9,7 @@ import (
"log"
"github.com/alecthomas/repr"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

View File

@@ -12,7 +12,7 @@ import (
"log"
"os"
"github.com/tlinden/swayipc"
"codeberg.org/scip/swayipc/v1"
)
func main() {

2
go.mod
View File

@@ -1,4 +1,4 @@
module github.com/tlinden/swayipc
module codeberg.org/scip/swayipc/v2
go 1.23

4
net.go
View File

@@ -34,8 +34,8 @@ func (ipc *SwayIPC) Connect() error {
}
// Close the socket.
func (ipc *SwayIPC) Close() {
ipc.socket.Close()
func (ipc *SwayIPC) Close() error {
return ipc.socket.Close()
}
func (ipc *SwayIPC) sendHeader(messageType uint32, len uint32) error {

View File

@@ -11,9 +11,11 @@ type Node struct {
Id int `json:"id"`
Type string `json:"type"` // output, workspace or container
Name string `json:"name"` // workspace number or app name
Output string `json:"output"`
Nodes []*Node `json:"nodes"`
FloatingNodes []*Node `json:"floating_nodes"`
Focused bool `json:"focused"`
Visible bool `json:"visible"`
Urgent bool `json:"urgent"`
Sticky bool `json:"sticky"`
Border string `json:"border"`

View File

@@ -5,7 +5,7 @@ import (
)
const (
VERSION = "v0.3.0"
VERSION = "v1.0.0"
IPC_HEADER_SIZE = 14
IPC_MAGIC = "i3-ipc"