mirror of
https://codeberg.org/scip/sway-descratch.git
synced 2026-08-24 23:04:22 +02:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1ed268ab63 | |||
| 705fbb03c4 |
104
.golangci.yml
104
.golangci.yml
@@ -1,104 +0,0 @@
|
|||||||
version: "2"
|
|
||||||
|
|
||||||
linters:
|
|
||||||
enable:
|
|
||||||
- errcheck
|
|
||||||
- govet
|
|
||||||
- ineffassign
|
|
||||||
- staticcheck
|
|
||||||
- unused
|
|
||||||
- arangolint
|
|
||||||
- asasalint
|
|
||||||
- asciicheck
|
|
||||||
- bidichk
|
|
||||||
- bodyclose
|
|
||||||
- canonicalheader
|
|
||||||
- clickhouselint
|
|
||||||
- containedctx
|
|
||||||
- copyloopvar
|
|
||||||
- cyclop
|
|
||||||
- decorder
|
|
||||||
- dogsled
|
|
||||||
- dupword
|
|
||||||
- durationcheck
|
|
||||||
- embeddedstructfieldcheck
|
|
||||||
- errchkjson
|
|
||||||
- errname
|
|
||||||
- exhaustive
|
|
||||||
- exptostd
|
|
||||||
- fatcontext
|
|
||||||
- funcorder
|
|
||||||
- funlen
|
|
||||||
- ginkgolinter
|
|
||||||
- gocheckcompilerdirectives
|
|
||||||
- gochecknoinits
|
|
||||||
- gochecksumtype
|
|
||||||
- gocritic
|
|
||||||
- gocyclo
|
|
||||||
- godoclint
|
|
||||||
- goheader
|
|
||||||
- gomoddirectives
|
|
||||||
- gomodguard_v2
|
|
||||||
- goprintffuncname
|
|
||||||
- gosmopolitan
|
|
||||||
- grouper
|
|
||||||
- iface
|
|
||||||
- importas
|
|
||||||
- inamedparam
|
|
||||||
- interfacebloat
|
|
||||||
- intrange
|
|
||||||
- iotamixing
|
|
||||||
- lll
|
|
||||||
- loggercheck
|
|
||||||
- makezero
|
|
||||||
- misspell
|
|
||||||
- modernize
|
|
||||||
- nakedret
|
|
||||||
- nestif
|
|
||||||
- nilerr
|
|
||||||
- nilnesserr
|
|
||||||
- nlreturn
|
|
||||||
- nonamedreturns
|
|
||||||
- nosprintfhostport
|
|
||||||
- paralleltest
|
|
||||||
- perfsprint
|
|
||||||
- prealloc
|
|
||||||
- promlinter
|
|
||||||
- protogetter
|
|
||||||
- reassign
|
|
||||||
- recvcheck
|
|
||||||
- rowserrcheck
|
|
||||||
- sloglint
|
|
||||||
- spancheck
|
|
||||||
- sqlclosecheck
|
|
||||||
- tagalign
|
|
||||||
- testableexamples
|
|
||||||
- testifylint
|
|
||||||
- testpackage
|
|
||||||
- thelper
|
|
||||||
- tparallel
|
|
||||||
- unconvert
|
|
||||||
- unparam
|
|
||||||
- unqueryvet
|
|
||||||
- usestdlibvars
|
|
||||||
- usetesting
|
|
||||||
- varnamelen
|
|
||||||
- wastedassign
|
|
||||||
- whitespace
|
|
||||||
- wsl_v5
|
|
||||||
- zerologlint
|
|
||||||
|
|
||||||
settings:
|
|
||||||
varnamelen:
|
|
||||||
ignore-names:
|
|
||||||
- err
|
|
||||||
- wg
|
|
||||||
- mu
|
|
||||||
- ts
|
|
||||||
- to
|
|
||||||
- es
|
|
||||||
- op
|
|
||||||
- fd
|
|
||||||
- id
|
|
||||||
- fn
|
|
||||||
|
|
||||||
@@ -2,9 +2,7 @@ matrix:
|
|||||||
platform:
|
platform:
|
||||||
- linux/amd64
|
- linux/amd64
|
||||||
goversion:
|
goversion:
|
||||||
- 1.26
|
- 1.24
|
||||||
lintversion:
|
|
||||||
- v2.12.2
|
|
||||||
|
|
||||||
labels:
|
labels:
|
||||||
platform: ${platform}
|
platform: ${platform}
|
||||||
@@ -23,7 +21,7 @@ steps:
|
|||||||
event: [push]
|
event: [push]
|
||||||
image: golang:${goversion}
|
image: golang:${goversion}
|
||||||
commands:
|
commands:
|
||||||
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin ${lintversion}
|
- 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 --version
|
||||||
- golangci-lint run ./...
|
- golangci-lint run ./...
|
||||||
depends_on: [build]
|
depends_on: [build]
|
||||||
|
|||||||
70
Makefile
70
Makefile
@@ -1,70 +0,0 @@
|
|||||||
# Copyright © 2025-2026 Thomas von Dein
|
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# no need to modify anything below
|
|
||||||
tool = sway-descratch
|
|
||||||
VERSION = $(shell grep VERSION main.go | head -1 | cut -d '"' -f2)
|
|
||||||
archs = darwin freebsd linux
|
|
||||||
PREFIX = /usr/local
|
|
||||||
UID = root
|
|
||||||
GID = 0
|
|
||||||
HAVE_POD := $(shell pod2text -h 2>/dev/null)
|
|
||||||
|
|
||||||
all: buildlocal
|
|
||||||
|
|
||||||
|
|
||||||
buildlocal:
|
|
||||||
CGO_LDFLAGS='-static' go build -tags osusergo,netgo -ldflags "-extldflags=-static" -o $(tool)
|
|
||||||
|
|
||||||
install: buildlocal
|
|
||||||
install -d -o $(UID) -g $(GID) $(PREFIX)/bin
|
|
||||||
install -d -o $(UID) -g $(GID) $(PREFIX)/man/man1
|
|
||||||
install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/
|
|
||||||
install -o $(UID) -g $(GID) -m 444 $(tool).1 $(PREFIX)/man/man1/
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf $(tool) coverage.out testdata t/out
|
|
||||||
|
|
||||||
test: clean
|
|
||||||
mkdir -p t/out
|
|
||||||
go test ./... $(ARGS)
|
|
||||||
|
|
||||||
testlint: test lint
|
|
||||||
|
|
||||||
lint:
|
|
||||||
golangci-lint run --show-stats=false
|
|
||||||
|
|
||||||
testfuzzy: clean
|
|
||||||
go test -fuzz ./... $(ARGS)
|
|
||||||
|
|
||||||
singletest:
|
|
||||||
@echo "Call like this: make singletest TEST=TestPrepareColumns ARGS=-v"
|
|
||||||
go test -run $(TEST) $(ARGS)
|
|
||||||
|
|
||||||
cover-report:
|
|
||||||
go test ./... -cover -coverprofile=coverage.out
|
|
||||||
go tool cover -html=coverage.out
|
|
||||||
|
|
||||||
goupdate:
|
|
||||||
go get -t -u=patch ./...
|
|
||||||
|
|
||||||
buildall:
|
|
||||||
./mkrel.sh $(tool) $(VERSION)
|
|
||||||
|
|
||||||
release:
|
|
||||||
gh release create v$(VERSION) --generate-notes
|
|
||||||
|
|
||||||
6
go.mod
6
go.mod
@@ -1,8 +1,8 @@
|
|||||||
module sway-descratch
|
module sway-descratch
|
||||||
|
|
||||||
go 1.26
|
go 1.23.5
|
||||||
|
|
||||||
require (
|
require (
|
||||||
codeberg.org/scip/swayipc/v2 v2.1.0
|
codeberg.org/scip/swayipc/v2 v2.0.0
|
||||||
github.com/alecthomas/repr v0.5.4
|
github.com/alecthomas/repr v0.5.2
|
||||||
)
|
)
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -1,8 +1,4 @@
|
|||||||
codeberg.org/scip/swayipc/v2 v2.0.0 h1:uHiETbutVJAUQVSzC5/PPFo2S+gEoCnzydhErYiQYNM=
|
codeberg.org/scip/swayipc/v2 v2.0.0 h1:uHiETbutVJAUQVSzC5/PPFo2S+gEoCnzydhErYiQYNM=
|
||||||
codeberg.org/scip/swayipc/v2 v2.0.0/go.mod h1:F+rmNQ+NjLDr8fU7HW/jSjiUIXeYfQ1cSyBiGByhoWI=
|
codeberg.org/scip/swayipc/v2 v2.0.0/go.mod h1:F+rmNQ+NjLDr8fU7HW/jSjiUIXeYfQ1cSyBiGByhoWI=
|
||||||
codeberg.org/scip/swayipc/v2 v2.1.0 h1:tBiOBOUFDOA38+acZwx4BO5Yo/VVwxbqkL+R2/zmW6c=
|
|
||||||
codeberg.org/scip/swayipc/v2 v2.1.0/go.mod h1:cqicjgMgPS7tGTJgjqjSMvnLeMA+J3to/YnufcysCns=
|
|
||||||
github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs=
|
github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs=
|
||||||
github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
||||||
github.com/alecthomas/repr v0.5.4 h1:OVP7JEcuzU9CCDsT6STCr3rg17oQfWILtPWd2EG0uN4=
|
|
||||||
github.com/alecthomas/repr v0.5.4/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
|
||||||
|
|||||||
10
main.go
10
main.go
@@ -28,7 +28,7 @@ import (
|
|||||||
"github.com/alecthomas/repr"
|
"github.com/alecthomas/repr"
|
||||||
)
|
)
|
||||||
|
|
||||||
const VERSION = `v0.0.4`
|
const VERSION = `v0.0.3`
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if len(os.Args) > 1 {
|
if len(os.Args) > 1 {
|
||||||
@@ -54,7 +54,7 @@ func main() {
|
|||||||
// first, retrieve the whole sway root node
|
// first, retrieve the whole sway root node
|
||||||
root, err := ipc.GetTree()
|
root, err := ipc.GetTree()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err) // nolint:gocritic
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the hidden scratchpad workspace
|
// get the hidden scratchpad workspace
|
||||||
@@ -78,9 +78,8 @@ func main() {
|
|||||||
func retrieveWindow(ipc *swayipc.SwayIPC, scratch *swayipc.Node, id int) {
|
func retrieveWindow(ipc *swayipc.SwayIPC, scratch *swayipc.Node, id int) {
|
||||||
// make sure the id exists
|
// make sure the id exists
|
||||||
var exists bool
|
var exists bool
|
||||||
|
|
||||||
for _, con := range scratch.FloatingNodes {
|
for _, con := range scratch.FloatingNodes {
|
||||||
if con.ID == id {
|
if con.Id == id {
|
||||||
exists = true
|
exists = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -96,12 +95,13 @@ func retrieveWindow(ipc *swayipc.SwayIPC, scratch *swayipc.Node, id int) {
|
|||||||
repr.Println(responses)
|
repr.Println(responses)
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func listScratchedContainer(scratch *swayipc.Node) {
|
func listScratchedContainer(scratch *swayipc.Node) {
|
||||||
// list the windows
|
// list the windows
|
||||||
for _, con := range scratch.FloatingNodes {
|
for _, con := range scratch.FloatingNodes {
|
||||||
fmt.Printf("%d %s\n", con.ID, con.Name)
|
fmt.Printf("%d %s\n", con.Id, con.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user