Current Dir: /snap/core22/2437/usr/lib/python3/dist-packages/urwid/__pycache__/

[FILE] canvas.cpython-310.pyc [ edit | delete | rename ]
[FILE] command_map.cpython-310.pyc [ edit | delete | rename ]
[FILE] compat.cpython-310.pyc [ edit | delete | rename ]
[FILE] container.cpython-310.pyc [ edit | delete | rename ]
[FILE] curses_display.cpython-310.pyc [ edit | delete | rename ]
[FILE] decoration.cpython-310.pyc [ edit | delete | rename ]
[FILE] display_common.cpython-310.pyc [ edit | delete | rename ]
[FILE] escape.cpython-310.pyc [ edit | delete | rename ]
[FILE] font.cpython-310.pyc [ edit | delete | rename ]
[FILE] graphics.cpython-310.pyc [ edit | delete | rename ]
[FILE] html_fragment.cpython-310.pyc [ edit | delete | rename ]
[FILE] lcd_display.cpython-310.pyc [ edit | delete | rename ]
[FILE] listbox.cpython-310.pyc [ edit | delete | rename ]
[FILE] main_loop.cpython-310.pyc [ edit | delete | rename ]
[FILE] monitored_list.cpython-310.pyc [ edit | delete | rename ]
[FILE] numedit.cpython-310.pyc [ edit | delete | rename ]
[FILE] old_str_util.cpython-310.pyc [ edit | delete | rename ]
[FILE] raw_display.cpython-310.pyc [ edit | delete | rename ]
[FILE] signals.cpython-310.pyc [ edit | delete | rename ]
[FILE] split_repr.cpython-310.pyc [ edit | delete | rename ]
[FILE] text_layout.cpython-310.pyc [ edit | delete | rename ]
[FILE] treetools.cpython-310.pyc [ edit | delete | rename ]
[FILE] util.cpython-310.pyc [ edit | delete | rename ]
[FILE] version.cpython-310.pyc [ edit | delete | rename ]
[FILE] vterm.cpython-310.pyc [ edit | delete | rename ]
[FILE] web_display.cpython-310.pyc [ edit | delete | rename ]
[FILE] widget.cpython-310.pyc [ edit | delete | rename ]
[FILE] wimp.cpython-310.pyc [ edit | delete | rename ]
[FILE] _async_kw_event_loop.cpython-310.pyc [ edit | delete | rename ]
[FILE] __init__.cpython-310.pyc [ edit | delete | rename ]

Viewing: /snap/core22/2437/usr/lib/python3/dist-packages/urwid/__pycache__/curses_display.cpython-310.pyc

o

