ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     o
    &J^)                     @   sL  d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	dd Z
z
d dlZd dlT W n eyA   e
d Y nw dZedZed	Zed
ed Zeded ZeddZeddZeddZed e Zed e Zejesed e Zejesed e Zejesed e ZdZdZde ZdZeeeje< eejee< e eed  e!e ejZ"dd Z#dd  Z$d!d" Z%d#d$ Z&d e"d%d&fe"d'd(efffd)d*Z'd+d, Z(d-d. Z)d/d0 Z*d1d2 Z+d3d4 Z,d5d6 Z-d7d8 Z.d9d: Z/d;d< Z0d=d> Z1d?d@ Z2dAdB Z3e4dCkr$e3  dS dS )D    )print_functionNc                 C   s   t d|   td d S )Nz	ERROR: %s   )printsysexit)msg r    /usr/lib/byobu/include/config.pyerror%   s   r
   )*z(Could not import the python snack modulebyobuHOMEUSERBYOBU_CONFIG_DIRz/.byobuBYOBU_RUN_DIRz/.cache/byobuBYOBU_BACKENDtmux	SOCKETDIRz/var/run/screenBYOBU_PREFIXz/usrz/share/z/share/doc//z/share/doc/packages/AzIf you are using the default set of keybindings, press
<F5> or <ctrl-a-R> to activate these changes.

Otherwise, exit this session and start a new one.z%s/reload-requiredz/poc                 C   sT   zdd l }dd l}dd l}dd l}|d|| |jd}W |S  ty)   Y d S w )Nr   hh1234)fcntltermiosstructosunpackioctl
TIOCGWINSZ	Exception)fdr   r   r   r   crr   r   r	   ioctl_GWINSZL   s   r$   c               	   C   sn   z,t jtst td ttd} |   tdkr*t	
tdddddt g W d S W d S  ty6   Y d S w )	Ni  wscreenz-Xat0sourcez
%s/profile)r   pathexistsr   makedirsopenRELOAD_FLAGcloser   
subprocesscallr!   )fr   r   r	   reload_requiredY   s   
 r3   c                  C   s   t dpt dpt d} | s,ztt tj}t |} t| W n	 ty+   Y nw | sDz
td td f} W n tyC   d} Y nw t| d d t| d d fS )Nr   r      LINESCOLUMNS)   P      )	r$   r   r-   ctermidO_RDONLYr/   r!   envint)r#   r"   r   r   r	   terminal_sizeg   s     r>   c                 C   s   |rt d}nt d}tdddd}|t dd |t dd	 |t d
d ||d t| ddtffdd}t| t ddd	}|j|dddd |j|dddd || dkradS |	 S )Nz.Byobu currently launches at login (toggle off)z4Byobu currently does not launch at login (toggle on)   <   r   )heightwidth
returnExitzHelp -- Quick Start GuideToggle status notificationsr4   Change escape sequence      Exitr   compactz Byobu Configuration Menur   )rG   r4   rG   r4   paddingr   r   r   r   )
_Listboxappend	ButtonBarESCGridFormaddbuttonPressedrunOncecurrent)snackScreensizeisInstalledinstalltextlibbgr   r   r	   menu}   s   
r_   OkayokayCancelcancelc           
      C   s^   t ||||d}t| |dd}t| |dd}	|	j|dddd |	j|dddd ||	 S )	Nscrollr   rI   r4   r   )r   r   r   r   rK   rM   )TextboxrQ   rS   rT   rU   rV   )
rX   rB   rA   titletextre   buttonstr]   r^   r   r   r	   
messagebox   s   rk   c                 C   s   t td t d }| }|  |dt d}tdd|ddd}t| t	dd	t
ffdd
}t| t	ddd}||dd |j|dddd || }dS )Nz/help.z.txtz<esckey>r   C      )re   wrapMenur_   rI   z
Byobu Helpr4   rG   r   rM   rK   d   )r-   DOCr   readr/   replace	getesckeyrf   rQ   rN   rR   rS   rT   rU   rV   )rX   rY   r2   rh   rj   r]   r^   buttonr   r   r	   help   s   rv   c            	   	   C   s  i } i }i }t d td fD ]^}tj|rlztt| || W n ty1   t	d|  Y nw t
dkrAd|d |d f }nd|d	 |d
 |d |d f }| D ]}|drg|dd}d| |< qUd| |< qUqg }t|  }t|D ]}t| | |g}|| qy|S )N/status/status/statuszInvalid configuration [%s]r   z%s %s	tmux_left
tmux_rightz%s %s %s %sscreen_upper_leftscreen_upper_rightscreen_lower_leftscreen_lower_right# r(   1)SHAREr   r   r*   r+   execr-   rr   r!   r
   r   split
startswithrs   listkeyssortedr=   rP   )	statusglolocr2   itemsir\   r   windowr   r   r	   
readstatus   s2    


