mirror of
https://codeberg.org/scip/sway-descratch.git
synced 2025-12-19 13:31:05 +01:00
Compare commits
1 Commits
mkstable
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3aee617e6a |
87
.github/workflows/release.yaml
vendored
Normal file
87
.github/workflows/release.yaml
vendored
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
name: build-release
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*.*.*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: Build Release Assets
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v6
|
||||||
|
with:
|
||||||
|
go-version: 1.23.5
|
||||||
|
|
||||||
|
- name: Build the executables
|
||||||
|
run: ./mkrel.sh descratch ${{ github.ref_name}}
|
||||||
|
|
||||||
|
- name: List the executables
|
||||||
|
run: ls -l ./releases
|
||||||
|
|
||||||
|
- name: Upload the binaries
|
||||||
|
uses: svenstaro/upload-release-action@v2
|
||||||
|
with:
|
||||||
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
tag: ${{ github.ref_name }}
|
||||||
|
file: ./releases/*
|
||||||
|
file_glob: true
|
||||||
|
|
||||||
|
- name: Build Changelog
|
||||||
|
id: github_release
|
||||||
|
uses: mikepenz/release-changelog-builder-action@v5
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
mode: "PR"
|
||||||
|
configurationJson: |
|
||||||
|
{
|
||||||
|
"template": "#{{CHANGELOG}}\n\n**Full Changelog**: #{{RELEASE_DIFF}}",
|
||||||
|
"pr_template": "- #{{TITLE}} (##{{NUMBER}}) by #{{AUTHOR}}\n#{{BODY}}",
|
||||||
|
"empty_template": "- no changes",
|
||||||
|
"categories": [
|
||||||
|
{
|
||||||
|
"title": "## New Features",
|
||||||
|
"labels": ["add", "feature"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "## Bug Fixes",
|
||||||
|
"labels": ["fix", "bug", "revert"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "## Documentation Enhancements",
|
||||||
|
"labels": ["doc"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "## Refactoring Efforts",
|
||||||
|
"labels": ["refactor"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "## Miscellaneus Changes",
|
||||||
|
"labels": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ignore_labels": [
|
||||||
|
"duplicate", "good first issue", "help wanted", "invalid", "question", "wontfix"
|
||||||
|
],
|
||||||
|
"label_extractor": [
|
||||||
|
{
|
||||||
|
"pattern": "(.) (.+)",
|
||||||
|
"target": "$1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "(.) (.+)",
|
||||||
|
"target": "$1",
|
||||||
|
"on_property": "title"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
uses: softprops/action-gh-release@v2
|
||||||
|
with:
|
||||||
|
body: ${{steps.github_release.outputs.changelog}}
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
|
|
||||||
|
|
||||||
version: 2
|
|
||||||
|
|
||||||
before:
|
|
||||||
hooks:
|
|
||||||
- go mod tidy
|
|
||||||
|
|
||||||
gitea_urls:
|
|
||||||
api: https://codeberg.org/api/v1
|
|
||||||
download: https://codeberg.org
|
|
||||||
|
|
||||||
builds:
|
|
||||||
- env:
|
|
||||||
- CGO_ENABLED=0
|
|
||||||
goos:
|
|
||||||
- linux
|
|
||||||
- freebsd
|
|
||||||
goarch:
|
|
||||||
- amd64
|
|
||||||
- arm64
|
|
||||||
|
|
||||||
archives:
|
|
||||||
- formats: [tar.gz]
|
|
||||||
# this name template makes the OS and Arch compatible with the results of `uname`.
|
|
||||||
name_template: >-
|
|
||||||
{{ .ProjectName }}_
|
|
||||||
{{- title .Os }}_
|
|
||||||
{{- if eq .Arch "amd64" }}x86_64
|
|
||||||
{{- else if eq .Arch "386" }}i386
|
|
||||||
{{- else }}{{ .Arch }}{{ end }}
|
|
||||||
{{- if .Arm }}v{{ .Arm }}{{ end }}_{{ .Tag }}
|
|
||||||
# use zip for windows archives
|
|
||||||
format_overrides:
|
|
||||||
- goos: windows
|
|
||||||
formats: [zip]
|
|
||||||
- goos: linux
|
|
||||||
formats: [tar.gz,binary]
|
|
||||||
files:
|
|
||||||
- src: "*.md"
|
|
||||||
strip_parent: true
|
|
||||||
- src: Makefile.dist
|
|
||||||
dst: Makefile
|
|
||||||
wrap_in_directory: true
|
|
||||||
|
|
||||||
changelog:
|
|
||||||
sort: asc
|
|
||||||
filters:
|
|
||||||
exclude:
|
|
||||||
- "^docs:"
|
|
||||||
- "^test:"
|
|
||||||
groups:
|
|
||||||
- title: Improved
|
|
||||||
regexp: '^.*?(feat|add|new)(\([[:word:]]+\))??!?:.+$'
|
|
||||||
order: 0
|
|
||||||
- title: Fixed
|
|
||||||
regexp: '^.*?(bug|fix)(\([[:word:]]+\))??!?:.+$'
|
|
||||||
order: 1
|
|
||||||
- title: Changed
|
|
||||||
order: 999
|
|
||||||
|
|
||||||
release:
|
|
||||||
header: "# Release Notes"
|
|
||||||
footer: >-
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Full Changelog: [{{ .PreviousTag }}...{{ .Tag }}](https://codeberg.org/scip/sway-descratch/compare/{{ .PreviousTag }}...{{ .Tag }})
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
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]
|
|
||||||
|
|
||||||
test:
|
|
||||||
when:
|
|
||||||
event: [push]
|
|
||||||
image: golang:${goversion}
|
|
||||||
commands:
|
|
||||||
- go get
|
|
||||||
- go test -v -cover
|
|
||||||
depends_on: [build,linter]
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
# build release
|
|
||||||
|
|
||||||
labels:
|
|
||||||
platform: linux/amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
goreleaser:
|
|
||||||
image: goreleaser/goreleaser
|
|
||||||
when:
|
|
||||||
event: [tag]
|
|
||||||
environment:
|
|
||||||
GITEA_TOKEN:
|
|
||||||
from_secret: DEPLOY_TOKEN
|
|
||||||
commands:
|
|
||||||
- goreleaser release --clean --verbose
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# -*-make-*-
|
|
||||||
|
|
||||||
.PHONY: install all
|
|
||||||
|
|
||||||
tool = rpn
|
|
||||||
PREFIX = /usr/local
|
|
||||||
UID = root
|
|
||||||
GID = 0
|
|
||||||
|
|
||||||
all:
|
|
||||||
@echo "Type 'sudo make install' to install the tool."
|
|
||||||
@echo "To change prefix, type 'sudo make install PREFIX=/opt'"
|
|
||||||
|
|
||||||
install:
|
|
||||||
install -d -o $(UID) -g $(GID) $(PREFIX)/bin
|
|
||||||
install -d -o $(UID) -g $(GID) $(PREFIX)/share/doc
|
|
||||||
install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/
|
|
||||||
install -o $(UID) -g $(GID) -m 444 *.md $(PREFIX)/share/doc/
|
|
||||||
13
README.md
13
README.md
@@ -1,12 +1,7 @@
|
|||||||
[](https://ci.codeberg.org/repos/15678)
|
|
||||||
[](https://goreportcard.com/report/codeberg.org/scip/sway-descratch)
|
|
||||||
[](https://codeberg.org/scip/sway-descratch/raw/branch/main/LICENSE)
|
|
||||||
|
|
||||||
|
|
||||||
# sway-descratch
|
# sway-descratch
|
||||||
|
|
||||||
This is a more practical example for [swayipc module
|
This is a more practical example for [swayipc module
|
||||||
usage](https://codeberg.org/scip/swayipc). With sway you can move
|
usage](https://github.com/TLINDEN/swayipc). With sway you can move
|
||||||
windows to a "scratchpad", i.e. like iconify it. There may be an
|
windows to a "scratchpad", i.e. like iconify it. There may be an
|
||||||
official way to get back such windows, but I didn't find a good
|
official way to get back such windows, but I didn't find a good
|
||||||
one. There's the "scratchpad show" command, but it doesn't allow you
|
one. There's the "scratchpad show" command, but it doesn't allow you
|
||||||
@@ -42,11 +37,11 @@ best way for me to forget to do something.
|
|||||||
|
|
||||||
In order to report a bug, unexpected behavior, feature requests or to
|
In order to report a bug, unexpected behavior, feature requests or to
|
||||||
submit a patch, please open an issue on github:
|
submit a patch, please open an issue on github:
|
||||||
https://codeberg.org/scip/sway-descratch/issues.
|
https://github.com/tlinden/sway-descratch/issues.
|
||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
- [swayipc golang sway binding](https://codeberg.org/scip/swayipc)
|
- [swayipc golang sway binding](https://github.com/tlinden/swayipc)
|
||||||
- [sway-ipc(7) manpage](https://www.mankier.com/7/sway-ipc)
|
- [sway-ipc(7) manpage](https://www.mankier.com/7/sway-ipc)
|
||||||
- [swaywm](https://github.com/swaywm/sway/)
|
- [swaywm](https://github.com/swaywm/sway/)
|
||||||
- [swayfx](https://github.com/WillPower3309/swayfx)
|
- [swayfx](https://github.com/WillPower3309/swayfx)
|
||||||
@@ -61,7 +56,7 @@ T.v.Dein <tom AT vondein DOT org>
|
|||||||
|
|
||||||
## Project homepage
|
## Project homepage
|
||||||
|
|
||||||
https://codeberg.org/scip/sway-descratch
|
https://github.com/tlinden/sway-descratch
|
||||||
|
|
||||||
## Copyright and License
|
## Copyright and License
|
||||||
|
|
||||||
|
|||||||
5
go.mod
5
go.mod
@@ -1,8 +1,3 @@
|
|||||||
module sway-descratch
|
module sway-descratch
|
||||||
|
|
||||||
go 1.23.5
|
go 1.23.5
|
||||||
|
|
||||||
require (
|
|
||||||
codeberg.org/scip/swayipc/v2 v2.0.0
|
|
||||||
github.com/alecthomas/repr v0.5.2
|
|
||||||
)
|
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -1,4 +0,0 @@
|
|||||||
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=
|
|
||||||
github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs=
|
|
||||||
github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
|
||||||
19
main.go
19
main.go
@@ -24,20 +24,11 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"codeberg.org/scip/swayipc/v2"
|
|
||||||
"github.com/alecthomas/repr"
|
"github.com/alecthomas/repr"
|
||||||
|
"github.com/tlinden/swayipc"
|
||||||
)
|
)
|
||||||
|
|
||||||
const VERSION = `v0.0.3`
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if len(os.Args) > 1 {
|
|
||||||
if os.Args[1] == "-v" {
|
|
||||||
fmt.Printf("This is sway-descratch version %s\n", VERSION)
|
|
||||||
os.Exit(0)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// we need a session to sway via IPC
|
// we need a session to sway via IPC
|
||||||
ipc := swayipc.NewSwayIPC()
|
ipc := swayipc.NewSwayIPC()
|
||||||
|
|
||||||
@@ -45,11 +36,7 @@ func main() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
defer func() {
|
defer ipc.Close()
|
||||||
if err := ipc.Close(); err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
// first, retrieve the whole sway root node
|
// first, retrieve the whole sway root node
|
||||||
root, err := ipc.GetTree()
|
root, err := ipc.GetTree()
|
||||||
@@ -64,7 +51,7 @@ func main() {
|
|||||||
// called with an arg, consider it to be a container id
|
// called with an arg, consider it to be a container id
|
||||||
id, err := strconv.Atoi(os.Args[1])
|
id, err := strconv.Atoi(os.Args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to convert arg %s to integer: %s", os.Args[1], err)
|
log.Fatalf("failed to convert arg %s to integer: %w", os.Args[1], err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// switch to it
|
// switch to it
|
||||||
|
|||||||
Reference in New Issue
Block a user