summaryrefslogtreecommitdiff
path: root/Omni/Log/Terminal.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Log/Terminal.hs')
-rw-r--r--Omni/Log/Terminal.hs22
1 files changed, 6 insertions, 16 deletions
diff --git a/Omni/Log/Terminal.hs b/Omni/Log/Terminal.hs
index 1230eb3..6d5d70c 100644
--- a/Omni/Log/Terminal.hs
+++ b/Omni/Log/Terminal.hs
@@ -16,9 +16,8 @@ import qualified System.Console.ANSI as ANSI
import qualified System.Environment as Env
data OutputMode
- = RichMultiLine -- Wide terminals (≥80 cols)
- | SingleLine -- Narrow terminals (40-79 cols)
- | SimpleFallback -- Very narrow (<40) or dumb terminals
+ = MultiLine -- Wide terminals (≥80 cols) - reserved lines per namespace
+ | SingleLine -- Narrow terminals (<80 cols) - rotating single line
deriving (Eq, Show)
data TerminalInfo = TerminalInfo
@@ -33,7 +32,6 @@ detectTerminal :: IO TerminalInfo
detectTerminal = do
term <- Env.lookupEnv "TERM"
area <- Env.lookupEnv "AREA"
- modeOverride <- Env.lookupEnv "BILD_OUTPUT_MODE"
-- Check if we support ANSI
let supportsANSI = case (term, area) of
@@ -48,19 +46,11 @@ detectTerminal = do
Just (h, w) -> (w, h)
Nothing -> (80, 24) -- sensible default
- -- Determine mode
- let autoMode
- | not supportsANSI = SimpleFallback
- | width < 40 = SimpleFallback
+ -- Determine mode based on terminal width
+ let mode
+ | not supportsANSI = SingleLine -- Fallback to single line for dumb terminals
| width < 80 = SingleLine
- | otherwise = RichMultiLine
-
- -- Allow manual override
- let mode = case modeOverride of
- Just "simple" -> SimpleFallback
- Just "single" -> SingleLine
- Just "rich" -> RichMultiLine
- _ -> autoMode
+ | otherwise = MultiLine
pure
TerminalInfo