Compare commits

..

No commits in common. "main" and "v2.3.3-2" have entirely different histories.

18 changed files with 57 additions and 89 deletions

View file

@ -1,11 +1,11 @@
steps:
vendor:
image: golang:1.22
image: golang:1.18
commands:
- go mod vendor
build:
image: golang:1.22
image: golang:1.18
commands:
- make
- mkdir release

View file

@ -14,9 +14,3 @@ linux-arm64:
clean:
rm -fr build/* 2>/dev/null || true
tool-gofumpt:
which golangci-lint > /dev/null 2>&1 || go install mvdan.cc/gofumpt@latest
fmt: tool-gofumpt
gofumpt -w --extra .

View file

@ -10,7 +10,6 @@ Blocks compatible with [i3blocks](https://github.com/vivien/i3blocks).
* `df` for `du` block
* `xdg-open` for `du` block
* `playerctl` for `spotify` block
* `pamixer` for `volume` block
## Installation
@ -102,7 +101,7 @@ markup=pango
interval=3
[ip_eth0_ip6]
command=/path/to/ip -iface=eth0 -version=ip6 -name=Bar
command=/path/to/ip -iface=eth0 -version=ip4 -name=Bar
format=json
markup=pango
interval=3
@ -180,11 +179,9 @@ interval=3
Show volume.
Note: use `pamixer --list-sinks`
```
[volume]
command=/path/to/volume -sinks="Default:alsa_output.pci-0000_00_1f.3.analog-stereo;Headset:bluez_output.00_1B_66_B6_87_05"
command=/path/to/volume -channel=Master
format=json
markup=pango
interval=1

View file

@ -2,7 +2,6 @@ package main
import (
"fmt"
"github.com/enescakir/emoji"
"github.com/xellio/tools/acpi"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
@ -14,6 +13,7 @@ import (
func main() {
datas, err := acpi.Battery()
if err != nil {
return
}

View file

@ -3,11 +3,10 @@ package main
import (
"flag"
"fmt"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"os"
"os/exec"
"sync"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
func runCmd(wg *sync.WaitGroup, value string) {

View file

@ -3,11 +3,10 @@ package main
import (
"flag"
"fmt"
"time"
"github.com/enescakir/emoji"
"github.com/itchyny/timefmt-go"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"time"
)
func main() {

View file

@ -3,13 +3,12 @@ package main
import (
"flag"
"fmt"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"os"
"os/exec"
"strconv"
"strings"
"sync"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
func DiskUsage(path string) int {

View file

@ -3,13 +3,12 @@ package main
import (
"flag"
"fmt"
"github.com/atotto/clipboard"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"net"
"os"
"regexp"
"strings"
"github.com/atotto/clipboard"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
func main() {
@ -25,6 +24,7 @@ func main() {
)
iface, err := net.InterfaceByName(*argIface)
if err != nil {
return
}

View file

@ -2,16 +2,16 @@ package main
import (
"fmt"
"github.com/atotto/clipboard"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"io"
"net/http"
"os"
"github.com/atotto/clipboard"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
func main() {
resp, err := http.Get("https://api.ipify.org/")
if err != nil {
return
}

View file

@ -4,13 +4,12 @@ import (
"encoding/json"
"flag"
"fmt"
"github.com/itchyny/timefmt-go"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"io"
"net/http"
"strconv"
"time"
"github.com/itchyny/timefmt-go"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
type Telemetry struct {
@ -25,6 +24,7 @@ func main() {
flag.Parse()
resp, err := http.Get(*argApi)
if err != nil {
return
}

View file

@ -3,10 +3,9 @@ package main
import (
"flag"
"fmt"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"os/exec"
"strings"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
func ProcessExists(process string) bool {

View file

@ -3,14 +3,13 @@ package main
import (
"flag"
"fmt"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"io"
"net/http"
"os"
"os/exec"
"strings"
"sync"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
type Telemetry struct {
@ -42,6 +41,7 @@ func main() {
}
resp, err := http.Get(*argFeed)
if err != nil {
return
}

View file

@ -2,10 +2,15 @@ package main
import (
"fmt"
"os"
"os/exec"
sos"
"os/"
"strings"
r "gitnet.fr/deblan/i3-blocks-gsrrindg
r "gitnet.fr/deblan/i3-blocks-gsrrindg
r "gitnet.fr/deblan/i3-blocks-gsrrindg
r "gitnet.fr/deblan/i3-blocks-gsrrindg
r "gitnet.fr/deblan/i3-blocks-gsrrindg
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)

View file

@ -3,68 +3,46 @@ package main
import (
"flag"
"fmt"
"os/exec"
"strconv"
"strings"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"os/exec"
"regexp"
"strconv"
)
func Volume(id string) int {
output, _ := exec.Command("pamixer", "--sink", id, "--get-volume").Output()
func Volume(channel string) int {
output, _ := exec.Command("amixer", "get", channel).Output()
volume, _ := strconv.Atoi(strings.TrimSpace(string(output)))
regex, _ := regexp.Compile(`\[(\d+)%\]`)
data := regex.FindStringSubmatch(string(output))
volume, _ := strconv.Atoi(data[1])
return volume
}
func main() {
argSinks := flag.String("sinks", "", "list of sinks, eg: CUSTOM_NAME:SINK_VALUE;CUSTOM_NAME2:SINK_VALUE2")
argChannel := flag.String("channel", "Master", "the channel")
flag.Parse()
sinks := strings.Split(*argSinks, ";")
volume := Volume(*argChannel)
var items []string
var symbole string
for _, sink := range sinks {
info := strings.Split(sink, ":")
if len(info) != 2 {
continue
}
name := info[0]
id := info[1]
volume := Volume(id)
var symbole string
if volume == 0 {
symbole = "\uf026"
} else if volume < 50 {
symbole = "\uf027"
} else {
symbole = "\uf028"
}
label := r.TextWithPadding(
name,
r.FB{
Foreground: r.Color("grey1"),
Background: r.Color("black2"),
},
)
value := r.TextWithPadding(fmt.Sprintf("%d%% %s", volume, r.FontAwesome(symbole)), r.FB{
Foreground: r.Color("grey1"),
Background: r.Color("black1"),
})
items = append(items, fmt.Sprintf("%s%s", label, value))
if volume == 0 {
symbole = "\uf026"
} else if volume < 50 {
symbole = "\uf027"
} else {
symbole = "\uf028"
}
value := r.TextWithPadding(fmt.Sprintf("%d%% %s", volume, r.FontAwesome(symbole)), r.FB{
Foreground: r.Color("grey1"),
Background: r.Color("black1"),
})
options := r.NewBlockOptions()
options.FullText = strings.Join(items, "")
options.FullText = value
block := r.Block("volume", options)
fmt.Println(block)

View file

@ -3,14 +3,13 @@ package main
import (
"flag"
"fmt"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"io"
"net/http"
"os"
"os/exec"
"strings"
"sync"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
func openBrowser(wg *sync.WaitGroup, url string) {
@ -35,6 +34,7 @@ func main() {
}
resp, err := http.Get(url)
if err != nil {
return
}

View file

@ -3,12 +3,11 @@ package main
import (
"flag"
"fmt"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
"net"
"os"
"os/exec"
"strings"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
)
func main() {

View file

@ -2,14 +2,13 @@ package main
import (
"encoding/json"
"flag"
"fmt"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
// "os"
"flag"
"os/exec"
"strconv"
"strings"
r "gitnet.fr/deblan/i3-blocks-go/rendering"
// "os"
)
type WindowProperty struct {

2
go.mod
View file

@ -1,6 +1,6 @@
module gitnet.fr/deblan/i3-blocks-go
go 1.22
go 1.18
require (
github.com/enescakir/emoji v1.0.0