U &ŸJ^×)ã@sPddlmZddlZddlZddlZddlZddlZddlZddlZddl Z dd„Z zddl Z ddl TWne k r„e dƒYnXdZ e d¡Ze d ¡Ze d ed ¡Ze d ed ¡Ze dd¡Ze dd¡Ze dd¡Zede Zede Zej e¡sedeZej e¡s.ede Zej e¡sHedeZdZdZdeZdZeeƒe je<ee jeeƒ<e  e ed¡e !e ¡ejZ"dd„Z#dd „Z$d!d"„Z%d#d$„Z&de"d%ƒd&fe"d'ƒd(efffd)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„Z3e4dCkrLe3ƒdS)Dé)Úprint_functionNcCstd|ƒt d¡dS)Nz ERROR: %sé)ÚprintÚsysÚexit)Úmsg©rú /usr/lib/byobu/include/config.pyÚerror%s r )Ú*z(Could not import the python snack moduleZbyobuÚHOMEÚUSERÚBYOBU_CONFIG_DIRz/.byobuÚ BYOBU_RUN_DIRz /.cache/byobuÚ BYOBU_BACKENDÚtmuxZ SOCKETDIRz/var/run/screenÚ BYOBU_PREFIXz/usrz/share/z /share/doc/ú/z/share/doc/packages/ÚAz—If you are using the default set of keybindings, press or to activate these changes. Otherwise, exit this session and start a new one.z%s/reload-requiredúz/pocCsXzr,r)rrrrr?rA)ÚTextboxrDrFrGrHrI) rJr8r7ÚtitleÚtextrTÚbuttonsÚtrNrOrrr Ú messagebox‘s rZcCs¤ttdtdƒ}| ¡}| ¡| dtƒd¡}tdd|ddd}t|t dƒd t ffdd }t |t d ƒd d ƒ}|  |dd¡|j |dddd|  | ¡¡}dS)Nz/help.z.txtzréCé)rTZwrapÚMenurPr>z Byobu Helpr,r=rrAr?éd)r%ÚDOCrÚreadr'ÚreplaceÚ getesckeyrUrDrBrErFrGrHrI)rJrKr*rWrYrNrOÚbuttonrrr Úhelpšsrdc Csi}i}i}tdtdfD]¾}tj |¡rztt|ƒ ¡||ƒWn tk rdt d|ƒYnXt dkr„d|d|df}n d|d |d |d |d f}|  ¡D],}|  d ¡rÐ|  d d¡}d||<q¬d||<q¬qg}t| ¡ƒ}t|ƒD]}t||ƒ|g}| |¡qô|S)Nú/status/statusú/statuszInvalid configuration [%s]rz%s %sÚ tmux_leftÚ tmux_rightz %s %s %s %sÚscreen_upper_leftÚscreen_upper_rightÚscreen_lower_leftÚscreen_lower_rightú#Úr Ú1)ÚSHARErrr"r#Úexecr%r`rr rÚsplitÚ startswithraÚlistÚkeysÚsortedr3rC) ÚstatusÚgloÚlocr*ÚitemsÚirMruZwindowrrr Ú readstatus¨s.          r|cCsvd}i}i}tttdƒ ¡||ƒ|| ¡D]@}| d¡rJ| dd¡}||dkrd|d|7}q0|d|7}q0|S)Nrnrermrú z #)rqr%rpr`rrrsra)ÚsrwÚnewrxryr{rrr ÚgenstatusstringÄs   r€c Csôi}td}|D]}|d||d<qdD]Ä}| t¡r*zt|dƒ}Wn"tk rhttddƒ}YnX| ¡}| ¡zt|dƒ}Wntk r¦t|dƒ}YnX|D]:}| d |¡rÜt||ƒ}|  d ||f¡q¬|  |¡q¬|jq*dS) Nrfrr)rgrhrirjrkrlÚrrerza+z%s=z%s="%s" ) rrsrr%rrpÚ readlinesr'r€Úwrite) rzrwr"r{Úkeyr*ÚlinesÚlÚvalrrr Ú writestatusÓs,   rˆc Cstƒ}tdƒ}tddd}d}|D]0}|ddkrJ|j|d||dd|d}q"t|tdƒd ftd ƒd tffdd }t|td ƒddƒ}|j|dddddd| |dd¡|j|dddd|  |  ¡¡d krd}|D]*}|ddkrþ|  |¡d|d<|d}qÜt |ƒt ƒdS)Nrné rrSréÿÿÿÿ)ZselectedÚApplyÚapplyrQrRr>r:r,r=)r=rrr)Ú anchorLeftZ anchorTopr@)r=rrrr?r^)r|ÚLabelZ CheckboxTreerCrDrBrErFrGrHrIZ getEntryValuerˆr+) rJrKZitemlistZrlrÚcountÚitemrNrOrrr Ú togglestatusís,   $  r‘cCs|d}|rBt dg¡dkr tdƒ}t|ddtdƒ|tdƒfd }d St d g¡dkrZtd ƒ}t|ddd|tdƒfd }d SdS)Nrnzbyobu-launcher-uninstallrz/Byobu will not be launched next time you login.r6r,ZMessager])rXéezbyobu-launcher-installz9Byobu will be launched automatically next time you login.r^)r(r)rBrZ)rJrKrLÚoutrcrrr Úinstallsr”cCsDt|dƒ}z| |¡Wntk r6| ¡YdSX| ¡dS)NÚa)r%rƒÚIOErrorr')Úpr~r*rrr Ú appendtofiles r˜cCs¨d}tdkrDtd}tj |¡r>t|ƒD]}| d¡r(|}q(qztSn6td}tj |¡rvt|ƒD]}| d¡r`|}q`ntS|dkr†tS|| d¡d}|d kr¤d }|S) Nrnrz/keybindings.tmuxzset -g prefix z /keybindingszescape ú^rú`r}) rrrr"r#r%rsÚDEF_ESCÚfind)Úliner"r†Úescrrr rbs(      rbcCs4| ¡r0ttjdƒ}tjdd|g|d| ¡dS)Nrz byobu-ctrl-ar)Ústdout)Úisalphar%rÚdevnullr(r)r')r„Znullfrrr Ú setesckey9s r¢c Csftdtƒdd}ttdƒƒ}t|tdƒdftdƒdtffdd }t|td ƒdd ƒ}|j|d d dd d|j|dd dd| |dd¡| d¡d}|r&|  ¡}|dkr |  ¡}t |ƒdkrÎ|  |d¡|dksÞ|dkrè|  t ¡zt|  ¡ƒ} |  t ¡Wntk rd} YnXq”d }q”| ¡| |¡} | dkrbt|  ¡ƒtƒ| dkrbd SdS)Nr,r)rWr9zEscape key: ctrl-r‹rŒrQrRr>r;r=r)rrrr)rr@)rr^ZTIMERrú\Zfoor)ZEntryrbrŽrBrDrErFrGZsetTimerÚrunÚvalueÚlenÚsetr›r3rZ popWindowrHr¢r+) rJrKržZesclrNrOZloopZwhichr‡Zdummyrcrrr ÚchgescAs> $          r¨cCsjtj td¡rdSz&tdtƒD]}d|kr"WdSq"Wntk rPYdSXtj dt¡rfdSdS)Nz/disable-autolaunchrz %s/.profilez byobu-launchrz/etc/profile.d/Z97-%s.sh)rr"r#rr%r rÚPKG)rrrr Ú autolaunchgsrªcCs¸tƒ}tƒ}| ddtdƒ¡| tdƒ¡tƒ}d}|dkr¢t|||ƒ}|dkr^t||ƒ}q6|dkrrt||ƒ}q6|dkr†t ||ƒ}q6|dkr6t |||ƒ}tƒ}q6|  ¡t   d¡d S) z$This is the main loop of our utilityrrzByobu Configuration Menuz6 between elements | selects | exitsr^r,r<r=N)r4Z SnackScreenZ drawRootTextrBZ pushHelpLinerªrPrdr‘r¨r”Zfinishrr)rKrJrLÚtagrrr Úmainus&     r¬Ú__main__)5Z __future__rrrÚos.pathÚtimeÚstringr(ÚgettextÚglobr Zsnackrr©Úgetenvr r rrrZBYOBU_SOCKETDIRrrpr_r"r#r›ZRELOADr&rEÚordZhotkeysÚbindtextdomainÚ textdomainrBrr+r4rPrZrdr|r€rˆr‘r”r˜rbr¢r¨rªr¬Ú__name__rrrr Úst              $  &