From af190ad2805a5737756b9c334b74d727135b0d92 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Sun, 3 Aug 2025 08:11:52 +0200 Subject: [PATCH] Extract methods suspend/resume on Gui struct These suspend/resume the gocui layer and pause/unpause background refreshes. --- pkg/gui/gui.go | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go index c02221c04..bfa0a392c 100644 --- a/pkg/gui/gui.go +++ b/pkg/gui/gui.go @@ -899,21 +899,36 @@ func (gui *Gui) runSubprocessWithSuspenseAndRefresh(subprocess *oscommands.CmdOb return nil } +func (gui *Gui) suspend() error { + if err := gui.g.Suspend(); err != nil { + return err + } + + gui.BackgroundRoutineMgr.PauseBackgroundRefreshes(true) + return nil +} + +func (gui *Gui) resume() error { + if err := gui.g.Resume(); err != nil { + return err + } + + gui.BackgroundRoutineMgr.PauseBackgroundRefreshes(false) + return nil +} + // returns whether command exited without error or not func (gui *Gui) runSubprocessWithSuspense(subprocess *oscommands.CmdObj) (bool, error) { gui.Mutexes.SubprocessMutex.Lock() defer gui.Mutexes.SubprocessMutex.Unlock() - if err := gui.g.Suspend(); err != nil { + if err := gui.suspend(); err != nil { return false, err } - gui.BackgroundRoutineMgr.PauseBackgroundRefreshes(true) - defer gui.BackgroundRoutineMgr.PauseBackgroundRefreshes(false) - cmdErr := gui.runSubprocess(subprocess) - if err := gui.g.Resume(); err != nil { + if err := gui.resume(); err != nil { return false, err }