
    ?g                     B    d dl mZ d dlZ G d dej                        Zy)    )GtkNc                   @    e Zd Zd Zd
dZd Zd Zd Zd Zd Z	d
d	Z
y)
ModulePagec                    t        j                  t        t        t        t              }t        j
                  j                  | |       || _        d | _        | j                  dd      }|j                  | j                  | j                         | j                  dd       | j                  dd       | j                  dd       | j                  j                  j                  d	| j                         | j                  j                  j                  d
| j                          | j"                  j                  d| j$                         | j"                  j                  d| j&                         t        j(                         | _        t        j,                  d      }|j/                         d   }|j1                  d|j3                         z   dz          |j                  d| j4                         | j*                  j7                  |       t        j,                  d      | _        | j8                  j                  d| j:                         | j*                  j7                  | j8                         | j*                  j=                          y )Nr   ID   Title   WMClass   Applicationzsignal::window-list-updatezstatus-changedzrow-activatedzbutton-press-eventzInspect Windowz<b>z</b>activatezInspect Application)r   	ListStoreintstr	pageutilsBaseListView__init__parentselected_pathcreate_text_columnset_cell_data_funcrenderer_textcell_data_func_idlg_proxyconnectget_updateson_status_change	tree_viewon_row_activatedon_button_pressMenupopupMenuItemget_children
set_markup	get_labelon_inspect_windowappendinspect_appon_inspect_applicationshow_all)selfr   storecolumninspect_windowlabels         :/usr/share/cinnamon/cinnamon-looking-glass/page_windows.pyr   zModulePage.__init__   s   c3S1''e4!((D1!!$"4"4d6L6LM7+9-=1$$%A4CSCST$$%5t7L7LM0E0EF3T5I5IJ XXZ
&67++-a0!9!9!;;fDEz4+A+AB

.)<<(=>  T-H-HI

$**+

    Nc                 V    |j                  |d      }|j                  dd||fz         y )Nr   textzw(%d) / a(%d))	get_valueset_property)r-   r/   cellmodel	tree_iterdatavalues          r2   r   zModulePage.cell_data_func_id'   s+    	1-&/eU^"CDr3   c                    | j                   j                  |      }| j                   j                  |d      }| j                   j                  |d      }| j                  j                  d   j                  d|z  d|d       y Nr   r   inspectzw(%d)objectz<window>)r.   get_iterr6   r   pagesinspect_element)r-   treeviewpathview_columnr:   obj_idtitles          r2   r    zModulePage.on_row_activated+   sl    JJ''-	%%i3

$$Y2)$44Wv5ExQVXbcr3   c                    | j                   j                  | j                        }| j                   j                  |d      }| j                   j                  |d      }| j                  j
                  d   j                  d|z  d|d       y r>   r.   rA   r   r6   r   rB   rC   )r-   	menu_itemr:   rG   rH   s        r2   r(   zModulePage.on_inspect_window2   sr    JJ''(:(:;	%%i3

$$Y2)$44Wv5ExQVXbcr3   c                    | j                   j                  | j                        }| j                   j                  |d      }| j                   j                  |d      }| j                  j
                  d   j                  d|z  d|d       y )Nr   r   r?   za(%d)r@   z<application>rJ   )r-   rK   r:   rG   applications        r2   r+   z!ModulePage.on_inspect_application9   sv    JJ''(:(:;	%%i3jj**9a8)$44Wv5E5=5@5D	Fr3   c                 *   |j                   dk(  rt        |j                        }t        |j                        }|j	                  ||      }||\  }}}}	|| _        |j                          |j                  ||d       | j                  j                  | j
                        }
| j                  j                  |
d      }| j                  j                  |dk7         | j                  j                  d d d d |j                   |j                         yy )Nr   r   z<untracked>T)buttonr   xyget_path_at_posr   
grab_focus
set_cursorr.   rA   r6   r*   set_sensitiver#   time)r-   rD   eventrP   rQ   pthinforE   colcellxcellyr:   apps               r2   r!   zModulePage.on_button_pressC   s    <<1EGGAEGGA..q!4G"*1'c5%%)"##%##D#q1 JJ//0B0BC	jj**9a8  ..sm/CD

  tT4uzzR r3   c                 *    |r| j                          y y N)r   )r-   proxyonlines      r2   r   zModulePage.on_status_changeU   s     r3   c                 F   | j                   j                          | j                  j                  j	                         \  }}|r=	 |D ]6  }| j                   j                  t        |d         |d   |d   |d   g       8 y y # t        $ r}t        |       Y d }~y d }~ww xY w)NidrH   wmclassr\   )	r.   clearr   r   GetLatestWindowListr)   r   	Exceptionprint)r-   r_   successr;   itemexcs         r2   r   zModulePage.get_updatesY   s    

,,@@B  5DJJ%%s4:'+G}'+I'+E{'4 55   c

s   ;B 	B BB r^   )__name__
__module____qualname__r   r   r    r(   r+   r!   r   r    r3   r2   r   r      s/    @EddF$r3   r   )gi.repositoryr   r   r   r   rn   r3   r2   <module>rp      s!     ^'' ^r3   