python类is_term_resized()的实例源码

cursesutil.py 文件源码 项目:webnuke 作者: bugbound 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get_screen(self):
        self.screen = curses.initscr()

        curses.start_color()
        curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)
        curses.init_pair(2, curses.COLOR_GREEN, curses.COLOR_BLACK)

        if self.x == 0:
            starty, startx = self.screen.getmaxyx()
            self.x = startx
            self.y = starty

        resize = curses.is_term_resized(self.y, self.x)

        # Action in loop if resize is True:
        if resize is True:
            y, x = self.screen.getmaxyx()
            self.screen.clear()
            curses.resizeterm(self.y, self.x)
            self.screen.refresh()


        self.show_header()

        return self.screen
edit.py 文件源码 项目:notex 作者: adiultra 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def resize(self):
        """Handle window resizing."""
        if curses.is_term_resized(self.max_win_size_y, self.max_win_size_x):
            self.win_init()
            self.box_init()
            self.text = [self._text_wrap(i) for i in self.text]
            curses.resizeterm(self.max_win_size_y, self.max_win_size_x)
DSwin.py 文件源码 项目:Otop 作者: fcbarclo 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def WinCgetch(self):
        kp = -1
        while kp==-1:
            kp = self.VWscreen.getch()  
            ScrResized = curses.is_term_resized(self.scrsize[0],self.scrsize[1])
            if ScrResized:
                try:
                    y,x = self.VWscreen.getmaxyx()

                                minY = self.ScreenMinY
                                minX = self.ScreenMinX
                                bestY = self.ScreenFullY
                                bestX = self.ScreenFullX

                                if (y<minY) | (x<minX): # check resized  size
                        self.VWscreen.clear()
                        self.VWscreen.refresh()
                        curses.resizeterm(self.scrsize[0],self.scrsize[1]) # reset to original size
                        self.VWscreen.clear()
                        self.VWscreen.refresh()

                        curses.flash()
                        self.WinPrintError("Screen size not valid.  ")
                        time.sleep(1)
                        self.PRG_EXIT_SCR_SIZE = 1
                                curses.ungetch(27) # push ESC key to main loop: exit from program
                                else:   # set new size
                                        if (y>= bestY) and (x>=bestX):
                                                self.ScreenFullSize = 1
                        else:
                                                self.ScreenFullSize = 0

                        self.VWscreen.clear()
                        curses.resizeterm(y, x)

                        self.scrsize = []
                        self.scrsize = (y,x)

                        self.WinRefreshScr()

                except Exception as err:
                    self.WinPrintError("Error resizing screen... "+str(err)+ "       " )
        return(kp)


问题


面经


文章

微信
公众号

扫码关注公众号