check if window scrolled #110

This commit is contained in:
piotr
2024-02-06 03:21:42 +01:00
parent 631b651eed
commit 6b39eba14c
2 changed files with 19 additions and 2 deletions

10
main.go
View File

@@ -32,6 +32,7 @@ var (
preferredApps map[string]interface{} preferredApps map[string]interface{}
exclusions []string exclusions []string
hyprlandMonitors []monitor hyprlandMonitors []monitor
beenScrolled bool
) )
var categoryNames = [...]string{ var categoryNames = [...]string{
@@ -518,6 +519,15 @@ func main() {
resultWindow.SetEvents(int(gdk.ALL_EVENTS_MASK)) resultWindow.SetEvents(int(gdk.ALL_EVENTS_MASK))
resultWindow.SetPolicy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) resultWindow.SetPolicy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
vAdj := resultWindow.GetVAdjustment()
vAdj.Connect("value-changed", func() {
beenScrolled = true
})
hAdj := resultWindow.GetVAdjustment()
hAdj.Connect("value-changed", func() {
beenScrolled = true
})
resultWindow.Connect("button-release-event", func(_ *gtk.ScrolledWindow, event *gdk.Event) bool { resultWindow.Connect("button-release-event", func(_ *gtk.ScrolledWindow, event *gdk.Event) bool {
btnEvent := gdk.EventButtonNewFromEvent(event) btnEvent := gdk.EventButtonNewFromEvent(event)
if btnEvent.Button() == 3 { if btnEvent.Button() == 3 {

View File

@@ -264,11 +264,18 @@ func flowBoxButton(entry desktopEntry) *gtk.Button {
r := substring(desc, 0, 117) r := substring(desc, 0, 117)
desc = fmt.Sprintf("%s…", string(r)) desc = fmt.Sprintf("%s…", string(r))
} }
button.Connect("button-press-event", func() {
beenScrolled = false
})
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 {
launch(exec, terminal) if !beenScrolled {
return true launch(exec, terminal)
return true
}
} else if btnEvent.Button() == 3 { } else if btnEvent.Button() == 3 {
pinItem(ID) pinItem(ID)
return true return true