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__/main_loop.cpython-310.pyc
o
��o_�� � @ s� d dl mZmZ d dlZd dlZd dlZd dlZd dlZd dlZd dl m
Z
d dlmZ d dl
mZ zd dlZW n eyA Y nw d dlmZmZ d dlmZmZ d dlmZmZ d d lmZ d d
lmZ d dlmZ dZ G d
d� de!�Z"G dd� de!�Z#G dd� de$�Z%G dd� de$�Z&G dd� de&�Z'G dd� de&�Z(G dd� de&�Z)zd dl*m+Z+ W n ey� e$Z+Y nw G dd� de+�Z,G dd� de&�Z-G d d!� d!e&�Z.ej/d"kr�d#d$l0m1Z1 d+d&d'�Z2d(d)� Z3e4d*kr�e3� dS dS ),� )�division�print_functionN��wraps)�count)�WeakKeyDictionary)�StoppingContext�is_mouse_event)�PYTHON3�reraise)�command_map�
REDRAW_SCREEN)�PopUpTarget)�signals)�INPUT_DESCRIPTORS_CHANGEDi c @ s e Zd ZdZdS )�ExitMainLoopz_
When this exception is raised within a main loop the main loop
will exit cleanly.
N)�__name__�
__module__�__qualname__�__doc__� r r �1/usr/lib/python3/dist-packages/urwid/main_loop.pyr 2 s r c @ s e Zd ZdS )�CantUseExternalLoopN)r r r r r r r r 9 s r c @ s e Zd ZdZ d=dd�Zdd � Zed
d� edd
�Zdd� Zedd� e�Z d>dd�Z
d>dd�Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zd5d6� Zd7d8� Zd9d:� Zd;d<� ZdS )?�MainLoopa�
This is the standard main loop implementation for a single interactive
session.
:param widget: the topmost widget used for painting the screen, stored as
:attr:`widget` and may be modified. Must be a box widget.
:type widget: widget instance
:param palette: initial palette for screen
:type palette: iterable of palette entries
:param screen: screen to use, default is a new :class:`raw_display.Screen`
instance; stored as :attr:`screen`
:type screen: display module screen instance
:param handle_mouse: ``True`` to ask :attr:`.screen` to process mouse events
:type handle_mouse: bool
:param input_filter: a function to filter input before sending it to
:attr:`.widget`, called from :meth:`.input_filter`
:type input_filter: callable
:param unhandled_input: a function called when input is not handled by
:attr:`.widget`, called from :meth:`.unhandled_input`
:type unhandled_input: callable
:param event_loop: if :attr:`.screen` supports external an event loop it may be
given here, default is a new :class:`SelectEventLoop` instance;
stored as :attr:`.event_loop`
:type event_loop: event loop instance
:param pop_ups: `True` to wrap :attr:`.widget` with a :class:`PopUpTarget`
instance to allow any widget to open a pop-up anywhere on the screen
:type pop_ups: boolean
.. attribute:: screen
The screen object this main loop uses for screen updates and reading input
.. attribute:: event_loop
The event loop object this main loop uses for waiting on alarms and IO
r NTFc
C s� || _ || _|| _|sddlm} | �� }|r|�|� || _d | _|| _ || _
t|d�s8|d ur8td|f ��|d u r?t
� }|| _t| jd�rN| jj| j_i | _d S )Nr )�raw_display�hook_event_loopz=screen object passed %r does not support external event loops�signal_handler_setter)�_widget�handle_mouse�pop_ups�urwidr �Screen�register_palette�screen�screen_size�_unhandled_input�
_input_filter�hasattr�NotImplementedError�SelectEventLoop�
event_loop�set_signal_handlerr �_watch_pipes)
�self�widget�paletter# r �input_filter�unhandled_inputr* r r r r r �__init__j s.
�
zMainLoop.__init__c C s&