6 Commits

Author SHA1 Message Date
piotr
f3b3635bd8 trim comments > 120 chars #61 2022-05-08 01:43:16 +02:00
nwg-piotr
bb84a2fc46 remove accidental binary 2022-04-13 11:36:19 +02:00
Piotr Miller
93587a47db Merge pull request #60 from nwg-piotr/dark
prefer dark theme
2022-04-13 11:22:15 +02:00
nwg-piotr
afe99b42f0 prefer dark theme 2022-04-13 11:14:50 +02:00
Piotr Miller
e052a86b12 Merge pull request #58 from jovanlanik/main
Support for changing GTK theme
2022-03-18 02:06:06 +01:00
Jovan Lanik
45cb286296 Add support for changing GTK theme 2022-03-13 21:58:42 +01:00
4 changed files with 23 additions and 1 deletions

1
.gitignore vendored
View File

@@ -13,6 +13,7 @@
# Binaries built with make # Binaries built with make
bin bin
nwg-drawer
# Dependency directories (remove the comment below to include it) # Dependency directories (remove the comment below to include it)
# vendor/ # vendor/

View File

@@ -66,6 +66,8 @@ Usage of nwg-drawer:
File Search result COLumns (default 2) File Search result COLumns (default 2)
-fslen int -fslen int
File Search name LENgth Limit (default 80) File Search name LENgth Limit (default 80)
-g string
GTK theme name, eg. "Adwaita-dark"
-is int -is int
Icon Size (default 64) Icon Size (default 64)
-lang string -lang string

16
main.go
View File

@@ -21,7 +21,7 @@ import (
"github.com/gotk3/gotk3/gtk" "github.com/gotk3/gotk3/gtk"
) )
const version = "0.2.8" const version = "0.3.0"
var ( var (
appDirs []string appDirs []string
@@ -119,6 +119,7 @@ var cssFileName = flag.String("s", "drawer.css", "Styling: css file name")
var targetOutput = flag.String("o", "", "name of the Output to display the drawer on (sway only)") var targetOutput = flag.String("o", "", "name of the Output to display the drawer on (sway only)")
var displayVersion = flag.Bool("v", false, "display Version information") var displayVersion = flag.Bool("v", false, "display Version information")
var overlay = flag.Bool("ovl", false, "use OVerLay layer") var overlay = flag.Bool("ovl", false, "use OVerLay layer")
var gtkTheme = flag.String("g", "", "GTK theme name")
var iconSize = flag.Int("is", 64, "Icon Size") var iconSize = flag.Int("is", 64, "Icon Size")
var marginTop = flag.Int("mt", 0, "Margin Top") var marginTop = flag.Int("mt", 0, "Margin Top")
var marginLeft = flag.Int("ml", 0, "Margin Left") var marginLeft = flag.Int("ml", 0, "Margin Left")
@@ -302,6 +303,19 @@ func main() {
// USER INTERFACE // USER INTERFACE
gtk.Init(nil) gtk.Init(nil)
settings, _ := gtk.SettingsGetDefault()
if *gtkTheme != "" {
err = settings.SetProperty("gtk-theme-name", *gtkTheme)
if err != nil {
log.Error("Unable to set theme:", err)
} else {
log.Infof("User demanded theme: %s", *gtkTheme)
}
} else {
settings.SetProperty("gtk-application-prefer-dark-theme", true)
log.Info("Preferring dark theme variants")
}
cssProvider, _ := gtk.CssProviderNew() cssProvider, _ := gtk.CssProviderNew()
err = cssProvider.LoadFromPath(*cssFileName) err = cssProvider.LoadFromPath(*cssFileName)

View File

@@ -258,6 +258,11 @@ func flowBoxButton(entry desktopEntry) *gtk.Button {
exec := entry.Exec exec := entry.Exec
terminal := entry.Terminal terminal := entry.Terminal
desc := entry.CommentLoc desc := entry.CommentLoc
if len(desc) > 120 {
r := []rune(desc)
desc = string(r[:117])
desc = fmt.Sprintf("%s…", desc)
}
button.Connect("button-release-event", func(btn *gtk.Button, e *gdk.Event) bool { button.Connect("button-release-event", func(btn *gtk.Button, e *gdk.Event) bool {
btnEvent := gdk.EventButtonNewFromEvent(e) btnEvent := gdk.EventButtonNewFromEvent(e)
if btnEvent.Button() == 1 { if btnEvent.Button() == 1 {