module System.Terminal.Emulator.DECPrivateMode ( DECPrivateMode (..), intToDECPrivateMode, ) where data DECPrivateMode = -- | @1@ -- -- @DECSET@: Application Cursor Keys (DECCKM) -- -- @DECRST@: Normal Cursor Keys (DECCKM) DECCKM | -- | @2@ -- -- @DECSET@: Designate USASCII for character sets G0-G3 (DECANM), and set VT100 mode. -- -- @DECRST@: Designate VT52 mode (DECANM). DECANM | -- | @3@ -- -- @DECSET@: 132 Column Mode (DECCOLM) -- -- @DECRST@: 0 Column Mode (DECCOLM) DECCOLM | -- | @4@ -- -- @DECSET@: Smooth (Slow) Scroll (DECSCLM) -- -- @DECRST@: Jump (Fast) Scroll (DECSCLM) DECSCLM | -- | @5@ -- -- @DECSET@: Reverse Video (DECSCNM) -- -- @DECRST@: Normal Video (DECSCNM) DECSCNM | -- | @6@ -- -- @DECSET@: Origin Mode (DECOM) -- -- @DECRST@: Normal Cursor Mode (DECOM) DECOM | -- | @7@ -- -- @DECSET@: Wraparound Mode (DECAWM) -- -- @DECRST@: No Wraparound Mode (DECAWM) DECAWM | -- | @8@ -- -- @DECSET@: Auto-repeat Keys (DECARM) -- -- @DECRST@: No Auto-repeat Keys (DECARM) DECARM | -- | @9@ -- -- @DECSET@: Send Mouse X & Y on button press. See the section Mouse Tracking. -- -- @DECRST@: Don’t Send Mouse X & Y on button press X10MouseCompatibilityMode | -- | @12@ -- -- @DECSET@: Start Blinking Cursor (att610) -- -- @DECRST@: Stop Blinking Cursor (att610) Att610 | -- | @18@ -- -- @DECSET@: Print form feed (DECPFF) -- -- @DECRST@: Don’t print form feed (DECPFF) DECPFF | -- | @19@ -- -- @DECSET@: Set print extent to full screen (DECPEX) -- -- @DECRST@: Limit print to scrolling region (DECPEX) DECPEX | -- | @25@ -- -- @DECSET@: Show Cursor (DECTCEM) -- -- @DECRST@: Hide Cursor (DECTCEM) DECTCEM | -- | @42@ -- -- @DECSET@: Enable Nation Replacement Character sets (DECNRCM) -- -- @DECRST@: Disable Nation Replacement Character sets (DECNRCM) DECNRCM | -- | @1000@ -- -- @DECSET@: Send Mouse X & Y on button press and release. See the section Mouse Tracking. -- -- @DECRST@: Don’t Send Mouse X & Y on button press and release. See the section Mouse Tracking. ReportButtonPress | -- | @1001@ -- -- @DECSET@: Use Hilite Mouse Tracking -- -- @DECRST@: Don’t Use Hilite Mouse Tracking MouseHighlightMode | -- | @1002@ -- -- @DECSET@: Use Cell Motion Mouse Tracking. -- -- @DECRST@: Don’t Use Cell Motion Mouse Tracking ReportMotionOnButtonPress | -- | @1003@ -- -- @DECSET@: Use All Motion Mouse Tracking. -- -- @DECRST@: Don’t Use All Motion Mouse Tracking EnableAllMouseMotions | -- | @47@ / @1047@ -- -- @DECSET@: Use Alternate Screen Buffer (unless disabled by the titeInhibit resource) -- -- @DECRST@: Use Normal Screen Buffer, clearing screen first if in the Alternate Screen (unless disabled by the titeInhibit resource) UseAlternateScreenBuffer | -- | @1048@ -- -- @DECSET@: Save cursor as in DECSC (unless disabled by the titeInhibit resource) -- -- @DECRST@: Restore cursor as in DECRC (unless disabled by the titeInhibit resource) SaveCursorAsInDECSC | -- | @1049@ -- -- @DECSET@: Save cursor as in DECSC and use Alternate Screen Buffer, clearing it first (unless disabled by the titeInhibit resource). This combines the effects of the 1047 and 1048 modes. Use this with terminfo-based applications rather than the 47 mode. -- -- @DECRST@: Use Normal Screen Buffer and restore cursor as in DECRC (unless disabled by the titeInhibit resource). This combines the effects of the 1047 and 1048 modes. Use this with terminfo-based applications rather than the 47 mode. SaveCursorAsInDECSCAndUseAlternateScreenBuffer | -- | @2004@ -- -- @DECSET@: Set bracketed paste mode. -- -- @DECRST@: Reset bracketed paste mode. BracketedPasteMode deriving (Show, Eq, Ord, Enum, Bounded) intToDECPrivateMode :: Int -> Maybe DECPrivateMode intToDECPrivateMode 1 = Just DECCKM intToDECPrivateMode 2 = Just DECANM intToDECPrivateMode 3 = Just DECCOLM intToDECPrivateMode 4 = Just DECSCLM intToDECPrivateMode 5 = Just DECSCNM intToDECPrivateMode 6 = Just DECOM intToDECPrivateMode 7 = Just DECAWM intToDECPrivateMode 8 = Just DECARM intToDECPrivateMode 9 = Just X10MouseCompatibilityMode intToDECPrivateMode 12 = Just Att610 intToDECPrivateMode 18 = Just DECPFF intToDECPrivateMode 19 = Just DECPEX intToDECPrivateMode 25 = Just DECTCEM intToDECPrivateMode 42 = Just DECNRCM intToDECPrivateMode 1000 = Just ReportButtonPress intToDECPrivateMode 1001 = Just MouseHighlightMode intToDECPrivateMode 1002 = Just ReportMotionOnButtonPress intToDECPrivateMode 1003 = Just EnableAllMouseMotions intToDECPrivateMode 47 = Just UseAlternateScreenBuffer intToDECPrivateMode 1047 = Just UseAlternateScreenBuffer intToDECPrivateMode 1048 = Just SaveCursorAsInDECSC intToDECPrivateMode 1049 = Just SaveCursorAsInDECSCAndUseAlternateScreenBuffer intToDECPrivateMode 2004 = Just BracketedPasteMode intToDECPrivateMode _ = Nothing