From 6862711010f997315921ff8697fc9618ef7e00a5 Mon Sep 17 00:00:00 2001 From: piotr Date: Sat, 29 Jun 2024 02:32:27 +0200 Subject: [PATCH 1/4] add pbUseIconTheme flag #122 --- main.go | 36 +++++++++++++++++++++++++++++++----- uicomponents.go | 17 +++++++++++------ 2 files changed, 42 insertions(+), 11 deletions(-) diff --git a/main.go b/main.go index 692f8b2..96457e2 100644 --- a/main.go +++ b/main.go @@ -182,6 +182,7 @@ var pbPoweroff = flag.String("pbpoweroff", "", "command for the Poweroff power b var pbReboot = flag.String("pbreboot", "", "command for the Reboot power bar icon") var pbSleep = flag.String("pbsleep", "", "command for the sleep power bar icon") var pbSize = flag.Int("pbsize", 64, "power bar icon size") +var pbUseIconTheme = flag.Bool("pbuseicontheme", false, "use icon theme instead of built-in icons") var debug = flag.Bool("d", false, "Turn on Debug messages") func main() { @@ -624,27 +625,52 @@ func main() { powerBarWrapper.PackStart(powerButtonsWrapper, true, false, 12) if *pbPoweroff != "" { - btn := powerButton(filepath.Join(dataDirectory, "img/poweroff.svg"), *pbPoweroff) + btn, _ := gtk.ButtonNew() + if !*pbUseIconTheme { + btn = powerButton(filepath.Join(dataDirectory, "img/poweroff.svg"), *pbPoweroff) + } else { + btn = powerButton("system-shutdown-symbolic", *pbPoweroff) + } powerButtonsWrapper.PackEnd(btn, true, false, 0) firstPowerBtn = btn } if *pbSleep != "" { - btn := powerButton(filepath.Join(dataDirectory, "img/sleep.svg"), *pbSleep) + btn, _ := gtk.ButtonNew() + if !*pbUseIconTheme { + btn = powerButton(filepath.Join(dataDirectory, "img/sleep.svg"), *pbSleep) + } else { + btn = powerButton("face-yawn-symbolic", *pbSleep) + } powerButtonsWrapper.PackEnd(btn, true, false, 0) firstPowerBtn = btn } if *pbReboot != "" { - btn := powerButton(filepath.Join(dataDirectory, "img/reboot.svg"), *pbReboot) + btn, _ := gtk.ButtonNew() + if !*pbUseIconTheme { + btn = powerButton(filepath.Join(dataDirectory, "img/reboot.svg"), *pbReboot) + } else { + btn = powerButton("system-reboot-symbolic", *pbReboot) + } powerButtonsWrapper.PackEnd(btn, true, false, 0) firstPowerBtn = btn } if *pbExit != "" { - btn := powerButton(filepath.Join(dataDirectory, "img/exit.svg"), *pbExit) + btn, _ := gtk.ButtonNew() + if !*pbUseIconTheme { + btn = powerButton(filepath.Join(dataDirectory, "img/exit.svg"), *pbExit) + } else { + btn = powerButton("system-log-out-symbolic", *pbExit) + } powerButtonsWrapper.PackEnd(btn, true, false, 0) firstPowerBtn = btn } if *pbLock != "" { - btn := powerButton(filepath.Join(dataDirectory, "img/lock.svg"), *pbLock) + btn, _ := gtk.ButtonNew() + if !*pbUseIconTheme { + btn = powerButton(filepath.Join(dataDirectory, "img/lock.svg"), *pbLock) + } else { + btn = powerButton("system-lock-screen-symbolic", *pbLock) + } powerButtonsWrapper.PackEnd(btn, true, false, 0) firstPowerBtn = btn } diff --git a/uicomponents.go b/uicomponents.go index d5254ab..fc71085 100644 --- a/uicomponents.go +++ b/uicomponents.go @@ -298,19 +298,24 @@ func flowBoxButton(entry desktopEntry) *gtk.Button { return button } -func powerButton(iconPath, command string) *gtk.Button { +func powerButton(iconPathOrName, command string) *gtk.Button { button, _ := gtk.ButtonNew() button.SetAlwaysShowImage(true) var pixbuf *gdk.Pixbuf var img *gtk.Image var err error - pixbuf, err = gdk.PixbufNewFromFileAtSize(iconPath, *pbSize, *pbSize) - if err != nil { - pixbuf, _ = createPixbuf("unknown", *pbSize) - log.Warnf("Couldn't find icon %s", iconPath) + if !*pbUseIconTheme { + pixbuf, err = gdk.PixbufNewFromFileAtSize(iconPathOrName, *pbSize, *pbSize) + if err != nil { + pixbuf, _ = createPixbuf("unknown", *pbSize) + log.Warnf("Couldn't find icon %s", iconPathOrName) + } + img, _ = gtk.ImageNewFromPixbuf(pixbuf) + } else { + img, _ = gtk.ImageNewFromIconName(iconPathOrName, gtk.ICON_SIZE_DIALOG) } - img, _ = gtk.ImageNewFromPixbuf(pixbuf) + button.SetImage(img) button.SetImagePosition(gtk.POS_TOP) From c7a0b564c02d2c946cee6344f2b26a1f62c470da Mon Sep 17 00:00:00 2001 From: piotr Date: Sat, 29 Jun 2024 02:34:41 +0200 Subject: [PATCH 2/4] improve description --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index 96457e2..00f163b 100644 --- a/main.go +++ b/main.go @@ -182,7 +182,7 @@ var pbPoweroff = flag.String("pbpoweroff", "", "command for the Poweroff power b var pbReboot = flag.String("pbreboot", "", "command for the Reboot power bar icon") var pbSleep = flag.String("pbsleep", "", "command for the sleep power bar icon") var pbSize = flag.Int("pbsize", 64, "power bar icon size") -var pbUseIconTheme = flag.Bool("pbuseicontheme", false, "use icon theme instead of built-in icons") +var pbUseIconTheme = flag.Bool("pbuseicontheme", false, "use icon theme instead of built-in icons in power bar") var debug = flag.Bool("d", false, "Turn on Debug messages") func main() { From 071841da466dd8947a0f668856b1a8f0c24efcd5 Mon Sep 17 00:00:00 2001 From: piotr Date: Sat, 29 Jun 2024 02:38:43 +0200 Subject: [PATCH 3/4] bump to 0.4.9 --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index 00f163b..ed405a3 100644 --- a/main.go +++ b/main.go @@ -21,7 +21,7 @@ import ( "github.com/gotk3/gotk3/gtk" ) -const version = "0.4.8" +const version = "0.4.9" var ( appDirs []string From 3ffd09b5d79e148b1732213371220845dbad4334 Mon Sep 17 00:00:00 2001 From: piotr Date: Sat, 29 Jun 2024 02:40:01 +0200 Subject: [PATCH 4/4] add more desc --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index ed405a3..10beb7a 100644 --- a/main.go +++ b/main.go @@ -181,7 +181,7 @@ var pbLock = flag.String("pblock", "", "command for the Lock power bar icon") var pbPoweroff = flag.String("pbpoweroff", "", "command for the Poweroff power bar icon") var pbReboot = flag.String("pbreboot", "", "command for the Reboot power bar icon") var pbSleep = flag.String("pbsleep", "", "command for the sleep power bar icon") -var pbSize = flag.Int("pbsize", 64, "power bar icon size") +var pbSize = flag.Int("pbsize", 64, "power bar icon size (only works w/ built-in icons)") var pbUseIconTheme = flag.Bool("pbuseicontheme", false, "use icon theme instead of built-in icons in power bar") var debug = flag.Bool("d", false, "Turn on Debug messages")