��o_dO�@sjddlmZmZ	ddlZddlZddlmZddlmZm	Z	m
Z
mZddlm
Z
mZmZmZmZdZdZidd	�d
ejdf�dejdf�dejdf�d
ejdf�dejdf�dejdf�dejdf�dejdf�dejdf�dejdf�dejdf�dejdf�dejdf�dejdf�dejdf�dejdf�ZGdd�dee	�ZGdd�d�Zdekr�e�dSdS) �)�division�print_functionN)�escape)�
BaseScreen�RealTerminal�AttrSpec�UNPRINTABLE_TRANS_TABLE)�bytes�PYTHON3�	text_type�xrange�ord2i�i��default)���r�blackzdark redz
dark green�brown�	dark bluezdark magentaz	dark cyan�
light grayz	dark gray�z	light redzlight green�yellowz
light bluez
light magentaz
light cyan�whitecs�eZdZ�fdd�Zd/dd�Z�fdd�Z�fdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Z		d0dd�Zd1dd�Z
dd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Z�ZS)2�Screencs`tt|���dg|_i|_d|_d|_d|_g|_d|_	|�
�d|_d|_|�
ddd�dS)N)NNFrr)�superr�__init__�curses_pairs�palette�	has_color�s�cursor_state�	_keyqueue�prev_input_resize�set_input_timeouts�last_bstate�_mouse_tracking_enabled�register_palette_entry��self��	__class__��6/usr/lib/python3/dist-packages/urwid/curses_display.pyr>s�zScreen.__init__TcCs�t|�}||jkrdS|rLt�dtjBtjBtjBtjBtjBtj	Btj
BtjBtjBtj
BtjBtjBtjBtjBtjBtjBtjBtjBtjB�nt��||_dS)z�
        Enable mouse tracking.

        After calling this function get_input will include mouse
        click events along with keystrokes.
        Nr)�boolr#�curses�	mousemask�BUTTON1_PRESSED�BUTTON1_RELEASED�BUTTON2_PRESSED�BUTTON2_RELEASED�BUTTON3_PRESSED�BUTTON3_RELEASED�BUTTON4_PRESSED�BUTTON4_RELEASED�BUTTON1_DOUBLE_CLICKED�BUTTON1_TRIPLE_CLICKED�BUTTON2_DOUBLE_CLICKED�BUTTON2_TRIPLE_CLICKED�BUTTON3_DOUBLE_CLICKED�BUTTON3_TRIPLE_CLICKED�BUTTON4_DOUBLE_CLICKED�BUTTON4_TRIPLE_CLICKED�BUTTON_SHIFT�
BUTTON_ALT�BUTTON_CTRL�NotImplementedError)r&�enabler)r)r*�set_mouse_trackingOsZ
����������������	�	�
�
zScreen.set_mouse_trackingcs�t��|_t��|_|jrt��tjdkrd|_|jr3z	t��d|_Wn
t	j
y2d|_Ynw|��t��t�
d�t�d�|j�d�|jsS|��|_tt|���dS)z7
        Initialize the screen and input mode.
        �FTr�
rN)r,�initscrr�
has_colorsr�start_color�COLORS�use_default_colors�has_default_colors�_curses�error�_setup_colour_pairs�noecho�meta�	halfdelay�keypad�_signal_keys_set�tty_signal_keys�_old_signal_keysrr�_startr%r'r)r*rVks*




�


z
Screen._startcsXt��|�d�zt��Wn
tjyYnw|jr#|j|j�tt	|��
�dS)z%
        Restore the screen.
        rN)r,�echo�	_curs_set�endwinrLrMrUrTrr�_stopr%r'r)r*rZ�s
�zScreen._stopcCsZ|jsdStd�D]!}td�D]}|tjkr|tjkrqt�|dd|||�qq	dS)z�
        Initialize all 63 color pairs based on the term:
        bg * 8 + 7 - fg
        So to get a color, we just need to use that term and get the right color
        pair number.
        NrD�)rrr,�COLOR_WHITE�COLOR_BLACK�	init_pair)r&�fg�bgr)r)r*rN�s

��zScreen._setup_colour_pairscCsL|jdks
||jkrdSzt�|�||_WdStjy%d|_YdSw)N�fixed)rr,�curs_setrLrM)r&�xr)r)r*rX�s
�zScreen._curs_setcCs|j��|j��dS�N)r�clear�refreshr%r)r)r*�_clear�s
z
Screen._clearcCsB|dkr|��S|durt��nt�|�|j�d�|j��S)Nr)�_getch_nodelayr,�cbreakrQr�nodelay�getch)r&�wait_tenthsr)r)r*�_getch�s


z
Screen._getchcCs<|j�d�	zt��WntjyYnwq|j��S�Nr)rrjr,rirLrMrkr%r)r)r*rh�s��
zScreen._getch_nodelayN皙�����?cCs*dd�}||�|_||�|_||�|_dS)a8
        Set the get_input timeout values.  All values have a granularity
        of 0.1s, ie. any value between 0.15 and 0.05 will be treated as
        0.1 and any value less than 0.05 will be treated as 0.  The
        maximum timeout value for this module is 25.5 seconds.

        max_wait -- amount of time in seconds to wait for input when
            there is no input pending, wait forever if None
        complete_wait -- amount of time in seconds to wait when
            get_input detects an incomplete escape sequence at the
            end of the available input
        resize_wait -- amount of time in seconds to wait for more input
            after receiving two screen resize requests in a row to
            stop urwid from consuming 100% cpu during a gradual
            window resize operation
        cSs|durdSt|dd�S)Ng�������?rE)�int)rr)r)r*�convert_to_tenths�sz4Screen.set_input_timeouts.<locals>.convert_to_tenthsN)�
max_tenths�complete_tenths�
resize_tenths)r&�max_wait�
complete_wait�resize_waitrqr)r)r*r!�s

zScreen.set_input_timeoutsFcCs�|jsJ�|�|j�\}}|dgkrE|jrE	|�|j�\}}||7}|s0|�|j�\}}||7}|dgkr6nq|dd�dgkrE|�d�|dgkrNd|_n|jdkrY|sYd|_nd|_|rb||fS|S)a�Return pending input as a list.

        raw_keys -- return raw keycodes as well as translated versions

        This function will immediately return all the input since the
        last time it was called.  If there is no input pending it will
        wait before returning an empty list.  The wait time may be
        configured with the set_input_timeouts function.

        If raw_keys is False (default) this function will return a list
        of keys pressed.  If raw_keys is True this function will return
        a ( keys pressed, raw keycodes ) tuple instead.

        Examples of keys returned:

        * ASCII printable characters:  " ", "a", "0", "A", "-", "/"
        * ASCII control characters:  "tab", "enter"
        * Escape sequences:  "up", "page up", "home", "insert", "f1"
        * Key combinations:  "shift f1", "meta a", "ctrl b"
        * Window events:  "window resize"

        When a narrow encoding is not enabled:

        * "Extended ASCII" characters:  "\xa1", "\xb2", "\xfe"

        When a wide encoding is enabled:

        * Double-byte characters:  "\xa1\xea", "\xb2\xd4"

        When utf8 encoding is enabled:

        * Unicode characters: u"\u00a5", u'\u253c"

        Examples of mouse events returned:

        * Mouse button press: ('mouse press', 1, 15, 13),
                            ('meta mouse press', 2, 17, 23)
        * Mouse button release: ('mouse release', 0, 18, 13),
                              ('ctrl mouse release', 0, 17, 23)
        �
window resizeTrN�rr)�_started�
_get_inputrrr rt�append)r&�raw_keys�keys�raw�raw2r)r)r*�	get_input�s0
)�
�	

zScreen.get_inputcCs>t��|�|�}d}g}g}|dkr7|�|�|tkrd}n|tkr*||��7}n|�|�|��}|dksg}z|rJt�	|d�\}}||7}|s<WnHtj
y�|�|j�}|dkr�|�|�|tkrid}n|tkrt||��7}n|�|�|��}|dks]|r�t�	|d�\}}||7}|s�Ynw|r�|�d�||fS)NFrTrx)r,�doupdatermr|�
KEY_RESIZE�	KEY_MOUSE�_encode_mouse_eventrhr�process_keyqueue�MoreInputRequiredrs)r&rl�key�resizerr~�	processed�runr)r)r*r{6sR


�
��

�	���
zScreen._get_inputcs�|j}}t��\}��}}d�|tj@r�dO�|tj@r"�dO�|tj@r+�dO�g�����fdd�}|tj@rI|d@dkrI|d�|dO}|tj@r\|d@dkr\|d�|dO}|tj@ro|d@dkro|d�|dO}|tj	@r�|d@dkr�|d	�|dO}|tj
@r�|d@r�|dtj�|d
M}|tj
@r�|d@r�|dtj�|dM}|tj@r�|d@r�|dtj�|dM}|tj@r�|d@r�|d	tj�|d
M}|tj@r�|dtj�|tj@r�|dtj�|tj@r�|dtj�|tj@�r|d	tj�|tj@�r|dtjd�|tj@�r!|dtjd�|tj@�r0|dtjd�|tj@�r?|d	tjd�||_�S)Nr�rD�c	s6|�O}��dtd�td�|d�d�dg�dS)N��[�M� �!)�extendr
)�b��l�modrc�yr)r*�
append_buttonqs.z1Screen._encode_mouse_event.<locals>.append_buttonrry�@���������i����)r"r,�getmouser>r?r@r.r0r2r4r/r�MOUSE_RELEASE_FLAGr1r3r5r6�MOUSE_MULTIPLE_CLICK_FLAGr8r:r<r7r9r;r=)r&�last�next�id�z�bstater�r)r�r*r�fsd



zScreen._encode_mouse_eventcCs4t��|j�d�t�d�|j��}t��|S)Nr�d)r,rWrrjrQ�getstrrO�r&�strr)r)r*�
_dbg_instr�s

zScreen._dbg_instrcCs.|j��|j�|�|j��|�d�dSrn)r�clrtoeol�addstrrfrXr�r)r)r*�_dbg_out�s

zScreen._dbg_outcCs|�|�|��Srd)r�r�)r&�questionr)r)r*�
_dbg_query�s
zScreen._dbg_querycCs|j��dSrd)rrfr%r)r)r*�_dbg_refresh�szScreen._dbg_refreshcCs|j��\}}||fS)z7Return the terminal dimensions (num columns, num rows).)r�getmaxyx)r&�rows�colsr)r)r*�
get_cols_rows�szScreen.get_cols_rowscCs�|dur|j�d�dSt|t�s |j�|tdd�f�}|d}|jrL|jr5|jdkr1|jd}n|j}nd}|j	r>|j
}nd}t�|dd|�}nd}|j
rV|tjO}|jr^|tjO}|jrf|tjO}|jrn|tjO}|j�|�dS)NrrrDr[)r�attrset�
isinstancer�_palette�getr�foreground_basic�foreground_number�background_basic�background_numberr,�
color_pair�bold�A_BOLD�standout�
A_STANDOUT�	underline�A_UNDERLINE�blink�A_BLINK)r&�a�pr_r`�attrr)r)r*�_setattr�s4





