Module Expr Str ImportFrom alias alias ImportFrom alias alias ClassDef bases body Expr Str Assign NameStore Num Assign NameStore Str Assign NameStore NameLoad Assign NameStore Str Assign NameStore Str Assign NameStore NameLoad Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore BoolOpOr SubscriptLoad Call AttributeLoad NameLoad attr Index Num Str TryExcept body Assign NameStore Call AttributeLoad NameLoad attr handlers ExceptHandler body Pass Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Return Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BoolOpOr AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Assign NameStore BinOpAdd BinOpAdd Str NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BoolOpOr Call AttributeLoad NameLoad attr Str CompareIn NameLoad ListLoad Str Str Return IfExp NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore IfExp CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore IfExp AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr For NameStore NameLoad body Assign NameStore BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str NameLoad Expr Call NameLoad ListLoad Str NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr IfExp CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore SubscriptLoad NameLoad Index Str If CompareIn NameLoad ListLoad Num Num Num body Expr Call AttributeLoad NameLoad attr orelse If CompareEq NameLoad Num body Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore BoolOpAnd CompareIsNot AttributeLoad NameLoad attr NameLoad CompareNotIn AttributeLoad NameLoad attr NameLoad If BoolOpAnd NameLoad AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr Str Assign NameStore Str orelse If UnaryOpNot AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign NameStore IfExp CompareEq Call NameLoad NameLoad Num BoolOpOr AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr keyword BoolOpOr AttributeLoad NameLoad attr Str keyword NameLoad Assign NameStore Dict Str Str BinOpAdd Call NameLoad AttributeLoad NameLoad attr NameLoad If BoolOpAnd NameLoad UnaryOpNot AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index Str SubscriptLoad NameLoad Index Str orelse If CompareEq AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad body Assign SubscriptStore NameLoad Index Str SubscriptLoad NameLoad Index Str Return NameLoad decorator_list decorator_list If CompareEq NameLoad Str body Expr Str Assign NameStore Call NameLoad Assign NameStore Dict Str Str Str Str Str Str While NameLoad body Print Call AttributeLoad NameLoad attr ListLoad NameLoad Expr Call NameLoad Num
N/A N/A 
Switch between horizontal and vertical screen rotation on a single click.

Configuration parameters:
    cache_timeout: how often to refresh this module.
        (default is 10)
    format: a string that formats the output, can include placeholders.
        (default is '{icon}')
    hide_if_disconnected: a boolean flag to hide icon when `screen` is disconnected.
        it has no effect unless `screen` option is also configured.
        (default: None)
    horizontal_icon: a character to represent horizontal rotation.
        (default is 'H')
    horizontal_rotation: a horizontal rotation for xrandr to use.
        available options: 'normal' or 'inverted'.
        (default is 'normal')
    screen: display output name to rotate, as detected by xrandr.
        if not provided, all enabled screens will be rotated.
        (default: None)
    vertical_icon: a character to represent vertical rotation.
        (default is 'V')
    vertical_rotation: a vertical rotation for xrandr to use.
        available options: 'left' or 'right'.
        (default is 'left')

Available placeholders for formatting the output:
    {icon} a rotation icon, specified by `horizontal_icon` or `vertical_icon`.
    {screen} a screen name, specified by `screen` option or detected automatically
        if only one screen is connected, otherwise 'ALL'.


Remarks:
    There have been cases when rotating a screen using this module made i3 unusabe.
    If you experience a similar behavior, please report as many details as you can:
    https://github.com/ultrabug/py3status/issues/227


@author Maxim Baz (https://github.com/maximbaz)
@license BSD
 subprocess Popen PIPE time sleep time Py3status N/A N/A N/A N/A cache_timeout 10 N/A format {icon} N/A hide_if_disconnected False N/A horizontal_icon H N/A horizontal_rotation normal N/A screen None N/A vertical_icon V N/A vertical_rotation left __init__ N/A N/A self N/A N/A N/A N/A self displayed N/A _call N/A N/A self cmd N/A N/A N/A process N/A Popen cmd stdout PIPE shell True N/A output N/A N/A N/A N/A process communicate N/A 0 N/A N/A N/A output N/A N/A output decode N/A N/A N/A N/A N/A N/A N/A output strip N/A _get_all_outputs N/A N/A self N/A N/A N/A cmd xrandr -q | grep " connected [^(]" | cut -d " " -f1 N/A N/A N/A N/A N/A self _call cmd split N/A _get_current_rotation_icon N/A N/A self all_outputs N/A N/A N/A output N/A N/A self screen N/A all_outputs N/A 0 N/A cmd N/A N/A xrandr -q | grep "^ output " | cut -d " " -f4 N/A output N/A N/A self _call cmd N/A is_horizontal N/A N/A N/A output startswith ( N/A output N/A normal inverted N/A N/A is_horizontal N/A self horizontal_icon N/A self vertical_icon N/A _apply N/A N/A self N/A N/A N/A rotation N/A N/A N/A self displayed N/A self horizontal_icon N/A self horizontal_rotation N/A self vertical_rotation N/A outputs N/A N/A self screen N/A N/A self screen N/A N/A self _get_all_outputs N/A output outputs N/A N/A cmd N/A N/A N/A exec xrandr --output  output  --rotate  rotation N/A N/A Popen N/A i3-msg cmd stdout PIPE N/A _switch_selection N/A N/A self N/A N/A N/A N/A self displayed N/A N/A N/A self displayed N/A self horizontal_icon N/A self vertical_icon N/A self horizontal_icon N/A on_click N/A N/A self i3s_output_list i3s_config event N/A N/A N/A 
        Click events
            - left click & scroll up/down: switch between rotations
            - right click: apply selected rotation
         N/A button N/A event N/A button N/A N/A button N/A 1 4 5 N/A N/A N/A N/A self _switch_selection N/A N/A N/A button 3 N/A N/A N/A N/A self _apply N/A xrandr_rotate N/A N/A self i3s_output_list i3s_config N/A N/A N/A all_outputs N/A N/A self _get_all_outputs N/A selected_screen_disconnected N/A N/A N/A self screen None N/A N/A self screen all_outputs N/A N/A selected_screen_disconnected N/A self hide_if_disconnected N/A N/A N/A self displayed N/A full_text N/A N/A N/A N/A self displayed N/A N/A N/A self displayed N/A N/A self _get_current_rotation_icon all_outputs N/A screen N/A N/A N/A len all_outputs 1 N/A N/A self screen N/A all_outputs N/A 0 ALL N/A full_text N/A N/A N/A self format format icon N/A N/A self displayed ? screen screen N/A response N/A cached_until full_text N/A N/A time N/A self cache_timeout full_text N/A N/A selected_screen_disconnected N/A N/A self hide_if_disconnected N/A N/A N/A response N/A color N/A i3s_config N/A color_degraded N/A N/A N/A N/A self displayed N/A N/A self _get_current_rotation_icon all_outputs N/A N/A N/A response N/A color N/A i3s_config N/A color_good N/A response N/A N/A N/A N/A __name__ __main__ N/A N/A 
    Test this module by calling it directly.
     N/A x N/A Py3status N/A config N/A color_bad color_degraded color_good #FF0000 #FFFF00 #00FF00 N/A True N/A N/A N/A N/A x xrandr_rotate N/A config N/A N/A sleep 1