diff --git a/input.go b/input.go index 9c44d95..a3ac67c 100644 --- a/input.go +++ b/input.go @@ -145,12 +145,8 @@ func (server *Server) addKeyboard(dev wlr.InputDevice) { wkb.SetKeymap(keymap) wkb.SetRepeatInfo(25, 600) - kb.onModifiersListener = wkb.OnModifiers(func(k wlr.Keyboard) { - server.onKeyboardModifiers(&kb) - }) - kb.onKeyListener = wkb.OnKey(func(k wlr.Keyboard, t time.Time, code uint32, update bool, state wlr.KeyState) { - server.onKeyboardKey(&kb, code, update, state, t) - }) + kb.onModifiersListener = wkb.OnModifiers((k) => { server.onKeyboardModifiers(&kb) }) + kb.onKeyListener = wkb.OnKey((k, t, code, update, state) => { server.onKeyboardKey(&kb, code, update, state, t) }) server.seat.SetKeyboard(dev) server.keyboards = append(server.keyboards, &kb) diff --git a/output.go b/output.go index 660737c..5f78353 100644 --- a/output.go +++ b/output.go @@ -41,9 +41,7 @@ func (server *Server) onNewOutput(wout wlr.Output) { out := Output{ Output: wout, } - out.onFrameListener = wout.OnFrame(func(wout wlr.Output) { - server.onFrame(&out) - }) + out.onFrameListener = wout.OnFrame((wout) => { server.onFrame(&out) }) server.addOutput(&out) wout.Commit() diff --git a/render.go b/render.go index bdc9599..f2396a1 100644 --- a/render.go +++ b/render.go @@ -113,7 +113,7 @@ func (server *Server) renderSelectionBox(out *Output, r geom.Rect[float64], t ti } func (server *Server) renderViewSurfaces(out *Output, view *View, t time.Time) { - view.ForEachSurface(func(s wlr.Surface, x, y int) { + view.ForEachSurface((s, x, y) => { p := geom.Pt(x, y) server.renderSurface(out, s, geom.PConv[int](view.Coords).Add(p), t) }) diff --git a/server.go b/server.go index e5408e2..2045cd1 100644 --- a/server.go +++ b/server.go @@ -128,9 +128,7 @@ func (server *Server) exec(to *geom.Rect[float64]) { server.newViews[cmd.Process.Pid] = NewView{ To: to, - OnStarted: func(view *View) { - server.startBorderResizeFrom(view, wlr.EdgeNone, *to) - }, + OnStarted: (view) => { server.startBorderResizeFrom(view, wlr.EdgeNone, *to) }, } } @@ -164,33 +162,29 @@ func (server *Server) onMainMenuNew() { } func (server *Server) onMainMenuResize() { - server.startSelectView(wlr.BtnRight, func(view *View) { - server.startResize(view) - }) + server.startSelectView(wlr.BtnRight, server.startResize) } func (server *Server) onMainMenuTile() { - server.startSelectView(wlr.BtnRight, func(view *View) { + server.startSelectView(wlr.BtnRight, (view) => { server.toggleViewTiling(view) server.startNormal() }) } func (server *Server) onMainMenuMove() { - server.startSelectView(wlr.BtnRight, func(view *View) { - server.startMove(view) - }) + server.startSelectView(wlr.BtnRight, server.startMove) } func (server *Server) onMainMenuClose() { - server.startSelectView(wlr.BtnRight, func(view *View) { + server.startSelectView(wlr.BtnRight, (view) => { server.closeView(view) server.startNormal() }) } func (server *Server) onMainMenuHide() { - server.startSelectView(wlr.BtnRight, func(view *View) { + server.startSelectView(wlr.BtnRight, (view) => { server.hideView(view) server.startNormal() }) diff --git a/surface.go b/surface.go index bec7f69..6217fb2 100644 --- a/surface.go +++ b/surface.go @@ -38,7 +38,7 @@ func (s *viewSurfaceXDG) PID() int { } func (s *viewSurfaceXDG) HasSurface(surface wlr.Surface) (has bool) { - s.ForEachSurface(func(s wlr.Surface, x, y int) { + s.ForEachSurface((s, x, y) => { if s == surface { has = true } @@ -106,7 +106,7 @@ func (s *viewSurfaceXWayland) PID() int { } func (s *viewSurfaceXWayland) HasSurface(surface wlr.Surface) (has bool) { - s.ForEachSurface(func(s wlr.Surface, x, y int) { + s.ForEachSurface((s, x, y) => { if s == surface { has = true } diff --git a/view.go b/view.go index 4f677b2..6484a4d 100644 --- a/view.go +++ b/view.go @@ -81,7 +81,7 @@ func (d *Decoration) Release() { func (server *Server) viewBounds(out *Output, view *View) geom.Rect[int] { var r geom.Rect[int] - view.ForEachSurface(func(s wlr.Surface, sx, sy int) { + view.ForEachSurface((s, sx, sy) => { if server.isPopupSurface(s) { return } @@ -198,29 +198,17 @@ func (server *Server) onNewXWaylandSurface(surface wlr.XWaylandSurface) { ViewSurface: &viewSurfaceXWayland{s: surface}, Coords: geom.Pt[float64](-1, -1), } - view.onDestroyListener = surface.OnDestroy(func(s wlr.XWaylandSurface) { - server.onDestroyView(&view) - }) - view.onMapListener = surface.OnMap(func(s wlr.XWaylandSurface) { - server.onMapView(&view) - }) - view.onRequestMoveListener = surface.OnRequestMove(func(s wlr.XWaylandSurface) { - server.startMove(&view) - }) - view.onRequestResizeListener = surface.OnRequestResize(func(s wlr.XWaylandSurface, edges wlr.Edges) { + view.onDestroyListener = surface.OnDestroy((s) => { server.onDestroyView(&view) }) + view.onMapListener = surface.OnMap((s) => { server.onMapView(&view) }) + view.onRequestMoveListener = surface.OnRequestMove((s) => { server.startMove(&view) }) + view.onRequestResizeListener = surface.OnRequestResize((s, edges) => { if !server.isViewTiled(&view) { server.startBorderResize(&view, edges) } }) - view.onRequestMinimizeListener = surface.OnRequestMinimize(func(s wlr.XWaylandSurface) { - server.hideView(&view) - }) - view.onRequestMaximizeListener = surface.OnRequestMaximize(func(s wlr.XWaylandSurface) { - server.toggleViewTiling(&view) - }) - view.onSetTitleListener = surface.OnSetTitle(func(s wlr.XWaylandSurface, title string) { - server.updateTitles() - }) + view.onRequestMinimizeListener = surface.OnRequestMinimize((s) => { server.hideView(&view) }) + view.onRequestMaximizeListener = surface.OnRequestMaximize((s) => { server.toggleViewTiling(&view) }) + view.onSetTitleListener = surface.OnSetTitle((s, title) => { server.updateTitles() }) server.addView(&view) } @@ -240,16 +228,14 @@ func (server *Server) addXDGPopup(surface wlr.XDGSurface) { p := Popup{ Surface: surface, } - p.onDestroyListener = surface.OnDestroy(func(s wlr.XDGSurface) { - server.onDestroyPopup(&p) - }) + p.onDestroyListener = surface.OnDestroy((s) => { server.onDestroyPopup(&p) }) server.popups = append(server.popups, &p) } func (server *Server) isPopupSurface(surface wlr.Surface) (ok bool) { for _, p := range server.popups { - p.Surface.ForEachSurface(func(s wlr.Surface, sx, sy int) { + p.Surface.ForEachSurface((s, sx, sy) => { if s == surface { ok = true } @@ -273,29 +259,17 @@ func (server *Server) addXDGTopLevel(surface wlr.XDGSurface) { ViewSurface: &viewSurfaceXDG{s: surface}, Coords: geom.Pt[float64](-1, -1), } - view.onDestroyListener = surface.OnDestroy(func(s wlr.XDGSurface) { - server.onDestroyView(&view) - }) - view.onMapListener = surface.OnMap(func(s wlr.XDGSurface) { - server.onMapView(&view) - }) - view.onRequestMoveListener = surface.TopLevel().OnRequestMove(func(t wlr.XDGTopLevel, client wlr.SeatClient, serial uint32) { - server.startMove(&view) - }) - view.onRequestResizeListener = surface.TopLevel().OnRequestResize(func(t wlr.XDGTopLevel, client wlr.SeatClient, serial uint32, edges wlr.Edges) { + view.onDestroyListener = surface.OnDestroy((s) => { server.onDestroyView(&view) }) + view.onMapListener = surface.OnMap((s) => { server.onMapView(&view) }) + view.onRequestMoveListener = surface.TopLevel().OnRequestMove((t, client, serial) => { server.startMove(&view) }) + view.onRequestResizeListener = surface.TopLevel().OnRequestResize((t, client, serial, edges) => { if !server.isViewTiled(&view) { server.startBorderResize(&view, edges) } }) - view.onRequestMinimizeListener = surface.TopLevel().OnRequestMinimize(func(t wlr.XDGTopLevel) { - server.hideView(&view) - }) - view.onRequestMaximizeListener = surface.TopLevel().OnRequestMaximize(func(t wlr.XDGTopLevel) { - server.toggleViewTiling(&view) - }) - view.onSetTitleListener = surface.TopLevel().OnSetTitle(func(t wlr.XDGTopLevel, title string) { - server.updateTitles() - }) + view.onRequestMinimizeListener = surface.TopLevel().OnRequestMinimize((t) => { server.hideView(&view) }) + view.onRequestMaximizeListener = surface.TopLevel().OnRequestMaximize((t) => { server.toggleViewTiling(&view) }) + view.onSetTitleListener = surface.TopLevel().OnSetTitle((t, title) => { server.updateTitles() }) server.addView(&view) } @@ -473,9 +447,7 @@ func (server *Server) hideView(view *View) { view.SetMinimized(true) item := NewTextMenuItem(server.renderer, view.Title()) - item.OnSelect = func() { - server.unhideView(view) - } + item.OnSelect = () => { server.unhideView(view) } server.mainMenu.Add(item) } @@ -560,12 +532,8 @@ func (server *Server) onNewDecoration(dm wlr.ServerDecorationManager, d wlr.Serv deco := Decoration{ Decoration: d, } - deco.onDestroyListener = d.OnDestroy(func(d wlr.ServerDecoration) { - server.onDestroyDecoration(&deco) - }) - deco.onModeListener = d.OnMode(func(d wlr.ServerDecoration) { - server.updateCSDs() - }) + deco.onDestroyListener = d.OnDestroy((d) => { server.onDestroyDecoration(&deco) }) + deco.onModeListener = d.OnMode((d) => { server.updateCSDs() }) server.decorations = append(server.decorations, &deco) server.updateCSDs() @@ -588,7 +556,7 @@ func (server *Server) updateCSDs() { func (server *Server) isCSDSurface(surface wlr.Surface) (ok bool) { for _, d := range server.decorations { - d.Decoration.Surface().ForEachSurface(func(s wlr.Surface, sx, sy int) { + d.Decoration.Surface().ForEachSurface((s, sx, sy) => { if s == surface { ok = true }