zScreen._setattrc
Cs�|jsJ�|\}}|��|ksJd��d}|��D]�}|d7}z	|j�|d�Wntjy4YdSwd}d}d}	|D]�\}
}}|dkrR|�t�}t	|t
�sRJ�|sX||
kr_|�|
�|
}z;|dvrztt
|��D]}
|j�d	t||
��qjn|dus�J�tr�t	|t
�s�J�|j�|�d
��n|j�|�Wntjy�||dkr�|	t
|�dkr�nYdSYnw|	d7}	q=q|jdur�|j\}}|�d�z	|j�||�Wntjy�Yn
w|�d�|j�dd�|j��||_dS)z"Paint screen with rendered canvas.z'canvas size and passed size don't matchrrrNT�U)�0r�i@�utf-8)rzr��contentr�moverLrM�	translaterr�r	r��range�len�addchr
r
r��decode�cursorrXrf�keep_cache_alive_link)r&�size�rr�r�r��row�first�lasta�nrr��cs�seg�ircr)r)r*�draw_screen�sh
�

��
��
	�


�


zScreen.draw_screencCs|j��dS)zh
        Force the screen to be completely repainted on the next
        call to draw_screen().
        N)rrer%r)r)r*re'szScreen.clear)T)Nroro)F)�__name__�
