+
    Ki9  c                   s    ^ RI H t ^ RIHtHtHtHtHt ^ RIH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHtHt  ! R R]4      tR# )i    )gettext)DictIterableListTupleUnion)GdkGtk)BaseConfigBox)LogTextView)linuxsystem)gather_system_info_dict)get_log_contents)gtk_safe)is_esync_limit_setis_fsync_supportedis_installed_systemwidec                   sX  a a ] tR t^t oR]! R4      R]P                  P                  /R]! R4      R]/R]! R4      R]	/R]! R4      R]
/R]! R4      R]P                  RR/R]! R	4      R]P                  RR/R]! R
4      R]P                  P                  /R]! R4      R]P                  P                  /R]! R4      R]P                  P                  /.	tV 3R ltR tR tV3R lR lt]V3R lR l4       t]V3R lR l4       tV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )	SystemBoxnamezVulkan supportcallablezEsync supportzFsync supportzWine installedZ	GamescopeargsZMangohudZGamemodeZSteamz
In Flatpakc                s  < \         SV `  4        V P                  V P                  \	        R 4      4      RR^ 4       \
        P                  ! RR7      V n        V P                  P                  \
        P                  P                  \
        P                  P                  4       \
        P                  ! RR7      pVP                  4       P                  R4       VP                  V P                  4       V P                  VRR^ 4       \
        P                  ! \	        R4      \
        P                   P"                  RR7      pVP%                  RV P&                  4       V P                  VRR^ 4       V P                  V P                  \	        R4      4      RR^ 4       \
        P                  ! RR7      V n        V P(                  P                  \
        P                  P                  \
        P                  P                  4       \
        P                  ! RR7      pVP                  4       P                  R4       VP                  V P(                  4       V P                  VRR^ 4       \
        P                  ! \	        R	4      \
        P                   P"                  RR7      pVP%                  RV P*                  4       V P                  VRR^ 4       R
# )zSystem informationFT)visiblez
info-framezCopy system info to Clipboard)Zhalignr   ZclickedzLutris logszCopy logs to ClipboardN)Zsuper__init__Z
pack_startZget_section_label_r   ZScrolledWindowscrolled_windowZ
set_policyZ
PolicyTypeZ	AUTOMATICZFrameZget_style_contextZ	add_classaddZButtonZAlignZSTARTZconnecton_copy_clickedlog_scrolled_windowon_copy_log_clicked)selfZsysinfo_frameZbutton_copyZ	log_frameZbutton_log_copy	__class__s   &    B/usr/lib/python3.14/site-packages/lutris/gui/config/sysinfo_box.pyr   ZSystemBox.__init__(   s   ..q1E/FGPUWXY"11$?''(@(@#..BZBZ[		$/'')33LA$../tT15jj#B!CCIIOOeijIt';';<UE15..q/?@%PQR#&#5#5d#C   ++CNN,D,DcnnF^F^_IId+	##%//=d../	4q1**Q'?%@bfg	4+C+CDq9    c                s    V P                  4       pV P                  P                  V P                  V4      4       V P                  P                  V P                  4       4       R # N)	get_itemsr   r   get_gridr   get_log_view)r   items   & r    populateZSystemBox.populateF   sH       u!56  $$T%6%6%89r!   c                st    \         P                  ! 4       pVP                  \        4       4       \	        V4      # r"   )r   Z
TextBufferset_textr   r	   )r   Z
log_bufferr'   r    r%   ZSystemBox.get_log_viewK   s+    ^^%
,./:&&r!   c                s    < V ^8  d   QhRS[ /#    return)ZlistZformat__classdict__   "r    __annotate__SystemBox.__annotate__P   s      4 r!   c                s   V P                  4       pV Uu. uF  q"R,          VR,          3NK  	  pp\        4       pVP                  4        F5  w  rVVP                  V4       VP	                  VP                  4       4       K7  	  V# u upi )zAssembles a list of items to display; most items are name-value tuples
giving various bits of information, section headers appear also, as plain strings.r   available_text)get_featuresr   r&   appendZextend)r   Zfeaturesfr&   Zsystem_info_readableZsectionZ
dictionarys   &      r    r#   ZSystemBox.get_itemsP   s     $$&^f3g^fYZvYBR@S4T^f3g68#7#=#=#?GLL!LL))+, $@  4hs   Bc                s:   < V ^8  d   QhRS[ RS[P                  /# r+   r&   r,   )r   r   Gridr-   r/   r    r0   r1   ^   s       SXX r!   c           	     sv   \         P                  ! R^^R7      p^ pV  EF  p\        V\        4      '       dj   \         P                  ! R^ ^ ^R7      pVP                  R\        V4      ,          4       V^ 8X  d   VP                  ^ 4       VP                  V^ V^^4       MVw  rV\         P                  ! VR,           R^ ^ ^R7      pVP                  V^ V^^4       \         P                  ! R^ RR7      pVP                  R\        V4      ,          4       VP                  V^V^^4       V^,          pEK  	  V# )	zConstructs a Gtk.Grid containing labels for each item given; each item
may be a name-value tuple, producing two labels, or just a string, giving one
that covers two columns; this later is used for section headers.T)r   Zrow_spacingZmargin)r   xalignyalignZ
margin_topz<b>[%s]</b>Z:)r   r8   r9   Zmargin_right)r   r8   Z
selectablez	<b>%s</b>)	r   r7   
isinstancestrZLabelZ
set_markupr   Zset_margin_topZattach)	r&   ZgridZrowitemZheader_labelr   textZ
name_labelZmarkup_labels	   &        r    r$   ZSystemBox.get_grid]   s   
 xx!B?D$$$"yyaVXY''(FG!8''*L!S!Q7!
 YYtcz4RSbde
J315"yyaDQ''htn(DEL!S!Q71HC   r!   c                s&   < V ^8  d   QhRS[ RS[/# r6   )r   r;   r-   r/   r    r0   r1   w   s     	  	  	 S 	 r!   c                s    . pV  FJ  p\        V\        4      '       d   VP                  RV R24       K0  Vw  r4VP                  V RV 24       KL  	  RP                  V4      # )zLConstructs text for the clipboard, given the same items as get_grid() takessZ[Z]z: Z
)r:   r;   r4   Zjoin)r&   Zlinesr<   r   r=   s   &    r    get_textZSystemBox.get_textv   sc     D$$$qa[)!
vRv./  yyr!   c                sF   < V ^8  d   QhRS[ S[S[S[3,          ,          /# r*   )r   r   r;   r-   r/   r    r0   r1      s$     D Dd4S>2 Dr!   c                s   aa \        R4      o\        R4      oVV3R lpV P                   Uu. uF
  q!! V4      NK  	  up# u upi )zProvides a list of features that may be present in your system; each
is given as a dict, which hase 'name' and 'available_text' keys.ZYESZNOc                 s   < V P                  4       pV R ,          pV P                  RR4      p\        V! V!  4      VR&   VR,          '       d   SMSVR&   V# )r   r   Zavailabilityr2    )ZcopygetZbool)ZfeatureZresultZfuncr   noyess   &   r    eval_featureZ,SystemBox.get_features.<locals>.eval_feature   sW    \\^F:&D;;vr*D%)$+%6F>".4^.D.Ds"F#$Mr!   )r   features_definitions)r   rC   r5   rA   rB   s   &  @@r    r3   ZSystemBox.get_features   sB     htW	 *.)B)BC)BAQ)BCCCs   Ac                   < V ^8  d   QhRR/# r+   r,   Nr?   r-   r/   r    r0   r1      s     - -$ -r!   c                s    V P                  4       pV P                  V4      p\        P                  P	                  \
        P                  4      pVP                  VP                  4       R4       R# i   Ni)	r#   r>   r   	Clipboardr@   r   SELECTION_CLIPBOARDr)   strip)r   _widgetr&   r=   	clipboards   &&   r    r   ZSystemBox.on_copy_clicked   sL     }}U#MM%%c&=&=>	4::<,r!   c                rE   rF   r?   r-   r/   r    r0   r1      s     - -d -r!   c                s    \        4       p\        P                  P                  \        P
                  4      pVP                  VP                  4       R4       R# rG   )r   r   rH   r@   r   rI   r)   rJ   )r   rK   r=   rL   s   &&  r    r   ZSystemBox.on_copy_log_clicked   s:    !MM%%c&=&=>	4::<,r!   )r   r   )Z	gamescope)Zmangohud)Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r
   ZLINUX_SYSTEMZis_vulkan_supportedr   r   r   r   Zcan_find_executableZgamemode_availableZ	has_steamZ
is_flatpakrD   r   r(   r%   r#   Zstaticmethodr$   r>   r3   r   r   Z__static_attributes__Z__classdictcell__Z__classcell__)r   r.   s   @@r    r   r      sh     A&'**>>	

 Ao&*	

 Ao&*	

 A&'/	
 
;V-G-GQ_`	:
F,F,FP]^	:
E,>,>,Q,QR	7Z););)E)EF	<*e.@.@.K.KL+0:<:
'
   0 	  	 D D - -- - -r!   r   N)r    r   Ztypingr   r   r   r   r   Zgi.repositoryr   r   Z!lutris.gui.config.base_config_boxr   Z lutris.gui.widgets.log_text_viewr	   Zlutris.utilr
   r   Zlutris.util.linuxr   Zlutris.util.logr   Zlutris.util.stringsr   Zlutris.util.wine.winer   r   r   r   r?   r!   r    <module>rM      s7      5 5 " ; 8 % 5 , ( a aM- M-r!   