2020# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2121# SOFTWARE.
2222
23- __all__ = ['TTkTerm ' ]
23+ __all__ = ['_TTkTerm ' ]
2424
2525import sys , os , signal
2626from threading import Thread , Lock
3333from ..TTkTerm .term_base import TTkTermBase
3434from TermTk .TTkCore .log import TTkLog
3535
36- class TTkTerm (TTkTermBase ):
36+ class _TTkTerm (TTkTermBase ):
3737 _sigWinChCb = None
3838
3939 # Save treminal attributes during the initialization in order to
@@ -47,46 +47,20 @@ class TTkTerm(TTkTermBase):
4747 _termAttrBk = []
4848 @staticmethod
4949 def saveTermAttr ():
50- TTkTerm ._termAttrBk .append (termios .tcgetattr (sys .stdin ))
50+ _TTkTerm ._termAttrBk .append (termios .tcgetattr (sys .stdin ))
5151
5252 @staticmethod
5353 def restoreTermAttr ():
54- if TTkTerm ._termAttrBk :
55- termios .tcsetattr (sys .stdin , termios .TCSADRAIN , TTkTerm ._termAttrBk .pop ())
56- elif TTkTerm ._termAttr :
57- termios .tcsetattr (sys .stdin , termios .TCSADRAIN , TTkTerm ._termAttr )
58-
59- @staticmethod
60- def _setSigmask (mask , value = True ):
61- attr = termios .tcgetattr (sys .stdin )
62- if mask & TTkTerm .Sigmask .CTRL_C :
63- attr [6 ][termios .VINTR ]= b'\x03 ' if value else 0
64- if mask & TTkTerm .Sigmask .CTRL_S :
65- attr [6 ][termios .VSTOP ]= b'\x13 ' if value else 0
66- if mask & TTkTerm .Sigmask .CTRL_Z :
67- attr [6 ][termios .VSUSP ]= b'\x1a ' if value else 0
68- if mask & TTkTerm .Sigmask .CTRL_Q :
69- attr [6 ][termios .VSTART ]= b'\x11 ' if value else 0
70- if mask & TTkTerm .Sigmask .CTRL_Y :
71- attr [6 ][termios .VDSUSP ]= b'\x19 ' if value else 0
72- termios .tcsetattr (sys .stdin , termios .TCSADRAIN , attr )
73- TTkTermBase .setSigmask = _setSigmask
74-
75- @staticmethod
76- def getSigmask ():
77- mask = 0x00
78- attr = termios .tcgetattr (sys .stdin )
79- mask |= TTkTerm .Sigmask .CTRL_C if attr [6 ][termios .VINTR ] else 0
80- mask |= TTkTerm .Sigmask .CTRL_S if attr [6 ][termios .VSTOP ] else 0
81- mask |= TTkTerm .Sigmask .CTRL_Z if attr [6 ][termios .VSUSP ] else 0
82- mask |= TTkTerm .Sigmask .CTRL_Q if attr [6 ][termios .VSTART ] else 0
83- return mask
54+ if _TTkTerm ._termAttrBk :
55+ termios .tcsetattr (sys .stdin , termios .TCSADRAIN , _TTkTerm ._termAttrBk .pop ())
56+ elif _TTkTerm ._termAttr :
57+ termios .tcsetattr (sys .stdin , termios .TCSADRAIN , _TTkTerm ._termAttr )
8458
8559 @staticmethod
8660 def exit ():
8761 TTkTermBase .exit ()
88- if TTkTerm ._termAttr :
89- termios .tcsetattr (sys .stdin , termios .TCSADRAIN , TTkTerm ._termAttr )
62+ if _TTkTerm ._termAttr :
63+ termios .tcsetattr (sys .stdin , termios .TCSADRAIN , _TTkTerm ._termAttr )
9064
9165 @staticmethod
9266 def _push (* args ):
@@ -136,21 +110,21 @@ def _getTerminalSize():
136110
137111 @staticmethod
138112 def _sigWinChThreaded ():
139- if not TTkTerm ._sigWinChMutex .acquire (blocking = False ): return
140- while (TTkTerm .width , TTkTerm .height ) != (wh := TTkTerm .getTerminalSize ()):
141- TTkTerm .width , TTkTerm .height = wh
142- if TTkTerm ._sigWinChCb is not None :
143- TTkTerm ._sigWinChCb (TTkTerm .width , TTkTerm .height )
144- TTkTerm ._sigWinChMutex .release ()
113+ if not _TTkTerm ._sigWinChMutex .acquire (blocking = False ): return
114+ while (_TTkTerm .width , _TTkTerm .height ) != (wh := _TTkTerm .getTerminalSize ()):
115+ _TTkTerm .width , _TTkTerm .height = wh
116+ if _TTkTerm ._sigWinChCb is not None :
117+ _TTkTerm ._sigWinChCb (_TTkTerm .width , _TTkTerm .height )
118+ _TTkTerm ._sigWinChMutex .release ()
145119
146120 @staticmethod
147121 def _sigWinCh (signum , frame ):
148- Thread (target = TTkTerm ._sigWinChThreaded ).start ()
122+ Thread (target = _TTkTerm ._sigWinChThreaded ).start ()
149123
150124 @staticmethod
151125 def _registerResizeCb (callback ):
152- TTkTerm ._sigWinChCb = callback
126+ _TTkTerm ._sigWinChCb = callback
153127 # Dummy call to retrieve the terminal size
154- TTkTerm ._sigWinCh (signal .SIGWINCH , None )
155- signal .signal (signal .SIGWINCH , TTkTerm ._sigWinCh )
128+ _TTkTerm ._sigWinCh (signal .SIGWINCH , None )
129+ signal .signal (signal .SIGWINCH , _TTkTerm ._sigWinCh )
156130 TTkTermBase .registerResizeCb = _registerResizeCb
0 commit comments