+
    uj8i                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIHtHtHtHt Rt ! R R4      tR# )	    N	Namespace)datetime)close_notificationnotify)recording_notif_pathrecording_pathrecordings_diruser_config_pathzgpu-screen-recorderc                      a  ] tR t^t o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lR lt	V 3R lt
RtV tR# )Commandc                $   < V ^8  d   QhRS[ RR/# )   argsreturnNr   )format__classdict__s   "A/usr/lib/python3.14/site-packages/caelestia/subcommands/record.py__annotate__Command.__annotate__   s      Y 4     c                    Wn         R # )Nr   )selfr   s   &&r   __init__Command.__init__   s    	r   c                   < V ^8  d   QhRR/# r   r   N )r   r   s   "r   r   r      s      T r   c                   V P                   P                  '       d1   \        P                  ! R RR\        .\        P
                  R7       R# V P                  4       '       d   V P                  4        R# V P                  4        R# )pkillz-USR2-fstdoutN)	r   pause
subprocessrunRECORDERDEVNULLproc_runningstopstartr   s   &r   r'   Command.run   sM    99???NNGWdH=jFXFXY  IIKJJLr   c                    < V ^8  d   QhRS[ /# )r   r   )bool)r   r   s   "r   r   r      s     ^ ^d ^r   c                t    \         P                  ! R \        .\         P                  R7      P                  ^ 8H  # )pidofr#   )r&   r'   r(   r)   
returncoder-   s   &r   r*   Command.proc_running   s*    ~~w1*:L:LMXX\]]]r   c                h   < V ^8  d   QhRS[ S[S[S[S[3,          RS[ S[S[S[S[3,          RS[/# )r   abr   )tupleintr0   )r   r   s   "r   r   r       sD     g gE#sC"45 g%S#s@R:S gX\ gr   c                :   V^ ,          V^ ,          V^,          ,           8  ;'       dt    V^ ,          V^,          ,           V^ ,          8  ;'       dK    V^,          V^,          V^,          ,           8  ;'       d"    V^,          V^,          ,           V^,          8  # )r   r   )r   r6   r7   s   &&&r   
intersectsCommand.intersects    s~    tadQqTk!ffadQqTkAaD&8ffQqTAaD1Q4K=OffTUVWTX[\]^[_T_bcdebfTffr   c                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   #   s     7 7t 7r   c           	        R .p\         P                  ! \        P                  ! . R O4      4      pV P                  P
                  '       Ed0   V P                  P
                  R8X  d   \        P                  ! . R!ORR7      pM$V P                  P
                  P                  4       pVRRV.,          p\        P                  ! RV4      pV'       g   \        RV 24      h\        \        VP                  4       4      w  rVrxWxWV3p	^ p
V FZ  pV P                  VR	,          VR
,          VR,          VR,          3V	4      '       g   K=  \        VR,          4      p\        W4      p
K\  	  VR\!        V
4      .,          pME\#        R V 4       4      pV'       d,   WR,          R\!        \        VR,          4      4      .,          pV P                  P$                  '       d   VRR.,          p \         P                  ! \&        P(                  ! 4       4      pRV9   d%   RVR,          9   d   WR,          R,          ,          p\0        P2                  P5                  RRR7       \        P6                  ! \8        .TORN\!        \0        4      NRR7      p\;        RRR4      p\<        P>                  ! T4        TPA                  ^4      ^ 8w  dC   \C        T4       \;        RRRPE                  TP                  4       RTPF                   24       R# R#   \         P*                  \,        3 d     L\.         d   p\        RT 24      hRp?ii ; i  \        PH                   d     R# i ; i)"z-wslurpr"   T)textregionz-regionz(\d+)x(\d+)\+(\d+)\+(\d+)zInvalid region: xywidthheightrefreshRatec              3   F   "   T F  qR ,          '       g   K  Vx  K  	  R# 5i)focusedNr   ).0monitors   & r   	<genexpr> Command.start.<locals>.<genexpr>;   s     "Y(wiFXFX77(s   !
!namez-adefault_outputrecord	extraArgsz5Config option 'record.extraArgs' should be an array: N)parentsexist_okz-ostart_new_sessionz-pzRecording startedzRecording...zRecording failedz9An error occurred attempting to start recorder. Command ` z` failed with exit code )hyprctlmonitorsz-j)r?   r"   z%wx%h+%x+%y)%jsonloadsr&   check_outputr   rA   striprematch
ValueErrormapr9   groupsr;   roundmaxstrnextsoundr   	read_textJSONDecodeErrorFileNotFoundError	TypeErrorr	   parentmkdirPopenr(   r   r   
write_textwaitr   joinr3   TimeoutExpired)r   r   rW   rA   mwhrB   rC   rmax_rrrJ   rrfocused_monitorconfigeprocnotifs   &                 r   r,   Command.start#   s   v::j556STU99yy7*#001OVZ[))//1Xy&11D5v>A #3F8!<==S!((*-JA!a
AF#??GCL'#,@PRYZbRc#dfghhw}56B _F $ T3v;''D""Y("YYO0$E/R_B`<a8bcc99???T+,,D	ZZZ 0 : : <=F6!kVH5E&Ex(55 	##D4#@ LD L$ LN8K L`det0.A''.		yy|q "5)&  # 344LT__L]_ ! $$&78 	 	ZTUVTWXYY	Z" (( 		s8   )AL 2AM	 M)M2M3MM	M"!M"c                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   \   s     - -d -r   c           
     J   \         P                  ! R R\        .\         P                  R7       V P	                  4       '       d   \
        P                  ! R4       K.  \        R\        P                  ! 4       P                  R4       R2,          p\        P                  ! RRR7       \        P                  ! \        V4        \        \         P"                  ! 4       4       \'        R	R
RRRV 24      pVR8X  d   \         P(                  ! RRV.RR7       R# VR8X  d\   \         P                  ! RRRRRRRV 2R.4      pVP*                  ^ 8w  d(   \         P(                  ! RRVP,                  .RR7       R# R# VR8X  d   VP/                  4        R# R#   \$         d     Li ; i)r!   r"   r#   g?
recording_z%Y%m%d_%H-%M-%Sz.mp4T)rR   rQ   z--action=watch=Watchz--action=open=Openz--action=delete=DeletezRecording stoppedzRecording saved in watchapp2unitz-OrS   openz	dbus-sendz	--sessionz#--dest=org.freedesktop.FileManager1z--type=method_callz/org/freedesktop/FileManager1z&org.freedesktop.FileManager1.ShowItemszarray:string:file://zstring:deleteN)r&   r'   r(   r)   r*   timesleepr
   r   nowstrftimerk   shutilmover	   r   r   rf   IOErrorr   rl   r3   rj   unlink)r   new_pathactionps   &   r   r+   Command.stop\   sn   x09K9KL !!JJsO "j1H1HIZ1[0\\`$aadD9NH-	3==?@ " $!(,
 Wj$9TRv9(3<*8*5	A ||q   *dHOO!DX\] !xOO  9  		s   F F"!F"c                &   < V ^8  d   Qh/ S[ ;R&   # )r   r   r   )r   r   s   "r   r   r      s     
O r   r   N)__name__
__module____qualname____firstlineno__r   r'   r*   r;   r,   r+   __annotate_func____static_attributes____classdictcell__)r   s   @r   r   r      sN       ^ ^g g7 7r- -[  r   r   )rX   r\   r   r&   r   argparser   r   caelestia.utils.notifyr   r   caelestia.utils.pathsr   r	   r
   r   r(   r   r   r   r   <module>r      s4     	      = h h z zr   