mò
Ð&òCc           @   s   d  k  Td f  d „  ƒ  YZ d S(   (   t   *t
   stxinstallc           B   s†   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   sQ  t  d d d d d ƒ } t d d d d	 ƒ a t i t ƒ t d
 d d d d ƒ a t i t ƒ t i	 d ƒ t i
 |  i ƒ t d d d d d ƒ a t i t ƒ t i	 d ƒ t i
 |  i ƒ t d d d d d ƒ a t i t ƒ t i	 d ƒ t i
 |  i ƒ t d d d d ƒ a t i d ƒ t i t ƒ t i ƒ  t d d d d ƒ a t d d d d d ƒ a t d d d d d ƒ a t d d d d d ƒ a t i
 |  i ƒ t i t ƒ t i	 d ƒ t d  d! d d" d# ƒ a t i t ƒ t i
 |  i  ƒ t i	 d# ƒ t i! ƒ  t i" t# ƒ t d  d$ d d" d% ƒ a$ t$ i t ƒ t$ i
 |  i% ƒ t$ i	 d% ƒ t$ i" t# ƒ t d  d& d d" d' ƒ a& t& i t ƒ t& i
 |  i  ƒ t& i	 d' ƒ t& i" t# ƒ t i d( ƒ t i	 d ƒ t |  i' d) <t i ƒ  t i d* ƒ t i	 d ƒ t |  i' d+ <t i ƒ  t d d d, d d- ƒ a( t) d. d/ d0 d" d1 ƒ a* t) d. d	 d0 d" d2 ƒ a+ t) d. d3 d0 d" d4 ƒ a, t- d5 d6 d d" d7 ƒ } | i/ ƒ  | i t0 ƒ | i d8 ƒ | i	 d7 ƒ t d5 d9 d: d; d< ƒ } t2 d5 d9 d: d= ƒ a3 t4 d> d? d@ dA ƒ a5 t5 i6 t5 i7 ƒ t5 i8 dB ƒ t5 i ƒ  t3 i t9 ƒ t3 i" t: ƒ t3 i ƒ  | i d ƒ | i t; ƒ | i	 d< ƒ | i ƒ  t) d. dC d0 d" dD ƒ a< t( i d* ƒ t( i	 d- ƒ t( i ƒ  t d d d d dE ƒ a= t> d5 dF d d ƒ a? t? i/ ƒ  t? i@ dG ƒ t? i tA ƒ t d5 d dH d dI ƒ aB tB i t ƒ tB i t ƒ tB i	 dI ƒ tB i
 |  iC ƒ t d d$ dJ dK dL ƒ aD tD i/ ƒ  tD i d( ƒ tD i	 dL ƒ tD i ƒ  t= i d* ƒ t= i	 dE ƒ t= i ƒ  t d d d d dM ƒ aE tF dN d  dO d dP ƒ } | i	 dP ƒ tF dN d& dO d dQ ƒ } | i	 dQ ƒ tF dN d dO d dR ƒ } | i	 dR ƒ tF dN dS dO d dT ƒ } | i	 dT ƒ tF dN d/ dO d dU ƒ } | i	 dU ƒ tF dN d dO d dR ƒ } | i	 dR ƒ tE i d ƒ tE i	 dM ƒ tE i ƒ  t d dO d dN dV ƒ aK tK i dW ƒ tK iL dX ƒ tK i	 dV ƒ tK i ƒ  t i t; ƒ | i	 d ƒ | i ƒ  | S(Y   Niu  iŠ   iv  ià  s   STX Installeri   id   i‘   iT  i&  iÂ  iK   i   t   NextiÖ  t   Previoust   Canceli    iÿÿÿÿi\   i   i    iY  iÑ  s¼   Welcome to the STX Installer! This program will install STX to your computer's hard drive. Throughout the installation process help will be displayed in the box on the left of this window.iª   i¾   s;   Please select the type of installation you wish to perform:i	  i´   s   Launch Partitioning Tooli¯   iÃ   i   s   Custom installi×   s   Full disk installië   s   Free space installi   t   typei•   t   welcomeiÒ  sˆ   Select the partitions you would like STX to use. You can change your partitions by launching the partitioning tool on the previous page.i  i;  i^  s   Root partition: s   Home partition: im  s   Swap partition: i¥   i¤  s   Preserve home partitioni   i¹   iÌ  i}   s   Partitions:in   i§   i»   iÇ  ij   i   i†  s   Format: s½   This is your last chance to change your options. If you do wish to change them press the "Previous" button. When you are certain that they are correct press the "Begin Installation" button.iÿ   iˆ   iÈ   s   Begin Installationi®  i#   s.   Status: Waiting for the installation to begin.s®   STX is now installed on your computer. As the last stage in the installation you need to create a user account and set the root password (root is the administration account).i'  i–   s	   Username:s	   Password:s   Confirm Password:iÍ   s
   Full Name:s   Root Password:sU   The installation is now complete! Restart your computer to enter your new STX system.i±   i   (M   t	   Fl_Windowt   o_1_0t   Fl_Text_Displayt   txtHelpt   boxt   FL_THIN_DOWN_BOXt	   Fl_Buttont   btnNextt   FL_THIN_UP_BOXt   labelt   callbackt   selft   nextt   btnPrevt   prevt	   btnCancelt   quitt   Fl_Groupt   grpLogot   alignt   FL_BORDER_BOXt   endt	   Fl_Wizardt   wzdMaint
   grpWelcomet   grpTypet   btnPartitiont   launch_partitionert   Fl_Round_Buttont	   radCustomt   down_boxt   FL_ROUND_DOWN_BOXt   enable_partitionert   setonlyR   t   FL_RADIO_BUTTONt   radFullt   disable_partitionert   radFreet   pagedictt   grpSelPartst	   Fl_Choicet   chcRoott   chcHomet   chcSwapt   Fl_Check_Buttont   o_4_3t
   deactivatet   FL_DOWN_BOXt   o_4_4t	   Fl_Scrollt   scrPartt   Fl_Packt   pckPartt	   resizablet   thist   spacingt   FL_THIN_DOWN_FRAMEt   FL_VERTICALt   FL_FLAT_BOXt	   chcFormatt
   grpInstallt   Fl_Progresst   progresst   selection_colort   FL_PLASTIC_UP_BOXt
   btnInstallt   installt	   grpStatust   grpUserst   Fl_Inputt   o_4_0t   o_4_1t   o_4_2t   o_4_5t   grpFinishedt	   labelsize(   R   R4   R7   RP   RO   R   RM   RN   (    (    t$   /usr/share/stxinstall/fltkinstall.pyt   make_window   s                             















c         C   sç   t  i ƒ  t d j oa |  i ƒ  t i ƒ  t i ƒ  GHt i ƒ  d j p t	 i ƒ  d j o t  i ƒ  t d 7a qÏ nX t d j o t
 i ƒ  n= t d j o t
 i d ƒ n t d j o |  i | ƒ n t d 7a |  i ƒ  d  S(   Ni    i   i   t   Finishi   (   R   R   t   currentPageR   t   populate_partitionsR   t   activateR*   t   valueR,   R   R5   R   R   t   buttont	   load_help(   R   RZ   (    (    RS   R   ¼   s"     


&

c         C   sX   t  i ƒ  t d j o t i ƒ  n t d j o t i ƒ  n t d 8a |  i ƒ  d  S(   Ni   i   (	   R   R   RV   R   R5   R   RX   R   R[   (   R   RZ   (    (    RS   R   Ñ   s     

c         C   s9   |  i o |  i i ƒ  |  i i ƒ  n t i d ƒ d  S(   Ni    (   R   t   parsert   stopt   joint   syst   exit(   R   RZ   (    (    RS   R   Ü   s    
c         C   s7  d  k  a  d  k a d  k a d  |  _ d k l } d |  _ t	 ƒ  |  _
 t i ƒ  d j o t d ƒ d  Sn |  i ƒ  |  _ t |  i d ƒ } t i | ƒ t |  i d ƒ } t i | ƒ | ƒ  |  _ |  i i |  i d ƒ t d ƒ } t i | ƒ t i d	 d ƒ d a t i ƒ  |  i ƒ  |  i i  t  i! ƒ d  S(
   N(   s   SafeConfigParsers   ./i    s5   Sorry, you need root permissions to use this program.s   stx.pngs
   smiley.pngs	   help.confiè  i   ("   R_   t   ost   ret   NoneR   R\   t   ConfigParsert   SafeConfigParsert   basedirt   dictR-   t   geteuidt
   fl_messageRT   t   winMaint   Fl_PNG_Imaget   imgLogoR   t   imaget	   imgSmileyRQ   t   helpt   readt   Fl_Text_Buffert   bufHelpR
   t   buffert	   wrap_modeRV   R   R5   R[   t   showt   argv(   R   Re   Rr   Rn   Rl   (    (    RS   t   __init__ã   s.     		


c         C   sR   y |  i i t t ƒ d ƒ } Wn d } n Xt i ƒ  } | i	 d d | ƒ d  S(   Nt   texts*   Sorry, no help is available for this page.i    iè  (
   R   Ro   t   gett   strRV   t   helppageR
   Rs   Rr   t   replace(   R   R{   Rr   (    (    RS   R[     s     
c         C   s   t  i d ƒ d  S(   Nt   partitionmorpher(   Ra   t   popen(   R   RZ   (    (    RS   R"     s    c         C   s   t  i ƒ  d  S(   N(   R!   RX   (   R   RZ   (    (    RS   R'     s    c         C   s   t  i ƒ  d  S(   N(   R!   R5   (   R   RZ   (    (    RS   R+     s    c         C   sÌ  g  |  _ d g |  _ d g |  _ d d d g |  _ g  |  _ g  }	 t i ƒ  t	 i
 |  i d ƒ t i
 |  i d ƒ t i
 |  i d ƒ t i d ƒ t i d ƒ x |  i D] }
 t i |
 ƒ q© Wt i d ƒ } | i ƒ  } t i d	 ƒ } d  } t } t } xˆ| D]€} | i | ƒ } t  | ƒ d
 j o qn | d
 } t i d | ƒ i! ƒ  } t# | ƒ d d } t$ t% | d ƒ ƒ } | d j o qn t i d | d  d | d ƒ i! ƒ  } t# | d ƒ } | d  d j o
 d } n d } | t$ t) | d d !ƒ d ƒ d | d d | d | d 7} | d j o. |  i i* | ƒ t	 i | ƒ t i | ƒ n/ | d j o! |  i i* | ƒ t i | ƒ n | | d  j oŠ | d  } t i d | d  ƒ i! ƒ  } t# | ƒ d d } t% | d ƒ } t, d
 d
 d d ƒ } | i. t/ ƒ | i0 d ƒ t i | ƒ n | | t i1 ƒ  d  } t# | ƒ } | d! j  o
 d! } n | d j p | d j o) t3 d
 d
 | d | ƒ } | i5 d" ƒ n t6 d
 d
 | d | ƒ } | i7 t8 ƒ | i9 d" ƒ | i
 |  i: | ƒ | d j ok | i; t< d
 d# d
 ƒ ƒ | i= t< d
 d$ d
 ƒ ƒ | i d% ƒ d& }
 | p | i> | d' ƒ t? } q5nË | d j o… | i; t< d
 d
 d# ƒ ƒ | i= t< d
 d
 d$ ƒ ƒ d( }
 | i d) ƒ | i d* ƒ | i d+ ƒ | p | i> | d, ƒ t? } q5n9 | i; t< d- d
 d
 ƒ ƒ | i= t< d. d
 d
 ƒ ƒ d/ }
 |	 i* d0 | d1 |
 ƒ | i@ |	 d ƒ |  i i* | ƒ | i |  i d ƒ qWt	 iA d
 ƒ t iA d
 ƒ t iA t  |  i ƒ d2 ƒ t iA d
 ƒ d  S(3   Nt   RootRc   t   ext3t   ext2t   reiserfst   Homet   Swaps   cat /proc/diskstatss   [hs]d.[0-9]+i    s   sfdisk -sn /dev/f1024.0i   i   s   0.0s   sfdisk -cn /dev/i   t    i   t   sds   External Disk s   Disk i`   s   ; Partition s    (s   , size: s   GiB)iƒ   i‚   iÿÿÿÿi   f0.5iU   i
   iÈ   iÿ   s   Use As Swaps
   Linux Swaps    (Swap)t   Linuxs   Use As Roots   Use As Homes   Use As Boths    (Root+Home)id   i~   s	   Non-Linuxs   Size: s   GB | Type: i   (B   R   t
   rootlookupt
   homelookupt
   swaplookupt   formatlookupt   partbuttonst   tooltipsR;   t   clearR0   R   t   chcPart_selectedR1   R2   t   addt   formatRB   Ra   R~   t   disklistt	   readlinest
   partitionsRb   t   compilet   diskPatternRc   t   prevDiskt   Falset   rootSett   swapSett	   partitiont   findallt   lent   readlinet   partSizet   intRz   t   roundt   partSizestrt
   partFormatt   partitionNamet   ordt   appendt   diskSizeR:   t   packR   t   FL_HORIZONTALR>   t   wt   widtht   Fl_Menu_Buttont   btnPartt   textsizeR   R   RG   RR   t   btnPart_selectedt   colort   fl_rgb_colorRF   t
   copy_labelt   Truet   tooltipRY   (   R   R’   R¤   RŸ   R–   R«   Rš   R¢   R§   R   R‘   R£   R™   R”   R­   R›   R—   R¨   (    (    RS   RW     s¼    		

  
)
A

c         C   sY  | i ƒ  t d d d ƒ j p | i ƒ  t d d d ƒ j od| i ƒ  d j o^ | i | d ƒ xJ t d t |  i	 ƒ ƒ D], } |  i	 | | j o t i | ƒ Pq{ q{ Wn | i ƒ  d j o^ | i | d ƒ xJ t d t |  i ƒ ƒ D], } |  i | | j o t i | ƒ Pqì qì Wn | i ƒ  d j ok | i | d ƒ xW t d t |  i	 ƒ ƒ D]9 } |  i	 | | j o t i | ƒ t i d ƒ Pq]q]WqUn´ | i ƒ  t d d d ƒ j p | i ƒ  t d d d ƒ j ou | i ƒ  d j o^ | i | d	 ƒ xJ t d t |  i ƒ ƒ D], } |  i | | j o t i | ƒ PqqWqUn d  S(
   Ni    iÈ   iÿ   s    (Root)i   s    (Home)i   s    (Root+Home)s    (Swap)(   RZ   R°   R±   RY   R   R›   t   rangeR   R   Rˆ   t   iR0   R‰   R1   RŠ   R2   (   R   RZ   R›   R¶   (    (    RS   R¯   Š  s>    >   > c         C   sæ   t  i ƒ  t i ƒ  t i ƒ  t i ƒ  t i ƒ  t i d ƒ d k l	 } | d |  i ƒ |  _ |  i t i ƒ  |  i i d <|  i t i ƒ  |  i i d <|  i t i ƒ  |  i i d <|  i t i ƒ  |  i i d <|  i i ƒ  d  S(   Ns!   Status: Beginning installation...(   s   Parsers
   install.shs   $ROOTs   $HOMEs   $SWAPs   $FORMAT(   RH   R5   R   R   RJ   RX   RE   R   t   shlexinstallt   ParserR   t   update_displayR\   Rˆ   R0   RY   t	   variablesR‰   R1   RŠ   R2   R‹   RB   t   start(   R   RZ   R¸   (    (    RS   RI   °  s    




c         C   sŽ   d  k  } | i d ƒ } | i | ƒ } | o\ | i ƒ  } t | d d !ƒ } t	 i
 | ƒ t i d | ƒ | d j o t i ƒ  qŠ n d  S(   Ns
   \(\d+\%\)$i   iþÿÿÿs   Status: id   (   Rb   R•   t	   progCheckt   searchRx   t	   progMatcht   groupt   progR    RE   RY   RJ   R   R   RX   (   R   Rx   R¼   Rb   R¾   RÀ   (    (    RS   R¹   Â  s    	c         C   sÿ   | d j o |  i | i ƒ  } nI | d j o |  i | i ƒ  } n% | d j o |  i | i ƒ  } n xŒ |  i D] } | i
 ƒ  t | ƒ  | j o^ | d j o4 t d j p t i ƒ  t i ƒ  d j o
 d } n | i
 | d | d ƒ qv qv Wd  S(   NR   Rƒ   R„   i   s	   Root+Homes    (t   )(   R   R   Rˆ   t   choiceRY   R›   R‰   RŠ   RŒ   RZ   R   R   R1   R0   (   R   RÂ   R   R›   RZ   (    (    RS   R   Ð  s    
 7
(   t   __name__t
   __module__RT   R   R   R   Rw   R[   R"   R'   R+   RW   R¯   RI   R¹   R   (    (    (    RS   R   	   s   	±					
				r	&		N(   t   fltkR   (   R   (    (    RS   t   ?   s   
