migrate to diamondburned GTK bindings
This commit is contained in:
65
tools.go
65
tools.go
@@ -20,22 +20,20 @@ import (
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/gotk3/gotk3/gdk"
|
||||
"github.com/gotk3/gotk3/gtk"
|
||||
"github.com/diamondburned/gotk4/pkg/gdk/v3"
|
||||
"github.com/diamondburned/gotk4/pkg/gdkpixbuf/v2"
|
||||
"github.com/diamondburned/gotk4/pkg/gtk/v3"
|
||||
)
|
||||
|
||||
func wayland() bool {
|
||||
return os.Getenv("WAYLAND_DISPLAY") != "" || os.Getenv("XDG_SESSION_TYPE") == "wayland"
|
||||
}
|
||||
|
||||
func createPixbuf(icon string, size int) (*gdk.Pixbuf, error) {
|
||||
iconTheme, err := gtk.IconThemeGetDefault()
|
||||
if err != nil {
|
||||
log.Fatal("Couldn't get default theme: ", err)
|
||||
}
|
||||
func createPixbuf(icon string, size int) (*gdkpixbuf.Pixbuf, error) {
|
||||
iconTheme := gtk.IconThemeGetDefault()
|
||||
|
||||
if strings.Contains(icon, "/") {
|
||||
pixbuf, err := gdk.PixbufNewFromFileAtSize(icon, size, size)
|
||||
pixbuf, err := gdkpixbuf.NewPixbufFromFileAtSize(icon, size, size)
|
||||
if err != nil {
|
||||
log.Errorf("%s", err)
|
||||
return nil, err
|
||||
@@ -47,18 +45,18 @@ func createPixbuf(icon string, size int) (*gdk.Pixbuf, error) {
|
||||
icon = strings.Split(icon, ".")[0]
|
||||
}
|
||||
|
||||
pixbuf, err := iconTheme.LoadIcon(icon, size, gtk.ICON_LOOKUP_FORCE_SIZE)
|
||||
pixbuf, err := iconTheme.LoadIcon(icon, size, gtk.IconLookupForceSize)
|
||||
|
||||
if err != nil {
|
||||
if strings.HasPrefix(icon, "/") {
|
||||
pixbuf, err := gdk.PixbufNewFromFileAtSize(icon, size, size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
pixbuf, e := gdkpixbuf.NewPixbufFromFileAtSize(icon, size, size)
|
||||
if e != nil {
|
||||
return nil, e
|
||||
}
|
||||
return pixbuf, nil
|
||||
}
|
||||
|
||||
pixbuf, err := iconTheme.LoadIcon(icon, size, gtk.ICON_LOOKUP_FORCE_SIZE)
|
||||
pixbuf, err := iconTheme.LoadIcon(icon, size, gtk.IconLookupForceSize)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -581,19 +579,19 @@ func launch(command string, terminal bool, terminate bool) {
|
||||
}
|
||||
}
|
||||
|
||||
themeToPrepend := ""
|
||||
// add "GTK_THEME=<default_gtk_theme>" environment variable
|
||||
if *forceTheme {
|
||||
settings, _ := gtk.SettingsGetDefault()
|
||||
th, err := settings.GetProperty("gtk-theme-name")
|
||||
if err == nil {
|
||||
themeToPrepend = th.(string)
|
||||
}
|
||||
}
|
||||
|
||||
if themeToPrepend != "" {
|
||||
command = fmt.Sprintf("GTK_THEME=%q %s", themeToPrepend, command)
|
||||
}
|
||||
//themeToPrepend := ""
|
||||
// add "GTK_THEME=<default_gtk_theme>" environment variable TODO fix
|
||||
//if *forceTheme {
|
||||
// settings := gtk.SettingsGetDefault()
|
||||
// th, err := settings.GetProperty("gtk-theme-name")
|
||||
// if err == nil {
|
||||
// themeToPrepend = th.(string)
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//if themeToPrepend != "" {
|
||||
// command = fmt.Sprintf("GTK_THEME=%q %s", themeToPrepend, command)
|
||||
//}
|
||||
|
||||
var elements = []string{"/usr/bin/env", "-S", command}
|
||||
|
||||
@@ -684,14 +682,11 @@ func mapOutputs() (map[string]*gdk.Monitor, error) {
|
||||
err := listHyprlandMonitors()
|
||||
if err == nil {
|
||||
|
||||
display, err := gdk.DisplayGetDefault()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
display := gdk.DisplayGetDefault()
|
||||
|
||||
num := display.GetNMonitors()
|
||||
num := display.NMonitors()
|
||||
for i := 0; i < num; i++ {
|
||||
mon, _ := display.GetMonitor(i)
|
||||
mon := display.Monitor(i)
|
||||
output := hyprlandMonitors[i]
|
||||
result[output.Name] = mon
|
||||
}
|
||||
@@ -713,14 +708,14 @@ func mapOutputs() (map[string]*gdk.Monitor, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
display, err := gdk.DisplayGetDefault()
|
||||
display := gdk.DisplayGetDefault()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
num := display.GetNMonitors()
|
||||
num := display.NMonitors()
|
||||
for i := 0; i < num; i++ {
|
||||
mon, _ := display.GetMonitor(i)
|
||||
mon := display.Monitor(i)
|
||||
output := outputs[i]
|
||||
result[output.Name] = mon
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user