r   c                 C   sv   d}i }i }t ttd  || ||   D ] }|dr%|dd}|| dkr2|d| 7 }q|d| 7 }q|S )Nr   rw   r   r    z #)r   r-   r   rr   r   r   rs   )sr   newr   r   r   r   r   r	   genstatusstring   s   
r   c           	   	   C   s   i }t d }| D ]
}|d ||d < qdD ]`}|truzt|d}W n ty3   ttd d}Y nw | }|  zt|d}W n tyQ   t|d}Y nw |D ]}|d	| rlt||}|	d
||f  qT|	| qT|j qd S )Nrx   r   r   )ry   rz   r{   r|   r}   r~   rrw   r%   za+z%s=z%s="%s"
)
r   r   r   r-   r!   r   	readlinesr/   r   write)	r   r   r*   r   keyr2   lineslvalr   r   r	   writestatus   s4   

r   c           	      C   s  t  }td}tddd}d}|D ]}|d dkr%|j|d ||d d |d }qt| tdd	ftd
dtffdd}t| tddd}|j|dddddd ||dd |j|dddd |	|
 dkrd}|D ]}|d dkr~||d |d< |d }qmt| t  dS )Nr      r   rd   r   )selectedApplyapplyrb   rc   rI   rD   r4   rG   )rG   r   r   r   )
anchorLeft	anchorToprL   )rG   r   r   r   rK   rp   )r   LabelCheckboxTreerP   rQ   rN   rR   rS   rT   rU   rV   getEntryValuer   r3   )	rX   rY   itemlistrlr   countitemr]   r^   r   r   r	   togglestatus   s,   
$
r   c                 C   sx   d}|r!t dgdkrtd}t| ddtd|tdfd	}d
S t dgdkr-td}t| ddd|tdfd	}dS )Nr   zbyobu-launcher-uninstallr   z/Byobu will not be launched next time you login.r@   r4   Messagero   )ri   e   zbyobu-launcher-installz9Byobu will be launched automatically next time you login.rp   )r0   r1   rN   rk   )rX   rY   rZ   outru   r   r   r	   install  s   r   c                 C   sB   t | d}z|| W n ty   |  Y d S w |  d S )Na)r-   r   IOErrorr/   )pr   r2   r   r   r	   appendtofile  s   
r   c                  C   s   d} t dkr!td }tj|rt|D ]	}|dr|} qntS td }tj|r:t|D ]	}|dr8|} q/ntS | dkrBtS | | dd  }|d	krQd
}|S )Nr   r   z/keybindings.tmuxzset -g prefix z/keybindingszescape ^r   `r   )	r   r   r   r*   r+   r-   r   DEF_ESCfind)liner*   r   escr   r   r	   rt     s0   

rt   c                 C   s8   |   rttjd}tjdd| g|d |  d S d S )Nr%   zbyobu-ctrl-ar&   )stdout)isalphar-   r   devnullr0   r1   r/   )r   nullfr   r   r	   	setesckey9  s
   r   c                 C   sZ  t dt dd}ttd}t| tddftddtffdd	}t| td
dd}|j|ddddd |j|dddd ||dd |d d}|r|	 }|dkr|
 }t|dkre||d  |dksm|dkrr|t zt|
 }	|t W n ty   d}	Y nw d}|sL|   ||}
|
dkrt|
  t  |
dkrdS dS )Nr4   r   )rh   rC   zEscape key: ctrl-r   r   rb   rc   rI   rE   rG   r   )r   r   r   r   )r   rL   )r   rp   TIMERr   \foor   )Entryrt   r   rN   rQ   rR   rS   rT   setTimerrunvaluelensetr   r=   r!   	popWindowrU   r   r3   )rX   rY   r   esclr]   r^   loopwhichr   dummyru   r   r   r	   chgescA  sB   $


r   c                  C   sh   t jtd r
dS ztdt D ]
} d| v r W dS qW n
 ty'   Y dS w t jdt r2dS dS )Nz/disable-autolaunchr   z%s/.profilezbyobu-launchr   z/etc/profile.d/Z97-%s.sh)r   r*   r+   r   r-   r   r!   PKG)r   r   r   r	   
autolaunchg  s   r   c                  C   s   t  } t }|ddtd |td t }d}|dkrTt|| |}|dkr/t|| }n!|dkr9t|| }n|dkrCt	|| }n|dkrPt
|| |}t }|dks|  td d	S )
z$This is the main loop of our utilityr   r   zByobu Configuration Menuz6<Tab> between elements | <Enter> selects | <Esc> exitsrp   r4   rF   rG   N)r>   SnackScreendrawRootTextrN   pushHelpLiner   r_   rv   r   r   r   finishr   r   )rY   rX   rZ   tagr   r   r	   mainu  s(   r   __main__)5
__future__r   r   r   os.pathtimestringr0   gettextglobr
   snackr!   r   getenvr   r   r   r   r   BYOBU_SOCKETDIRr   r   rq   r*   r+   r   RELOADr.   rR   ordhotkeysbindtextdomain
textdomainrN   r$   r3   r>   r_   rk   rv   r   r   r   r   r   r   rt   r   r   r   r   __name__r   r   r   r	   <module>   sz   


$	&