__module__�__qualname__rrCrVrZrNrXrgrmrhr!r�r{r�r�r�r�r�r�r�r�re�
__classcell__r)r)r'r*r=s0



�
J0>%Arc@seZdZdd�Zdd�ZdS)�_testc	Cstt�|_tt���|_|j��|jD]}|j�|d|ddf|d|ddf|d|dd	fg�q|j�|j	�dS)
N�	 on blackrr��
 on dark bluerr�� on light grayrr�)
r�ui�list�_curses_coloursr~r��sort�register_palette�run_wrapperr�)r&�cr)r)r*r2s

�z_test.__init__c
s�Gdd�d�}|�}dt|jj�dg}ggg}i|_d|_|jD]/}d}g}|d|d|dfD]}|�|df�||d	dd�}q2|�|�|�|�q!|gd
�7}|gggg7}|j��\�}	d}
|
dgkr��fdd
�|D�dg|	d|	�|_|gg|	d|	�|_	|j�
�|	f|�|jjdd�\}
}d|
vr�|j��\�}	|
s�qgd}g}|
D] }t|�t
kr�|�d�}|d|d7}|ddt|�fdg7}q�|�|dt|��|�|�||	d�}||	d�}|
dgksldSdS)Nc@seZdZdS)z_test.run.<locals>.FakeRenderN)r�r�r�r)r)r)r*�
FakeRender?sr�z  has_color = �r�r�r�r�z                           )r�z)return values from get_input(): (q exits)r��qcsg|]}|����qSr))�ljust)�.0�t�r�r)r*�
<listcomp>Usz_test.run.<locals>.<listcomp>T)r}rxr��'z' rnzyellow on dark blue)Nryz: )�reprr�r�coordsr�r�r|r��textr�r�r��typer�encoder�)
r&r�r�r�r�r�r�r�r�r�r~r�kr)r�r*r�>sP


&�
�z	_test.runN)r�r�r�rr�r)r)r)r*r�1sr��__main__) �
__future__rrr,rL�urwidr�urwid.display_commonrrrr�urwid.compatr	r
rrr
r�r�r]�	COLOR_RED�COLOR_GREEN�COLOR_YELLOW�
COLOR_BLUE�
COLOR_MAGENTA�
COLOR_CYANr\r�rr�r�r)r)r)r*�<module>sh�
�
�
�
�
�
�
�
	�

�
�
�

�
�
�
�
�w<
�
Upload File: