diff --git a/moffy-samples-gtk4-run.cabal b/moffy-samples-gtk4-run.cabal
--- a/moffy-samples-gtk4-run.cabal
+++ b/moffy-samples-gtk4-run.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           moffy-samples-gtk4-run
-version:        0.2.0.0
+version:        0.2.1.0
 synopsis:       Package to run moffy samples - Gtk4 version
 description:    Please see the README on GitHub at <https://github.com/YoshikuniJujo/moffy-samples-gtk4-run#readme>
 category:       Control
diff --git a/src/Control/Moffy/Samples/Followbox/Run/Gtk4.hs b/src/Control/Moffy/Samples/Followbox/Run/Gtk4.hs
--- a/src/Control/Moffy/Samples/Followbox/Run/Gtk4.hs
+++ b/src/Control/Moffy/Samples/Followbox/Run/Gtk4.hs
@@ -5,8 +5,10 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# OPTIONS_GHC -Wall -fno-warn-tabs #-}
 
-module Control.Moffy.Samples.Followbox.Run.Gtk4 (runFollowbox) where
+module Control.Moffy.Samples.Followbox.Run.Gtk4 (
+	runFollowbox, runFollowbox' ) where
 
+import Control.Arrow
 import Control.Concurrent
 import Control.Moffy
 import Control.Moffy.Samples.Event.CalcTextExtents
@@ -38,6 +40,9 @@
 runFollowbox :: String -> Sig s FollowboxEv T.View () -> IO ()
 runFollowbox brws sig = runFollowbox_ brws Nothing $ viewToView <$%> sig
 
+runFollowbox' :: String -> Sig s FollowboxEv ([(Int, Area)], T.View) () -> IO ()
+runFollowbox' brws sig = runFollowbox_' brws Nothing $ (second viewToView) <$%> sig
+
 runFollowbox_ :: String -> Maybe GithubNameToken -> Sig s FollowboxEv View () -> IO ()
 runFollowbox_ brws tkn sig = do
 	va <- atomically $ newTVar M.empty
@@ -46,12 +51,31 @@
 	_ <- forkIO $ runFollowboxGen cer ceo va brws tkn cv (sig >> emit Stopped)
 	runSingleWin cer ceo cv
 
+runFollowbox_' :: String -> Maybe GithubNameToken -> Sig s FollowboxEv ([(Int, Area)], View) () -> IO ()
+runFollowbox_' brws tkn sig = do
+	va <- atomically $ newTVar M.empty
+	(cer, ceo, cv) <- atomically $
+		(,,) <$> newTChan <*> newTChan <*> newTChan
+	_ <- forkIO $ runFollowboxGen' cer ceo va brws tkn cv (sig >> emit ([], Stopped))
+	runSingleWin cer ceo cv
+
 runFollowboxGen ::
 	TChan (EvReqs (CalcTextExtents :- GuiEv)) -> TChan (EvOccs (CalcTextExtents :- GuiEv)) ->
 	TVar (M.Map Int (A.Point, A.Point)) -> String ->
 	Maybe GithubNameToken -> TChan x -> Sig s FollowboxEv x r -> IO r
 runFollowboxGen cr c va brs mgnt c' s = do
 	(r, _) <- interpretSt (handleFollowbox va (cr, c) brs mgnt) c' s (initialFollowboxState $ mkStdGen 8)
+	pure r
+
+type Area = (Point, Point)
+
+runFollowboxGen' ::
+	TChan (EvReqs (CalcTextExtents :- GuiEv)) -> TChan (EvOccs (CalcTextExtents :- GuiEv)) ->
+	TVar (M.Map Int (A.Point, A.Point)) -> String ->
+	Maybe GithubNameToken -> TChan x ->
+	Sig s FollowboxEv ([(Int, Area)], x) r -> IO r
+runFollowboxGen' cr c va brs mgnt c' s = do
+	(r, _) <- interpretSt' (handleFollowbox va (cr, c) brs mgnt) va c' s (initialFollowboxState $ mkStdGen 8)
 	pure r
 
 handleFollowbox :: TVar (M.Map Int (A.Point, A.Point)) ->
